对于无状态设备,我们便不必再纠结五元组连接的保持了 。但是UDP短期构造海量五元组的能力仍然会影响无状态设备包分类算法的正常运行 。基于包分类算法的优先级队列,缓存管理几乎也是通过五元组计算来完成的,UDP的特征将会使无状态设备对其做流量管控变得困难 。其结果就是,眼睁睁任凭UDP流量挤满各级队列缓存却没有办法将其精确识别出来,即便是BBR遇到了UDP流量,也只能自降pacing rate而兴叹 。
运营商对TCP更加友好,对UDP不友好,但却无力深度检测TCP连接的真实性 。
一个简单的例子就是将正常TCP数据的protocol字段改成UDP,丢包率大大增加了,甚至根本无法通信!
if (iph->protocol == IPPROTO_TCP) {iph->protocol = IPPROTO_UDP;ip_send_check(iph);udph->check = 0;} else if (iph->protocol == IPPROTO_UDP) {iph->protocol = IPPROTO_TCP;ip_send_check(iph);}
加速器原理加速器的原理很简单,就是UDP代理,主要难在两点,其一是怎么处理游戏客户端到加速器服务器之间的UDP连接,其二是怎么让游戏客户端去连接这个加速器(一般游戏客户端是没有设置代理服务器的功能的)
处理UDP处理UDP有两种思路,一种是协议套娃,将游戏的UDP包外面套一层TCP(UDP over TCP ),到了目的地再把TCP解包成UDP,最后在发送到游戏服务器,返回的数据包也做同样处理;另外一种是伪造TCP(FakeTCP),对UDP数据包加上伪造的TCP包头,让其看起来像是TCP协议,欺骗运营商 。
UDP over TCPUDP over TCP 或者 UDP in TCP都是一回事,就是把UDP协议封装到TCP协议里 。其缺点是会影响UDP传输的速率和实时性,因为TCP有可靠传输、拥塞控制、按序到达等特性,这些特性都是会牺牲速率和实时性且无法避免掉的:
- 如果网络很好不丢包,那么UDP in TCP方案会工作得很好;如果网路稍微有一点丢包,数据包的延迟会极大得增加 。(按序到达造成的副作用)
- 如果带宽充足,UDP in TCP方案也会工作得很好;如果UDP数据发送的数据一但超过了TCP的带宽,连接就会卡住一段时间,有时候会造成超过10秒的时间无法发送数据 。(可靠传输、拥塞控制造成的副作用)

文章插图
常见项目:
- https://github.com/mullvad/udp-over-tcp
- $R中的udp in tcp选项
- v2ray中的VMess协议也是支持ucp over tcp

文章插图
FakeTCP跟UDP over TCP方案相比的缺点是无法穿透TCP代理(包括反向TCP代理),比如Haproxy 。
常见项目:
- udp2raw:https://github.com/wangyu-/udp2raw
游戏客户端连接加速器SSTapSSTap全称SOCKSTap, 是一款使用虚拟网卡在网络层实现的转发工具 。SSTap能在网络层拦截全部连接并转发给HTTP、SOCKS4/5 。而无需对被代办的应用程序做任何修改或设置 。它能同时转发TCP、UDP数据包 。

文章插图
SSTap会在电脑中安装一个虚拟网卡,配合网络规则(比如哪些IP走这个虚拟网卡,哪些不走)

文章插图
然后在配置路由表中添加如下规则(cmd中netstat -nr可查看)
网络目标网络掩码网关接口跃点数0.0.0.00.0.0.010.198.75.6110.198.75.6020.0.0.0128.0.0.010.198.75.6110.198.75.60210.198.75.60即为上面设置的虚拟网卡的IP,如果网络规则设置的全局,那就是真全局(接管系统中所有程序的UDP/TCP流量),包括系统CMD命令都会被代理到,如下实测,当不开启SStap时,百度能ping通,开启时,全部超时(因为我的梯子屏蔽了百度)
C:Usersxxx>ping www.baidu.com正在 Ping www.a.shifen.com [110.242.68.4] 具有 32 字节的数据:来自 110.242.68.4 的回复: 字节=32 时间=36ms TTL=53来自 110.242.68.4 的回复: 字节=32 时间=36ms TTL=53来自 110.242.68.4 的回复: 字节=32 时间=36ms TTL=53来自 110.242.68.4 的回复: 字节=32 时间=36ms TTL=53?110.242.68.4 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位):最短 = 36ms,最长 = 36ms,平均 = 36ms?# 开启SStap之后ping百度C:Usersxxx>ping www.baidu.com?正在 Ping www.baidu.com [110.242.68.3] 具有 32 字节的数据:请求超时 。请求超时 。请求超时 。请求超时 。?110.242.68.3 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
- 2款中国手游排名大幅上升 中国手游游戏排行
- IP改编手游数创历年之最,行业迎转折点,腾讯游戏靠多场景探索求解
- 2021年你还能玩到的无内购武侠单机 2021年武侠单机游戏
- 颜值拍照游戏这五款不输旗舰 拍照与游戏兼顾的旗舰
- 打游戏比游戏手机还专业 手机专业打游戏
- 【游戏迷】原神: 绫华永冻队低配阵容详解新人玩家也能玩转的顶级阵容
- 十大网红PC端游戏 网红端游游戏
- 2021最好玩的十款PC游戏 2021好玩的PC游戏
- 互联网游戏企业第九城市抓住新救命稻... 第九城市游戏公司
- 【游戏迷】魔兽怀旧服:没削弱的穆鲁国服只有7个公会打过了?策划却没削弱难度!
