V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xtaci  ›  全部回复第 1 页 / 共 1 页
回复总数  10
中美 15000km ,沿海岸线距离,来回 30000km ,光速需要 0.1 秒。
2016-08-18 22:20:28 +08:00
回复了 ragnaroks 创建的主题 分享创造 KcptunGUI,kcptun 的 Windows 用户界面
@wske 不能这么理解,各有优劣, TCP 信道质量好,丢包低,但简单的 RST 包就能让路由器断掉这个连接(conntrack)。
UDP 信道质量低,但无状态,抗干扰性能较好。
2016-07-25 20:42:49 +08:00
回复了 Plumes 创建的主题 宽带症候群 感觉最近国际网络变慢了,不知道是否普遍
2016-07-24 22:39:54 +08:00
回复了 Plumes 创建的主题 宽带症候群 感觉最近国际网络变慢了,不知道是否普遍
还行, kcptun 开着用 fast.com 测速还是能到 30mbps
源码核心部分 https://github.com/xtaci/kcp-go ,如果发包太多,说明网络质量极差(可能比 ping 丢包率还差,因为 ISP 可能对 ping 优化了)
kcptun 设计上已经非常良心了。
1. 有超时退让, RTO ,网路不好的时候,会退让,有基本的利他机制。
2. 不伪造数据包类型,不用 raw socket/pcap 可以在非 root 运行,正常的协议栈流动。
3. 窗口大小默认设置保守。
@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 数据包的重复率。可以看出,当前链路丢包导致的重复率较高。
@aru 载比和速度是一对矛盾,载比高,意味着需要等待更久,让延迟的数据包到达。
载比低,意味着可能误判数据包丢失,导致数据包重复发送了。
有效载比的参数可以调整的,可以试试-mode default 或 fast 模式,或者关闭 fec
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1316 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 18:01 · PVG 02:01 · LAX 10:01 · JFK 13:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.