最可靠的传输协议,如TCP,往往使用某种方法(如丢包)来检测瓶颈的大小。
然而,在我的用例中,瓶颈带宽是已知的100 my值,不与任何其他设备共享。
但是,这个链路有一个非常高的丢包率。准确地说是7%,而且往往集中在较小的时间间隔内。这意味着TCP通常会假设数据包由于拥塞而丢失,从而降低了我的传输速率。但在现实中,这只是普通的数据包腐败。
因此,我甚至不能使用我的100 my瓶颈的1/10。即使使用像KCP这样的协议,它也不会有太大的改进,因为KCP处理数据包丢失的力度要比TCP小得多。
是否有任何协议不试图“猜测”数据包丢失的瓶颈?对我来说,这是一个无用的特性,严重限制了我的带宽。
发布于 2021-05-08 13:27:55
TCP中的发送速率由发送方的拥塞控制算法控制。针对TCP协议开发了多种拥塞控制算法。您应该考虑不同的选项,并在用例中尝试它们。
另外,TCP中有许多可调的参数,这些参数可以帮助您解决问题。
例如,Google开发的BBR算法可能是解决问题的方法。您可以在中篇上阅读更多有关它的详细信息。
https://serverfault.com/questions/1062943
复制相似问题