gitmyhub

bbr

★ 5.9k updated 1y ago

BBR is a congestion control algorithm developed by Google. Congestion control is the part of a network connection that decides how fast to send data, backing off when the network is overwhelmed and speeding up when there is capacity available. Traditional algorithms used packet loss as the main signal for when to slow down, but BBR instead measures the actual bandwidth and round-trip time of the connection to make better decisions about the sending rate.

This repository is a home for documentation, scripts, and reference materials related to BBR. The actual algorithm code lives in the Linux kernel and in Google's QUIC networking library, with links to both provided in the README. The repository covers multiple versions of BBR, including BBRv1, which was merged into the Linux kernel in 2016, and BBRv3, which is the current version from Google's BBR team.

The project has practical impact: Google enabled BBR for its own traffic, YouTube, and Google Cloud Platform, and reported significant improvements in throughput and latency compared to older algorithms, particularly over long-distance and lossy connections. There is an article from the Association for Computing Machinery that describes how the algorithm works, along with recorded talks for those who want to go deeper.

BBR is also being formalized as an internet standard. An Internet Draft is in progress through the IETF, the organization that defines internet protocols, with the goal of publishing it as an experimental RFC.

If you want to use BBR, you likely already have access to it. BBRv1 has been part of the Linux kernel since version 4.9, so most modern Linux systems can enable it without installing anything from this repository.