MIT发现网络带宽分布不均的原因

来源:allaboutcircuits

2020 年,据《大英百科全书》估计有超过 45 亿人可以访问互联网。随着这一数字的持续增长,互联网带宽必须公平地分配给多个用户。

带宽定义为在给定时间内可以通过互联网连接发送的最大数据量。对于任何给定的互联网连接,可能有许多用户共享其带宽。例如,考虑一个家庭互联网连接的情况,其中有几个用户使用流媒体服务,而其他用户使用电子邮件等基本服务。互联网连接必须以公平的方式分配给每个设备,同时确保足够的速度。这是通过拥塞控制算法实现的。

互联网可以被认为是一条水管,拥塞控制算法测量水连接以平衡交付速度(延迟)和数量公平(带宽)。图片由CompiraLabs提供

然而,最近,麻省理工学院的一组研究人员发现,网络拥塞算法中的缺陷可能会不均匀地将带宽分配给互联网用户。

拥塞控制算法如何导致网络“饥饿”

由于拥塞控制算法对于共享现代互联网至关重要,因此研究人员在优化和简化它们方面投入了大量资金。2017 年,谷歌工程师开发了 BBR(瓶颈带宽和往返传播时间)拥塞控制算法(CCA),随后在 2019 年由 Amazon Cloudfront 部署。

然而,麻省理工学院的研究人员最近发表了一项研究,声称 BBR 和类似的“延迟边界”拥塞控制算法不能总是避免被称为带宽不足的情况。在这种情况下,饥饿是指一个连接的设备占用可用带宽,从而阻止另一个连接的设备访问最小或任何带宽。

延迟边界拥塞控制算法的工作原理是通过测量网络的往返时间(RTT)来调整其拥塞窗口,通常定义为允许设备在给定时间发送到网络中的数据包数量。RTT 定义为从设备发出数据包到远程服务器收到确认之间的持续时间。

往返时间 (RTT) 的插图。图片由StormIT提供

麻省理工学院发现网络分布的障碍

最近,麻省理工学院证明了延迟有界的 CCA 会导致网络“饥饿”。在一项已发表的研究中,研究人员指出延迟有界的拥塞控制算法也是“延迟收敛的”,这意味着它们会收敛到随时间在两个值之间振荡的 RTT。

延迟有界拥塞控制算法的延迟收敛特性。图片由麻省理工学院提供

麻省理工学院的研究人员使用形式数学表明,如果延迟有界(收敛)算法在两个不同的现实世界链路(例如,两个不同的设备共享一个连接)上运行,它们可以收敛到截然不同的发送速率。换句话说,其中一个链路可能缺乏带宽。

当使用延迟收敛 CCA 时,两条不同的链路会收敛到不同的发送速率。图片由麻省理工学院提供

这是因为网络“抖动”——网络中的延迟不是由拥塞引起的,而是由其他随机事件引起的。当两条不同链路的抖动发生偏差时,延迟收敛算法会收敛到 RTT,这可能无法反映链路上存在的实际拥塞。

改进拥塞控制算法

根据麻省理工学院电气工程和计算机科学副教授 Mohammed Alizadeh 的说法,解决这个问题的一种方法是设计一种算法,在该算法中,振荡收敛到比链路上存在的抖动更大的 RTT 范围。Alizadeh 还断言,当前的延迟收敛 CCA 在某些情况下几乎总是导致饥饿。未来的 CCA 将不得不考虑这种行为以避免带宽不足。