![]() | 1 fcicq 2016-07-01 15:56:37 +08:00 能证明你的方法和 TCP Reno 相容吗? |
![]() | 2 yexm0 2016-07-01 16:04:39 +08:00 via Android windows 版有不? |
![]() | 3 imxieke 2016-07-01 16:14:13 +08:00 via Android 资瓷. |
![]() | 4 zhouheyang0919 OP @fcicq 数据传输通过 UDP 进行, TCP 连接仅用于状态同步。 传输流程大致是这样的: 发送端与接收端之间建立 TCP 连接和 UDP mapping -> 发送端通过 TCP 发送数据总长度,两端分别计算传输所需的 block 数量 -> 发送端以恒定速率发包 (udp), 然后传输一定量的带有特殊标志 (0x1fffffff) 的包,以填充丢包造成的数据包数量小于预测数量,期间接收端无任何返回(这一步有待改进) -> 接收端将缺失的 block ID 通过 tcp 传输给发送端,发送端重复上一步过程(但只发送缺失的包),重复这两步直到缺失的 block 数量为 0 -> Done |
![]() | 5 fcicq 2016-07-01 18:08:11 +08:00 @zhouheyang0919 没有减速逻辑的话必然不相容了. |
![]() | 6 ryd994 2016-07-01 19:42:39 +08:00 via Android 讲真,除非有明确的拥塞控制的数学模型,所谓的加速绝大多数都是无脑发包 你们知道要是写出新拥塞算法可以发 CS 论文么? |
![]() | 7 luohaha 2016-07-01 20:55:06 +08:00 研究生想做 tcp 加速方面的研究,被导师说太 low 了,好久之前的研究方向了。。 |
8 vinsoncou 2016-07-01 23:09:21 +08:00 这个与 TsunamiUDP 相比有什么优势呢? |
9 mengzhuo 2016-07-02 00:55:56 +08:00 via iPhone 呃…不能做流控岂不就是无脑发 |
![]() | 10 fzinfz 2016-07-02 01:03:04 +08:00 看用法貌似目前只支持文件加速。 LZ 有兴趣发展成支持 proxy 的版本么? JAVA 版参考: https://github.com/d1sm/finalspeed/tree/fileshare |
![]() | 11 zhouheyang0919 OP |
![]() | 12 zhouheyang0919 OP ![]() @fzinfz 处理流加速比块加速更复杂。不过有这个打算 |
13 bkjzs 206-07-02 12:28:28 +08:00 via Android 可以看看 kcp |
![]() | 14 zhouheyang0919 OP @bkjzs kcp 是为双向的流传输设计的,在单向大容量传输上表现并不突出 |
![]() | 15 zhouheyang0919 OP @bkjzs 峰值速率很高,但在延时较大的网络下速率不稳定 |
16 bkjzs 2016-07-02 22:38:27 +08:00 via Android @zhouheyang0919 我自己用西雅图的服务器测试 kcp ,多线程传输大文件,可以稳定在 3mb/s ,显示使用了 50M 的带宽。 用这种软件比不用好太多,直接传输可能只有 200kb/s |
![]() | 17 Actrace 2016-07-03 16:44:19 +08:00 使用 TCP 进行状态同步的话, TCP 丢包影响很大吧? |
![]() | 18 zhouheyang0919 OP @Actrace TCP 传输的流量不到总流量的 1/500. 因此影响很小。 |
19 Thiece 2016-07-08 11:44:51 +08:00 有最新进展吗? |