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