还有哪些专门为 LTE 和 WiMax 等有损无线网络设计的其他拥塞控制算法?

还有哪些专门为 LTE 和 WiMax 等有损无线网络设计的其他拥塞控制算法?

我正在尝试不同的拥塞控制算法,以在 TCP 流的设置中获得最大吞吐量和最小延迟。请建议除以下之外的其他可用算法

维诺、韦斯特伍德、里诺和立方

其实现(或内核模块)可以在互联网上免费获得。并建议是否有其他方法可以在不同端的 Linux (Fedora) 和 Windows 7 的 TCP 协议栈之间运行 TCP 以获得更高的吞吐量。

答案1

黑匣子:)。

如果丢包率低于 15%,则 BBR 能够充分利用该路径(达到 link_bandwidth*(1 - loss_rate))。这个 15% 阈值是一个设计参数,而不是一个基本限制

我正在努力解释这一点的确切意义。这是埃里克·杜马塞特:

与 Cubic 相比,在有损环境下存在 2 到 4 个数量级的差异。

100ms rtt 和 1% 数据包丢失的示例。 Cubic 在那里表现非常糟糕。

$ netperf -H 10.246.7.152 -l 30 -- -K cubic
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.246.7.152 () port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    40.00       3.27   

$ netperf -H 10.246.7.152 -l 30 -- -K bbr  
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.246.7.152 () port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    30.25    9150.01

第三方测试揭示/引发了一个解释,即如果存在任何竞争,当前代码预计在瓶颈处有一个完整的缓冲区 (BDP)。这是进一步改进的已知目标。如果不满足条件,就会提高损失率。那么传统的 TCP 基本上就会挨饿。

如果有更多的缓冲区大于 1 BDP,BBR 流将协作以避免填充多余的缓冲区,因此根据您的要求限制排队延迟。传统的 TCP 往往会填满整个缓冲区。当两者竞争时,BBR 无法神奇地修复传统 TCP 流的行为,但我认为这不会以任何其他方式伤害 BBR。

如果不满足上述条件,应用程序延迟将受到影响(必须重新传输丢失的数据包)。

https://groups.google.com/forum/#!forum/bbr-dev

https://www.google.co.uk/search?q=tcp-bbr

[PATCH v4 net-next 00/16] tcp:BBR 拥塞控制算法

答案2

无情 TCP 将是您可以获得的最无情的 TCP。

相关内容