1.4 今天的拥塞控制

网络协议的设计似乎已经在几十年前就被确定并标准化了,但是实际上在部分细分领域,例如拥塞控制,依然保持着活跃的发展。拥塞控制早期由Jacobson、Karels等人的工作奠定基础,此后一直有大量的创新持续至今。在后续章节中,我们将详细介绍许多此类创新,但可以确定的是,拥塞控制的新想法将在未来几年还会持续涌现。

有时候,变化的环境会催生创新。例如,随着带宽从 Mbps 增加到 Gbps,任何时刻在传输中的数据量都在增加,这就加大了快速检测并响应拥塞的挑战。高延迟链路,如跨洋电缆和卫星链路,因为有更大的往返时间(RTT),也加剧了这一问题。这些变化的环境导致了一些创新,例如使用延迟(及其变化)作为拥塞信号(最早见于TCP Vegas)。此外,随着“胖网络”的出现(注,具体是指高带宽延时积网络)人们需要更快的方式来填满网络管道;如果你的消息可以在1-2个RTT中发送完毕,你就不会希望先花费10个RTT来弄清楚你可以多快的发送数据。这促使了人们为更快地确定瓶颈带宽而做出努力,例如XCP、RCP和TCP的Quick-Start。

另一方面,各种无线网络在 TCP 流行很久之后才成为主流,它们引入了一个新问题:数据包丢失不再是一个可靠的网络拥塞信号,而可能是由于无线信道受噪声干扰造成的。这个问题有一系列的解决方法,要么向 TCP 主机隐藏丢包情况,要么提升 TCP 检测拥塞的机制。

云数据中心成为了拥塞控制机制的另一个“用例”。与网络延迟波动较大的互联网不同,数据中心中的 RTT 时间既可预测又相对较小(<10ms)。因为网络结构高度规则(例如,spine-leaf架构),所以很容易理解在哪个位置以及在什么情况下可能会发生拥塞。这使得在数据中心运行的 TCP 适用一种特殊调整过的拥塞控制算法,而不是使用在全球互联网上的通用拥塞控制算法。

新的应用程序也促进了拥塞控制的改善。一个显著的例子是视频流媒体的崛起并成为当前互联网上主要的流量来源。同样,有很多方法可以改善视频在网络拥塞时的表现。其中一个取得巨大成功的例子是Dynamic Adaptive Streaming over HTTP (DASH),它在探测到接受端之间的网络拥塞时,会从一个编码质量切换到另一个编码质量(因此从一个bit率切换到另一个bit率)。这相当于将拥塞控制上移到了应用层,又或者说,它在TCP已提供的拥塞控制之上增加了第二个拥塞控制逻辑。

本节介绍的各种创新内容只是九牛一毛,我们将在后续章节中详细讨论这些和其他方法。此时需要理解的重要一点是,随着技术环境和应用需求的变化,拥塞控制将会持续发展。

Last updated