
如题,有没什么好的办法?
题外话,wireguard 不是运行在链路层的么,理论上,它是不是可以做到链路层的丢包重发?然后让运行在上层的网络层无感知?还是说它本来就是支持的?有什么特殊设置?我记得几年之前 wireguard 即使延时很高(几十秒的都出现过)但是 ping 的时候不会出现丢包的。不知道是不是跨省跨网的 qos 增强了,现在 wireguard 隧道里 ping 丢包特别严重。
1 loveyu 36 天前 via Android udp2tcp |
4 billlee 36 天前 Wireguard 做丢包重发并不能让上层无感知,因为 wireguard 感知到丢包的时候,上层也已经感知到丢包了。两层都做重发只会发一堆重复的包,反而引起问题。 另外,wireguard 运行在网络层。 再另外,网络层也从来都不去做感知丢包这件事。负责丢包重传的是传输层的 TCP. |
6 surfwave 36 天前 wireguard 是 udp ,包发了不管的。有流控,重连这些的是 tcp 。 |
7 Andim 36 天前 via iPhone 也许 OPENVPN 更好用一点 他有 TCP 模式 |
8 Tianao 36 天前 楼主需要的是 FEC (Forward Error Correction), underlay 事后重传解决不了 overlay 的体验问题。 |
9 Danswerme 36 天前 可以考虑使用云服务器作为中转节点,我之前尝试通过 IPv6 使用 Wireguard 进行虚拟组网,两个路由器位于同一城市,但运营商不同,分别是联通和电信。 在直接使用 UDP 连接时,丢包率约为 20%;引入 udp2raw 后下降至约 8% ,连接稳定性依然不理想。 后来我使用阿里云作为中转,延迟由 12ms 上升到了 60ms ,但丢包问题完全消失了。 |
10 zhcode 36 天前 可以换 easytier 试试,可以通过 kcp 或 quic 代理 |
11 irrigate2554 36 天前 现在跨省跨运营商真是不好搞,整个多线 VPS 中转吧,哪怕是国外 VPS 直连的话可能都更好。 |
13 NealLason 36 天前 把 wireguard 网卡的 mtu 改成 512 试试。 |
14 NewYear 36 天前 如果有多个 tcp 端口同时连,预测丢包,自动重发包会好一些(并切断之前的 tcp ) |