Linux TCP 启用 BBR 算法
TCP BBR 0 (Bottleneck Bandwidth and Round-trip propagation time)是由 Google 设计,于2016年发布的拥塞算法。 以往大部分拥塞算法是基于丢包来作为降低传输速率的信号, 而BBR则基于模型主动探测。
该算法使用网络最近出站数据分组当时的最大带宽和往返时间来建立网络的显式模型。 数据包传输的每个累积或选择性确认用于生成记录在数据包传输过程和确认返回期间的时间内所传送数据量的采样率。
该算法认为随着网络接口控制器逐渐进入千兆速度时,与缓冲膨胀相关的延迟相比丢包更应该被认为是识别拥塞的主要决定因素, 所以基于延迟模型的拥塞控制算法(如BBR)会有更高的吞吐量和更低的延迟,可以用BBR来替代其他流行的拥塞算法,例如CUBIC。
Google 在 YouTube 上应用该算法,将全球平均的 YouTube 网络吞吐量提高了4%,在一些国家超过了14%。
BBR 之后移植入 Linux 内核 4.9+ 版本,并且对于 QUIC 可用。
重要
去运行 Linux TCP 启用 BBR 。