BBR TCP
BBR is a new TCP congestion control algorithm that uses estimated congestion rather than loss to determine when to back off. More information on BBR is available in in these papers/talks:
- ESnet's talk and paper at INDIS workshop, Supercomputing 2021. (Best Paper Award)
- In this paper we conclude that BBRv2 is a good choice for DTNs at sites willing to run a patched kernel.
- ACM Queue article
- IETF, Nov 2016: slides and video
- Linux NetDev Talk, 2016
- IETF, March 2019: slides
Note that BBR v1 is known to compete unfairly with CUBIC, HTCP, etc, so we do not recommend it on networks that use other types of congestion control. BBRv2 is much better, but is not yet available in a supported kernel release. BBRv3 was released in July, 2023, and we are testing that now.
BBR is included in Linux starting with version 4.9 of the kernel, and therefore is in RHEL/Rocky 8.0, Debian 9, and Ubuntu 17, etc.
BBR v3 preview release is available here.
Our testing shows that BBR can help a lot on certain links. 10X performance improvements are common on some paths. BBR also works much better than CUBIC on network paths where packet loss is due to small switch buffers. Our testing also shows that for parallel stream tool, BBR works much better with paced streams, so that the streams to not step on each other.
Those interested in BBRv3 should do extensive testing in their environment, and follow the discussion on the BBR discussion group list before deploying it on production systems. Please give it a try and let us know your results.
Also note that TCP improvements such as BBR are not a substitute for good network design (e.g.: a ScienceDMZ) or the need to reduce packet loss to a minimum. BBR may reduce the impact of packet loss, but does not eliminate it.
More information: BBR RFC