Last month, Google announced the release of a new congestion control algorithm, TCP BBR (Bottleneck Bandwidth and Round-trip propagation time), for Google Cloud Platform. By eschewing loss-based congestion control for a system that considers the speed at which the network delivers data, BBR is able to improve latency and bandwidth use on Internet traffic, reducing round-trip time by 33 percent and providing 11 percent higher mean-time-between-rebuffers for all mobile and desktop users.
Google’s BBR addresses the problem of loss-based congestion control in today’s networks. Loss-based control, which has been the primary means of congestion control since its development in the 1980s, uses packet loss indicators to determine when to slow throughput. This method was well suited to the low bandwidth that characterized early Internet use, with largely static websites, fixed-location devices, and slower connection speeds. However, loss-based congestion control can overreact and lead to significantly lower throughput in small buffer, high-speed networks where packet loss happens before congestion, as well as increased latency in the last mile in deep buffers where congestion occurs prior to packet loss.
In contrast to loss-based control, BBR bases congestion control on how fast the network delivers data. Using recent measurements of the network delivery rate, BBR builds a model of the maximum available bandwidth and minimum round trip delay. The model is then used to control how much data to send at a given time and how quickly to send it.
As a result, BBR increases both latency and throughput, with overall 33 percent shorter round-trip times and 11 percent mean-time-between-rebuffers as compared to the previous congestion control algorithm, CUBIC. BBR is currently available and in use for all GCP customers for both connections from GCP services to cloud users and websites utilizing Google Cloud CDN or Google Cloud Load Balancing.