udp2raw icon indicating copy to clipboard operation
udp2raw copied to clipboard

udp2raw占用cpu过高,运行一段时间后会丢包非常严重

Open hothotstreet opened this issue 4 years ago • 5 comments

在互联网上跑openvpn,正常情况下会丢1-4%的包,这应该是运营商对udp的qos导致,想通过udp2raw混淆解决丢包问题,加上udp2raw后ping 1000个包可以实现丢0-1个包,但是发现运行一段时间后会出现严重丢包,丢在50%以上,可以通过重启udp2raw进程恢复,但是过一段时间后又会丢包,如此反复。 udp2raw配置如下: udp2raw -c -lip1:port1 -rip2:port2 -a -k "passwd" --raw-mode faketcp --seq-mode 1 这个可能是什么原因呢? 后面发现udp2raw占用CPU过高,正常udp2raw应该和OPENVPN的CPU占用率相同,环境是客户端openwrt,服务端centos,这里的丢包和CPU没有关系,CPU占用过高是后面发现的异常现象,之前测试丢包时,udp2raw占用CPU没有异常 a

hothotstreet avatar Aug 25 '21 13:08 hothotstreet

运行一段时间以后丢包上升,很可能是因为运营商对连接时间长的连接的劣化,我自己也遇到过类似现象。除了手动处理以外没什么好办法。 可以在client端用--fifo功能重连,重连的同时保持上层不断线。

https://github.com/wangyu-/udp2raw-tunnel#--fifo

CPU占用率高在别的issue里也见过,典型情况是在openwrt系统上设置了自动启动以后CPU占满一个核。可能是bug,但是目前没有人给出复现的方法,所以没有解决。

wangyu- avatar Aug 25 '21 14:08 wangyu-

fifo参数有点没看懂,可以往程序中发送命令,我发送什么命令呢?怎么在连接恶化时重连呢

hothotstreet avatar Aug 25 '21 15:08 hothotstreet

运行client的时候,增加fifo参数:

udp2raw -c -lip1:port1 -rip2:port2 -a -k "passwd" --raw-mode faketcp --seq-mode 1  --fifo fifo.file

要重连的时候, 执行:

echo reconnect >fifo.file

wangyu- avatar Aug 25 '21 20:08 wangyu-

借这个贴再问下udp2raw是单线程的吗,我想通过他和wireguard配合使用,但是udp2raw限制了他的速率,udp2raw只能占满一个核。

hothotstreet avatar Sep 08 '21 09:09 hothotstreet

mark一下

peaceanddemocracy avatar Feb 27 '22 07:02 peaceanddemocracy