为已知静态瓶颈大小和高数据包丢失而设计的可靠传输协议?

为已知静态瓶颈大小和高数据包丢失而设计的可靠传输协议?

据我所知,大多数可靠的传输协议(例如 TCP)倾向于使用某种方法(例如数据包丢失)来检测瓶颈的大小。

然而,在我的用例中,瓶颈带宽是已知值100Mbps,并且不与任何其他设备共享。

,此链路的数据包丢失率非常高。准确地说是 7%,并且通常集中在很短的时间间隔内。这意味着 TCP 通常会认为数据包是由于拥塞而丢失的,并降低我的传输速率。但实际上这只是常规的数据包损坏。

结果,我甚至无法利用 100Mbps 瓶颈的 1/10。即使使用 KCP 等协议,情况也没有太大改善,因为 KCP 处理数据包丢失的积极性比 TCP 要低得多。

是否有任何协议不会尝试“猜测”数据包丢失的瓶颈?对我来说,这是一个无用的功能,严重限制了我的带宽。

答案1

TCP 中的发送速率由发送方的拥塞控制算法控制。为 TCP 开发了多种拥塞控制算法。您应该查看不同的选项并在您的用例中尝试它们。

此外,TCP 中还有许多可调参数,可以帮助您解决问题。

例如,Google 开发的 BBR 算法可能是解决您问题的解决方案。您可以在此阅读更多详细信息中篇文章

相关内容