KusakabeShi/EtherGuard-VPN

弱质量网丢包和延迟不均

Opened this issue · 2 comments

您好,我在测试时候发现丢包比较严重。在延迟上有一些问题。5个节点3个在大陆国内,1个在日本东京,1个在新加坡。从上海到东京是68ms延迟,但是通过vpn的路径选择后延迟反而到达了89ms。还有就是丢包问题。vpn的网络在弱网络下明显比公网更容易丢包。是否可以添加一个kcp协议支持并添加向前纠错模式类似kcptun项目的解决方案?
valid_lft forever preferred_lft forever
4: EgNet100: <BROADCAST,UP,LOWER_UP> mtu 1404 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 4e:29:67:d2:00:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.76.100/24 brd 192.168.76.255 scope global EgNet100
valid_lft forever preferred_lft forever
inet6 fd95:71cb:a3df:e586::64/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a3df:64/64 scope link
valid_lft forever preferred_lft forever
root@iv-ycbkr2k29df80n2ez2df:# ping 192.168.76.3
PING 192.168.76.3 (192.168.76.3) 56(84) bytes of data.
64 bytes from 192.168.76.3: icmp_seq=1 ttl=64 time=90.1 ms
64 bytes from 192.168.76.3: icmp_seq=2 ttl=64 time=87.5 ms
64 bytes from 192.168.76.3: icmp_seq=3 ttl=64 time=87.2 ms
64 bytes from 192.168.76.3: icmp_seq=4 ttl=64 time=90.9 ms
64 bytes from 192.168.76.3: icmp_seq=5 ttl=64 time=88.3 ms
64 bytes from 192.168.76.3: icmp_seq=6 ttl=64 time=88.0 ms
64 bytes from 192.168.76.3: icmp_seq=7 ttl=64 time=90.7 ms
64 bytes from 192.168.76.3: icmp_seq=8 ttl=64 time=90.2 ms
64 bytes from 192.168.76.3: icmp_seq=9 ttl=64 time=87.5 ms
64 bytes from 192.168.76.3: icmp_seq=10 ttl=64 time=89.2 ms
^C
--- 192.168.76.3 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 87.165/88.964/90.943/1.368 ms
root@iv-ycbkr2k29df80n2ez2df:
# ping 13.114.109.145
PING 13.114.109.145 (13.114.109.145) 56(84) bytes of data.
64 bytes from 13.114.109.145: icmp_seq=1 ttl=29 time=68.6 ms
64 bytes from 13.114.109.145: icmp_seq=2 ttl=29 time=70.5 ms
64 bytes from 13.114.109.145: icmp_seq=3 ttl=29 time=69.8 ms
64 bytes from 13.114.109.145: icmp_seq=5 ttl=29 time=69.2 ms
64 bytes from 13.114.109.145: icmp_seq=7 ttl=29 time=69.0 ms
64 bytes from 13.114.109.145: icmp_seq=8 ttl=29 time=68.7 ms
64 bytes from 13.114.109.145: icmp_seq=10 ttl=29 time=70.8 ms
64 bytes from 13.114.109.145: icmp_seq=11 ttl=29 time=69.1 ms
64 bytes from 13.114.109.145: icmp_seq=12 ttl=29 time=69.6 ms
^C
--- 13.114.109.145 ping statistics ---
13 packets transmitted, 9 received, 30.7692% packet loss, time 12051ms
rtt min/avg/max/mdev = 68.570/69.463/70.779/0.721 ms

延遲問題的話,想請幫忙確認一下 ISP 是否有 icmp 和 udp 選路不同的問題。因為這個 project 是基於 wireguard 修改而來的,而 wireguard 是用 udp 協議。所以 ISP 會看到 udp 封包

向前糾錯&冗於傳輸的問題比較麻煩,最近比較忙,沒什麼時間去實作。可能要等有愛的人的 pull request ,或是基於我的原理重新復刻: https://github.com/KusakabeShi/EtherGuard-VPN/blob/master/example_config/super_mode/README_zh.md

感谢作者大大这么快回了消息。我看了您的vlog,学到了很多。看到最近您的vlog都没有更新了,给您的kskb.eu.org邮箱发了电子邮件。能不能加一个联系方式跟您学习交流下?