为了解决 UDP 限速,目前比较常用的做法是将 UDP 流量伪装成 TCP 流量。
我就想,能否不伪装,继续用 UDP 规避限速?
或许可以,我记得有人提到过,UDP 被限速后只要重新连接,速度就会重新恢复。
这么看来,只要四元组的其中一项发生变化就能打破限速。
于是我造了个试验品,作用类似于 wangyu 的 udp2raw (以及还有 Phantun ),只不过这个试验品全程保持 UDP ,每隔一段时间就自动更换端口。而且是客户端主动更换,无须通知服务器。即使服务器那边使用固定端口,客户端也会建立新的连接连过去。
同时,服务器端也支持同时监听多个端口(可以指定一个范围),让客户端新建连接时可以随机选择目标端口。
试验品在这:
https://github.com/cnbatch/udphop目前支持三大平台,并提供这三大平台的 x64 可执行文件:
FreeBSD
Windows
Linux
听说重灾区在中国移动,但因为我没开通中国移动的家宽,所以没法在中移动家宽网络内试验。
试过用广东移动的手机网来试验,iperf3 从广东电信家宽发送到广东移动手机(包括手机开启热点给笔记本电脑做测试),发现 UDP 直接被堵死了,收都收不到; UDP 从广东移动手机(及热点下的笔记本电脑)发往电信家宽倒是可以;至于 TCP ,双向畅通无阻。但这样就等于无法开展测试,因为 UDP 无法双向通信。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/898299
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.