RTT算法优化-Round-3

@xtaci xtaci released this Jan 17, 2017

  1. 只使用session定时器,避免kcp_update的thresh抖动。
  2. rto计算中的clock granularity设置为 interval值。
  3. 去掉rtomin的硬性限制。
  4. 对于单个数据包中的所有ack,只使用最后一个ack计算rto。
  5. -datashard/-parityshard 增加 -ds -ps 简写

$ go version
go version go1.8rc2 darwin/amd64
4683149
xtaci/smux@d1bdf08
xtaci/kcp-go@6da5044

MD5 (kcptun-linux-amd64-20170120.tar.gz) = f4914ad45cd848f50cd8cba1bbcc8c0a
MD5 (kcptun-linux-386-20170120.tar.gz) = 52089566730d20365f8f15d968441483
MD5 (kcptun-darwin-amd64-20170120.tar.gz) = 4a466bddbc7faa3b43576aaa76a44628
MD5 (kcptun-darwin-386-20170120.tar.gz) = cdaeccc034eb40449e950158d4ed7493
MD5 (kcptun-windows-amd64-20170120.tar.gz) = 50b80be45d3155f053d38441e32aec9b
MD5 (kcptun-windows-386-20170120.tar.gz) = 142fbab7d84241b9ee2524df064b9fe6
MD5 (kcptun-freebsd-amd64-20170120.tar.gz) = 5c1d0d45c151f25b8f679b4cf198d39f
MD5 (kcptun-freebsd-386-20170120.tar.gz) = 8cd76138db134318288fdaf17fed5650
MD5 (kcptun-linux-arm-20170120.tar.gz) = f03b8e20a6ec264aef8ce6a7c3daed2e
MD5 (kcptun-linux-mipsle-20170120.tar.gz) = d9c0ac67229fe3cc2a15871d39aae989
MD5 (kcptun-linux-mips-20170120.tar.gz) = 31f13ce741af3ea0c05b0a12aca6e0c9

Downloads

RTT算法优化-Round-2

@xtaci xtaci released this Jan 16, 2017 · 1 commit to master since this release

  1. ack结构中更准确的RTT估算。
  2. 锁优化,更平滑的rtt计算jitter。

2f11f13
xtaci/smux@d1bdf08
xtaci/kcp-go@86aa2c9

MD5 (kcptun-linux-amd64-20170117.tar.gz) = 7024a741c79a1d679ba11f3af6f5bc0a
MD5 (kcptun-linux-386-20170117.tar.gz) = 6fd7f35573ecb7d3ccf82069f6960d6d
MD5 (kcptun-darwin-amd64-20170117.tar.gz) = ce9bdc02317d0d9eb8fffec4c88a39e3
MD5 (kcptun-darwin-386-20170117.tar.gz) = f0cc700165a4bff4eb6727634abc34b2
MD5 (kcptun-windows-amd64-20170117.tar.gz) = 7fac79d0f3689ff435660614e2bcfe26
MD5 (kcptun-windows-386-20170117.tar.gz) = 4769ff2ee5cb64932f0949ee25492bdc
MD5 (kcptun-freebsd-amd64-20170117.tar.gz) = 942a7d7e65f8cdbdf598fca70fb49926
MD5 (kcptun-freebsd-386-20170117.tar.gz) = 496fb3d450261fea5dbe94c94b52ea15
MD5 (kcptun-linux-arm-20170117.tar.gz) = baaec00f7dfeab9d31f329881b84077d
MD5 (kcptun-linux-mipsle-20170117.tar.gz) = c34e7fc3a13716f2fcf35c78da0a76cc
MD5 (kcptun-linux-mips-20170117.tar.gz) = 429bd614bae5a8d1d826c95e7c21594b

Downloads

RTT问题优化等

@xtaci xtaci released this Jan 12, 2017 · 2 commits to master since this release

  1. 客户端默认窗口值(-rcvwnd)降为512。
  2. smux锁优化。
  3. kcp-go锁优化。
  4. 更准确的数据包时间(更准确的RTT估算)。
  5. 缓解Buffered Chan 引起的BufferBloat,降低重传率。
  6. 修正一个kcp-go可能引起死锁的问题。
  7. snappy压缩切换为golang官方版本。
  8. 使用go1.8rc1编译。

(建议所有人更新)

$ go version
go version go1.8rc1 darwin/amd64
ce4af62
xtaci/smux@d1bdf08
xtaci/kcp-go@2375cf6

MD5 (kcptun-linux-amd64-20170114.tar.gz) = 2272644e5d63b40c72c9787b523452fd
MD5 (kcptun-linux-386-20170114.tar.gz) = de68149aaf55859efe6f4e53f6ac892a
MD5 (kcptun-darwin-amd64-20170114.tar.gz) = 8cc7425554eff3b71374013ed3387bc3
MD5 (kcptun-darwin-386-20170114.tar.gz) = 696495423d9d431884462a32f0d97f15
MD5 (kcptun-windows-amd64-20170114.tar.gz) = 80f3e2d2716edb19530137455dcc0253
MD5 (kcptun-windows-386-20170114.tar.gz) = 6c88e48ac45821f0ea4c9ba9aa4cbe9f
MD5 (kcptun-freebsd-amd64-20170114.tar.gz) = 1c46e7c47ad70aec0be2e5cb048e4256
MD5 (kcptun-freebsd-386-20170114.tar.gz) = 51c8a990ac2881e89be8fa8d973d86c6
MD5 (kcptun-linux-arm-20170114.tar.gz) = 08556db6d26e67a83c07584dae37be08
MD5 (kcptun-linux-mipsle-20170114.tar.gz) = f3c63e819281a3c2efcc41171360d340
MD5 (kcptun-linux-mips-20170114.tar.gz) = c8ade377bb41fb6911772d981b89d0ac

Downloads

累计更新

@xtaci xtaci released this Jan 12, 2017 · 19 commits to master since this release

  1. 客户端默认窗口值(-rcvwnd)降为512。
  2. smux锁优化。
  3. kcp-go锁优化。
  4. snappy压缩切换为golang官方版本。
  5. 使用go1.8rc1编译。

$ go version
go version go1.8rc1 darwin/amd64
ce4af62
xtaci/smux@d1bdf08
xtaci/kcp-go@1e82838

MD5 (kcptun-linux-amd64-20170112.tar.gz) = 876e2c4ebdfe2c9f9f1c08a134f74a89
MD5 (kcptun-linux-386-20170112.tar.gz) = 514ed8fd7809763bb4a34ccc25b33350
MD5 (kcptun-darwin-amd64-20170112.tar.gz) = 71263e6ef7849daaeaca4f36a84f1b16
MD5 (kcptun-darwin-386-20170112.tar.gz) = 48a5784211d397ffae7cf7a1a55edd44
MD5 (kcptun-windows-amd64-20170112.tar.gz) = 71536ebe5d261f58cf288a0226241bf5
MD5 (kcptun-windows-386-20170112.tar.gz) = 0ed5decb7c6f8a3d8ff5b37ec9aa73d3
MD5 (kcptun-freebsd-amd64-20170112.tar.gz) = 56f89166ae3eea48fa984dac750d7df4
MD5 (kcptun-freebsd-386-20170112.tar.gz) = 293346b0d54d541f0e48f20116ba6754
MD5 (kcptun-linux-arm-20170112.tar.gz) = e1a2343e6cf52851a5ae97cfd8c31579
MD5 (kcptun-linux-mipsle-20170112.tar.gz) = a484f227e2efaf3704c035a41d807823
MD5 (kcptun-linux-mips-20170112.tar.gz) = 4d3dec3c2d89247e9dd84432d73cfdae

Downloads

累计更新

@xtaci xtaci released this Dec 21, 2016 · 25 commits to master since this release

  1. 修正客户端Accept超过可打开文件数时crash的问题。
  2. 增加--snmplog --snmpperiod选项,输出SNMP日志。
  3. 微调kcp-go中的快速重传部分,减少RepeatSegs。
  4. 采用go1.8beta2编译。

$ go version
go version go1.8beta2 darwin/amd64

MD5 (kcptun-linux-amd64-20161222.tar.gz) = 28689c0bc8ad3ad2f7285dfe0d86471b
MD5 (kcptun-linux-386-20161222.tar.gz) = 3ccc021e426273f5b4f859d736e6cbcf
MD5 (kcptun-darwin-amd64-20161222.tar.gz) = 8d3fa58d28d0d6196660440fdd91b4cb
MD5 (kcptun-darwin-386-20161222.tar.gz) = 377f95cbb4742e1af5f15661763b91e9
MD5 (kcptun-windows-amd64-20161222.tar.gz) = b7ed19a3137b9344f8826ed54cc87184
MD5 (kcptun-windows-386-20161222.tar.gz) = 4cc3e1c61843ddad94fbe2aa44c11557
MD5 (kcptun-freebsd-amd64-20161222.tar.gz) = e77d7bf1f214d39a85411aef5fac23e6
MD5 (kcptun-freebsd-386-20161222.tar.gz) = b3773a608b4991818b5f4a9a7f927964
MD5 (kcptun-linux-arm-20161222.tar.gz) = c99b6db1ecf71a725bbe9813822e4997
MD5 (kcptun-linux-mipsle-20161222.tar.gz) = 651c0d1508cc39d325ede16fef8a74c4
MD5 (kcptun-linux-mips-20161222.tar.gz) = 54082482ad97e7adabc73cd4bac99a24

Downloads

Fix ineffective -autoexpire under heavy loss

@xtaci xtaci released this Dec 7, 2016 · 31 commits to master since this release

修正-autoexpire某些时候无效的情况
Related ISSUE #321

$ go version
go version go1.8beta1 darwin/amd64
xtaci/smux@427dd80
xtaci/kcp-go@1a8d8c1
375640d

MD5 (kcptun-linux-amd64-20161207.tar.gz) = 014c1af5f8b10c7b6c93e29440814c89
MD5 (kcptun-linux-386-20161207.tar.gz) = e06653673aaed0152a7fc4f30052e4ed
MD5 (kcptun-darwin-amd64-20161207.tar.gz) = 1eb3005f30fad9384a9e9847b50fa79c
MD5 (kcptun-darwin-386-20161207.tar.gz) = 578e844af33a88cf35f66ef713c694c0
MD5 (kcptun-windows-amd64-20161207.tar.gz) = 88a4018ff20c69e259dcb0fa39bed6ec
MD5 (kcptun-windows-386-20161207.tar.gz) = 1a9048d40e8b30a784d9fbe6c4a92bb5
MD5 (kcptun-freebsd-amd64-20161207.tar.gz) = e270ea0e6b69a7d88e4a8db3de1333b1
MD5 (kcptun-freebsd-386-20161207.tar.gz) = 9913681edae0e757cd53c08d6f55e7af
MD5 (kcptun-linux-arm-20161207.tar.gz) = ff8148c726adefc95857f48ce95c7016
MD5 (kcptun-linux-mipsle-20161207.tar.gz) = 387d6dd6d33eeaab661137698621bd1c
MD5 (kcptun-linux-mips-20161207.tar.gz) = e30f2b55e5dc801ddcc3927734be29f1

Downloads

Support MIPS32 with go1.8beta1

@xtaci xtaci released this Dec 2, 2016 · 35 commits to master since this release

$ go version
go version go1.8beta1 darwin/amd64
xtaci/smux@427dd80
xtaci/kcp-go@1a8d8c1
bfe3524

MD5 (kcptun-linux-amd64-20161202.tar.gz) = 5ee78018377203fd4c1dcd3ff7e9aedc
MD5 (kcptun-linux-386-20161202.tar.gz) = 7cd4f2617a8704873e636f775b6e73c5
MD5 (kcptun-darwin-amd64-20161202.tar.gz) = 0fe090f3b134619a5b7e2c81091c9d26
MD5 (kcptun-darwin-386-20161202.tar.gz) = 2cac0d2e0b76614192407184eab48de7
MD5 (kcptun-windows-amd64-20161202.tar.gz) = 45e16f2302bed604c1bbdcb88366f6e5
MD5 (kcptun-windows-386-20161202.tar.gz) = c1acb78ca68af083341990fe35109507
MD5 (kcptun-freebsd-amd64-20161202.tar.gz) = c73d4853598db1bba7a72fe358119cff
MD5 (kcptun-freebsd-386-20161202.tar.gz) = e67e3b3107ffee589df05608987f9813
MD5 (kcptun-linux-arm-20161202.tar.gz) = 63d4b34bbee2ea798284c2bfbcf38e20
MD5 (kcptun-linux-mipsle-20161202.tar.gz) = ba41a21154453492db7ee6584462adc9
MD5 (kcptun-linux-mips-20161202.tar.gz) = d63633149c152abda9306bb52c951a0a

Downloads

Reduce FEC memory usage

@xtaci xtaci released this Nov 10, 2016 · 38 commits to master since this release

  1. Reduce FEC memory usage(>30%), limited FEC queue to 3 * (dataShard+parityShard) packets.

$ go version
go version go1.7.3 darwin/amd64
xtaci/smux@b4a6fb8
xtaci/kcp-go@2a9a3f7
229a4a8

MD5 (kcptun-linux-amd64-20161118.tar.gz) = 8fa9f6d7c31283c0298c83e32f1c27a4
MD5 (kcptun-linux-386-20161118.tar.gz) = 9fe66bc17ac93b847baeb655b6bd9038
MD5 (kcptun-darwin-amd64-20161118.tar.gz) = 7573439760e1ff29ffeba5b9958ab979
MD5 (kcptun-darwin-386-20161118.tar.gz) = ca565c4073e25ac40cece7bc85aa3ac2
MD5 (kcptun-windows-amd64-20161118.tar.gz) = 7e431c2092b6e1995c4aa3429bd75884
MD5 (kcptun-windows-386-20161118.tar.gz) = 44861d51ec2cdaff927826f5a8e578f1
MD5 (kcptun-freebsd-amd64-20161118.tar.gz) = e5b497d72986d73e82e4bdc2b2dc620f
MD5 (kcptun-freebsd-386-20161118.tar.gz) = c354ec64fe040b2bfd1d986d6116b543
MD5 (kcptun-linux-arm-20161118.tar.gz) = d92dc2f835e869bc36dad6158d4eb3a4

Downloads

Reduce sending of unnecessary acks

@xtaci xtaci released this Nov 10, 2016 · 38 commits to master since this release

  1. Reduce sending of unnecessary acks.

$ go version
go version go1.7.3 darwin/amd64
xtaci/smux@60c611f
xtaci/kcp-go@ffaad6e
229a4a8

MD5 (kcptun-linux-amd64-20161111.tar.gz) = ce253b046f0da77b4967aa3aff1b2964
MD5 (kcptun-linux-386-20161111.tar.gz) = 7de2cafc0241f2e5ef035f7a0ba98997
MD5 (kcptun-darwin-amd64-20161111.tar.gz) = 9d5bc96de9fcb8d482d96bafec9e2cfe
MD5 (kcptun-darwin-386-20161111.tar.gz) = 90226dd048926a5df76f5faa77d0a5eb
MD5 (kcptun-windows-amd64-20161111.tar.gz) = 319528d86bea95406d2a9674f0b709c0
MD5 (kcptun-windows-386-20161111.tar.gz) = 6b78544cd1ef53b2c2ea7a97bb01a596
MD5 (kcptun-freebsd-amd64-20161111.tar.gz) = 124082639403b5b70130033af75a4ffb
MD5 (kcptun-freebsd-386-20161111.tar.gz) = de05580146bce6e84942883e635a505f
MD5 (kcptun-linux-arm-20161111.tar.gz) = a3e8f15715a9add8396b3da2ebd2efae

Downloads

Brought Back Early Retransmit, with Stricter Criterion

@xtaci xtaci released this Nov 4, 2016 · 40 commits to master since this release

  1. Brought Back Early Retransmit, with Stricter Criterion

(STRONGLY RECOMMENDED FOR UPGRADING)

$ go version
go version go1.7.3 darwin/amd64
xtaci/smux@ee8b5b5
xtaci/kcp-go@bba2d62
8e74cf4

MD5 (kcptun-linux-amd64-20161105.tar.gz) = 0ce07c5dfe2d90bf6ffb65f565e67bf7
MD5 (kcptun-linux-386-20161105.tar.gz) = 334690906e8fcabbcb0d89fa1482581f
MD5 (kcptun-darwin-amd64-20161105.tar.gz) = 1208d6916bb1ad0d8a5e147050ca56e5
MD5 (kcptun-darwin-386-20161105.tar.gz) = f660d9f6c5894cb126d13375419c1601
MD5 (kcptun-windows-amd64-20161105.tar.gz) = d30652739f63e9bc36f24bd637e9406d
MD5 (kcptun-windows-386-20161105.tar.gz) = 66305e49859a20d934ef806fb574e06b
MD5 (kcptun-freebsd-amd64-20161105.tar.gz) = 0df864c42dbe774403e87f9c9fd09dd0
MD5 (kcptun-freebsd-386-20161105.tar.gz) = 84c813aa2abe6da7dab8238ae27b545d
MD5 (kcptun-linux-arm-20161105.tar.gz) = c6751092875790263148582ba61e0125

Downloads