Comments (9)
经过一番实验,最终选取了 CUBIC 协议作为 UDP 传输的拥塞控制算法。没有选择 BBR 的主要原因是,BBR 使用 RTT 作为主要的输入参数,而 mieru 中 UDP 的数据包是通过间歇性轮询来处理的,这个间歇性轮询的时间间隔对 RTT 有显著的影响,导致 BBR 始终无法处于稳态。相比之下,使用系统中断来处理的 TCP 包有比较稳定的 RTT,因此 BBR 算法可以优化得出 RTT 乘以带宽的最大值。
在现代拥塞控制算法中,CUBIC 是实现极为简单,且不依赖 RTT 的算法。在实验环境中,使用 CUBIC 的 UDP 传输极限速率可以做到 TCP 的一半(瓶颈是 CPU 不是带宽),在移动网络等丢包严重的恶劣工况下,UDP 可以通过较多的重发获得比 TCP 更快的速度。
from mieru.
另外作者是否有计划在clash meta中pr以支持mieru?
from mieru.
BBR 肯定会做的,现在 UDP 代理协议的速度太慢了。
我对 clash meta 不熟。VPN 软件如果可以直接连 socks5 代理,就不需要什么额外的支持了,例如 netch 就可以直接配合 mieru 使用。如果 VPN 软件没有办法接 socks5 后端,才需要通过插件等方式支持其他的翻墙协议吧。关于这方面,能否提供更多关于 clash meta 的信息?
from mieru.
@moranno 你的想法可以通过代码实现出来么?如果可以,我们讨论一下,实现相关的功能,让大家获益。如果不行,与我一个人探讨,帮助不大。
from mieru.
今天部署了一下,速度和稳定性应该没问题。就是不支持full cone NAT吗。打不了游戏呀
from mieru.
今天部署了一下,速度和稳定性应该没问题。就是不支持full cone NAT吗。打不了游戏呀
看udp数据包的结构没有包含地址信息,应该不支持full cone
from mieru.
@longxx mieru 不支持 full cone NAT
当初设计协议的时候,着重考虑了安全性和防探测。个人认为支持 full cone NAT 会损害代理服务器的隐匿性。
from mieru.
@moranno 根据现在 CPU profile 数据来看,基于 KCP 协议的 UDP ARQ 实现,即便使用 BBR 拥堵算法,在理论速度上也不太可能超过 TCP,但是当丢包比较多的时候,BBR 可能会有优势。我的想法是,先做一个 benchmark 合理评估当前 TCP 和 UDP 在各种丢包场景下的速度,然后再实现 BBR,看看 BBR 对速度的提升有多大。这个项目如果不出意外会在 1.10 版本完成。
from mieru.
不懂代码,看本项目是go语言,meta也是go,应该好移植吧?
https://t.me/MetaKernel 这是meta群的链接,挺活跃的,进群问问,看其他人有没有想法,之前刚添加了tuic。
from mieru.
Related Issues (20)
- TUN list HOT 9
- Instructions for full uninstalling HOT 11
- add user CLI command HOT 1
- Reduce ping in Mita HOT 6
- Mita Server Support Large-Scale Users HOT 7
- Question about updating mita HOT 1
- Use BBR for Congestion Control HOT 1
- Android app HOT 3
- Unable to establish a stable connection through tunnel HOT 1
- [Feature] Specify IP address on the server side HOT 5
- Reply Attack? HOT 2
- Add a mieru CLI to check connectivity
- Feature Request: check if port is available HOT 1
- Feature Request: port forwarding HOT 3
- Problem in windows 11 HOT 3
- mieru client is not running: connection refused HOT 6
- Occasionally proxy server doesn't accept socks5 request
- Version 3.1.0 detected a virus HOT 4
- 希望强化test功能 HOT 1
- DNS problem in android version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mieru.