BBR (Bottleneck Bandwidth and Round-trip propagation time) 是谷歌在 2016 年发布的一套拥塞控制算法。它尤其适合在存在一定丢包率的弱网环境下使用。比如谷歌就通过 BBR 让内部和外部的网络能够以更高吞吐量和更低延迟更高效地运行。在这类环境下,BBR 的性能远超 CUBIC 等传统的拥塞控制算法。
BBR 目前已迭代更新到 v3 版本,谷歌称 BBRv3 在内部已被广泛使用,并且表现出色,他们正在积极将 BBRv3 提交到上游 Linux 内核主线。
BBRv3 包含各种修复和算法更新。此外 BBRv3 的数据包重传率降低了 12%,延迟也略有改善。
BBRv3 提交到上游 Linux 内核主线 TCP/networking 模块,并将 BBR 模块从 v1 升级到 v3 代码。BBRv3 将采用 GPL 和 BSD 双重许可证。
参考:
- https://datatracker.ietf.org/meeting/117/materials/slides-117-ccwg-bbrv3-algorithm-bug-fixes-and-public-internet-deployment-00
- https://github.com/google/bbr/blob/v3/README.md