Yancey Wang
Yancey Wang
@rofl0r if you need a solution with authentication and encryption ,you can try my repo: https://github.com/wangyu-/udp2raw-tunnel https://github.com/wangyu-/udp2raw-tunnel#tunneling-any-traffic-via-raw-traffic-by-using-udp2raw-openvpn 
这个方法如果能完美实现,潜力很大,而且比faketcp方法的兼容性好。原理类似tcp多线程下载软件。 实现了类似功能的除了[rabbit-tcp](https://github.com/ihciah/rabbit-tcp)还有: https://www.v2ex.com/t/90570 https://www.npmjs.com/package/mtcp 不过以上3个都是把tcp转成多条tcp,目前并没有把udp转成多条tcp的? 而且貌似https://github.com/ihciah/rabbit-tcp/issues/11 目前有一些稳定性问题,另外两个稳定性未知。 期待有udp转多条tcp的实现, 和tcp转多条tcp更完美的实现。 udp转多条tcp我能想到的一些难点: 1. tcp的重传是没法关掉的,udp程序一般希望丢了的包不重传,如果用tcp承载那这些本来应该丢掉的包会被重传,拥塞网络影响其他的包发送。如果上层再承载kcptun这样的协议,有双倍重传的问题。 2. tcp有head-of-line-blocking效应,用来发udp可能影响实时性。不过如果底层的tcp连接足够多,可以缓解。 (上面两个问题也不是完全解决不了,就是得花费一番功夫) 关于楼主的问题: >基于此想法,自己曾想动手做一个通过多条TCP连接传输数据的程序,每次将UDP随机封入其中一个TCP传输。直到突然看到了kcptun客户端的--conn参数。此参数默认是1,是否可以改成100,然后配合UDP转TCP的工具 `--conn 100` 的意思应该是把kcptun承载的tcp链接负载均衡到底层100条kcp连接上,比如你有2000个tcp连接,那底层的每个kcp链接会分到20个tcp连接。 貌似并不能把同一条tcp连接拆分后分配给不同的kcp连接。
首先肯定一下楼主所说的方法是有效果的,尤其是在应对楼主所描述QOS场景时。 但是有些观点太不准确,误导性比较强: ``` >在一般的运营商Qos里面,只有两种策略。 ``` ``` >解决Qos就两种方式 ``` ``` >当然;最好的办法是: 1:限速,针对每个隧道限制最大带宽 2:多并发, 3:设置每个隧道的时效,超过时效释放,重新发起新隧道 ``` ``` >只要这四个条件一直变,就可以完全避开Qos策略。 ``` ``` >--tcp to emulate a TCP connection(linux) 这个其实没有任何意义,在运营商的设备中,不可能去深度解析你的数据包, nat转发性能本来就不高,如果再识别你的数据包,性能就捉襟见肘了, ``` 首先是Qos策略,除了楼主说的两种Qos策略,我能想到的其他的比较容易实现的Qos策略: 1. 在路由策略里tcp流量的优先级比udp高。...
>@wangyu- 本来kcptun就是udp传输,你扯tcp有何意义, udp的优势可以实现会话平滑转移,比如quic已经实现了。 >扯了那么多,打了那么多字,你就说了一句话,tcp高传输比udp强,还有别的吗? 这个你不说大家都知道, 但是kcptun使用udp的意义在于在一定丢包的场景中,使用高流量带宽进行弥补, >比如使用2倍的流量换取一倍的有效平稳流量, tcp如果丢包,一个包丢了,就需要重传,整个队伍就需要一直等待, >别鸡蛋里面挑骨头,实现了会话平滑转移之后,看看是不是有本质的改变。 不要激动。 我没否定你说的方法在一些Qos场景会有效果,也不是不鼓励你说的方法被实现出来。 只是说: 1. Qos形式多种多样。`在一般的运营商Qos里面,只有两种策略`这种说法是武断的。 2. 你的方法可以解决你说的qos,但是存在(潜在很多)qos策略是你的方法解决不了的。所谓你的方法是”最好的办法“,”完全避开qos“,别的某某方法毫无意义。这种说法非常幼稚。 楼主分享自己的方法,是可贵的。 希望自己的方法被实现出来,这也没有问题。一些观点不准确,也没啥,毕竟人无完人。 但是没必要对自己的方法夸大其词,把别的方法贬得一文不值。
>A good case in point to start is chacha20-ietf-poly1305 that performs better in censorship resistant environments. Could you please provide the citation that makes you believe this is true? Although...
For non-linux, no server at the moment.
To run udp2raw and tinyfecvpn, you must have something like a VPS. You will need to run udp2raw server and tinyfecvpn server on your VPS. The udp2raw and tinyfecvon on...
udp2raw use hartbeat to monitor the health of connection. the extra traffic is mainly caused by heartbeat. Currently the only way to reduce traffic caused by heartbeat is to use...
udp2raw itself doesn't implement the function of reverse tunnel, but you can use udp2raw together with a vpn or a tunnel which supports reverse tunnel. For example, with [udp2raw +...
>the only way to establish a vpn connection would be to set up a reverse tunnel no, you just run udp2raw server+vpn server on your client, and udp2raw client+vpn client...