kcptun 据说可以比肩 Finalspeed?作为连接服务器传输数据的加速软件?

2016-05-25 19:12:51 +08:00
 laiyingdong
kcptun 是 kcp 协议的一个简单应用,可以用于任意 tcp 网络程序的传输承载,以提高网络流畅度,降低掉线情况。

https://github.com/xtaci/kcptun
22946 次点击
所在节点    分享发现
12 条回复
Themyth
2016-05-31 10:46:42 +08:00
额 怎么没人探讨这个问题。。。
cye3s
2016-05-31 11:21:04 +08:00
我测试过,速度没 fs 快,可能是 sndwnd,rcvwnd 参数还要优化, vps 是 BWG , 100M 电信, fs 能上 32Mbps, kcp 只能在 12Mbps 左右
aru
2016-06-15 22:07:06 +08:00
上海电信 200M 带宽测试,有效带宽 21%
如果有较多人使用这种程序,出国链路速度会变得越来越可怕
xtaci
2016-06-18 11:56:53 +08:00
有效载比的参数可以调整的,可以试试-mode default 或 fast 模式,或者关闭 fec
aru
2016-07-05 16:21:00 +08:00
@xtaci 换成 default 后,有效负载比大大增加了,最多可以达到 60% 左右,一般有 40%,比原来好多了
xtaci
2016-07-05 20:34:21 +08:00
@aru 载比和速度是一对矛盾,载比高,意味着需要等待更久,让延迟的数据包到达。
载比低,意味着可能误判数据包丢失,导致数据包重复发送了。
xtaci
2016-07-05 20:43:05 +08:00
@aru 这些都可以通过观察 SNMP 的输出来调整, kill -SIGUSR1 pid 可以打印详细情况。

BytesSent: 167448581 BytesReceived: 9022988 MaxConn: 8 ActiveOpens: 0 PassiveOpens: 23 CurrEstab: 3 InErrs: 0 InCsumErrors: 7361 InSegs: 141681 OutSegs: 1051412 OutBytes: 1337182120 RetransSegs: 669591 FastRetransSegs: 442516 EarlyRetransSegs: 145268 LostSegs: 81807 RepeatSegs: 87 FECRecovered: 942 FECErrs: 0 FECSegs: 32499

例如上面这段, RepeatSegs 表示收到的重复数据, InSegs/RepeatSegs ,表示 incoming 数据包的重复率

RetransSegs / OutSegs 可以得出 outcoming 数据包的重复率。可以看出,当前链路丢包导致的重复率较高。
xtaci
2016-07-05 20:51:49 +08:00
kcptun 设计上已经非常良心了。
1. 有超时退让, RTO ,网路不好的时候,会退让,有基本的利他机制。
2. 不伪造数据包类型,不用 raw socket/pcap 可以在非 root 运行,正常的协议栈流动。
3. 窗口大小默认设置保守。
wske
2016-07-09 16:56:14 +08:00
@xtaci 所以说,理论上 kcp 无论如何改进优化,在绝对速度上是不可能好于 FS 的,因为 FS 足够流氓,足够暴力。

是不是可以这样理解?
xtaci
2016-07-26 16:24:06 +08:00
@wske 不能这么理解,各有优劣, TCP 信道质量好,丢包低,但简单的 RST 包就能让路由器断掉这个连接(conntrack)。
UDP 信道质量低,但无状态,抗干扰性能较好。
kawaiiushio
2016-08-09 15:11:37 +08:00
@xtaci 希望增加 armv8 (rspi 3) 的預編譯二進制文件
winfirm
2017-04-01 01:02:03 +08:00
不怎么会用,感觉和没加速没区别,是我没配置正确?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/281234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX