A team of six Google engineers has submitted a commit to the Linux networking development group that implements a new computer algorithm for handling TCP traffic congestion control.
The team says the new algorithm has already been tested and used on Google’s internal backbone networks, google.com and YouTube.
The new algorithm is named BBR and stands for Bottleneck Bandwidth and RTT, where RTT is Round-Trip Time, the time it takes to send a message and receive the acknowledgment it arrived.
According to the team’s explanation, the new algorithm will improve the efficiency with which Linux-based servers will handle network bottlenecks.
Previous TCP congestion control systems were developed in the ’80s
Google engineers said that existing TCP congestion control algorithms were developed in the ’80s, such as Reno or CUBIC, and all rely on packet loss to determine congested connections.
In their view, these implementations are flawed because by the time a congestion is detected it would be already late to re-route some users.
On the other hand, BBR is designed to prevent bottlenecks before they happen, a crucial factor in today’s Internet which handles large amounts of real-time data transfers.
“ BBR creates an explicit model of the network pipe by sequentially probing the bottleneck bandwidth and RTT. On the arrival of each ACK, BBR derives the current delivery rate of the last round trip, and feeds it through a windowed max-filter to estimate the bottleneck bandwidth. ”
Server upgrades will be simple
Google’s staff says that implementing BBR only implies changes on the server side, not on the network or the receiving side. Equipment can be gradually upgraded without updating both sides of a connection. This means no patches for browsers, smartphones, or switches, just the servers.
The Google team that worked on the project includes the pioneer of TCP/IP networking stack Van Jacobson and Linux kernel and networking guru Eric Dumazet.
More details about BBR will be published in the ACM Queue, Vol. 14 No. 5, September-October 2016, under an article named “BBR: Congestion-Based Congestion Control.”