TCP-BBR: Performance analysis

Performance comparison of TCP-BBR's congestion avoidance algorithm with traditional alternatives.

18/01/2020 - TCP is the well-known transport layer protocol which, together with IP, is among the most important of the so-called Internet protocol suite. Its function, essentially, is to control the transmission, making reliable communications out of a protocol which, itself, wouldn't be. TCP is connection oriented, and therefore allows communicating terminals to monitor the status of the transmission. There are many characteristics that distinguish it, but - among all - one is of particular interest for the study of performance: the verification of the data flow in order to avoid network saturation.

Congestion Control is the feature that avoids this situation. It consists in limiting the amount of data transmitted in the form of packets that have not yet been found, essentially allowing the data flow to be adapted to the current state of the network, deduced from information relating to the transmission of the packages themselves.
The operation takes place through the dynamic sizing of the data flow, which follows precise algorithms in order to guarantee the maximum possible performance, ensuring the security and robustness that characterize TCP. Historically, different versions of the protocol - with related different congestion avoidance algorithms - have been distributed and used on the Internet, such as TCP-RENO and TCP-CUBIC. A new algorithm, already in use on several platforms (for example, on some Google services) is TCP-BBR, which appears to have earned a reputation as an excellent solution, better than any of its predecessors, following testing by Google and others.
It is an innovative solution that is more suitable for today's network than the versions developed several years ago: the traditional congestion control based on packet loss is renewed - in BBR - thanks to the integration with specific information about the information propagation speed in the network.

I conducted, together with a working group at the University of Trento, some tests to verify the behaviour of the algorithm in different network traffic situations, comparing each time the performances obtained with those related to traditional algorithms.

The results we have obtained are pleasantly in agreement with expectations. BBR shows a similar and sometimes worse trend than its alternatives in ideal situations , without losses; when, on the other hand, the network approaches reality, therefore with a non-zero Loss, BBR shows significantly better performance against RENO and CUBIC.

The complete report of the tests carried out is available at the following link:

download report pdf

Share this article:
Let's get in touch!