development

What is TCP BBR?

What is BBR

A congestion control based on measuring the two parameters that
characterize a path: bottleneck bandwidth and round-trip propagation
time, or BBR.

Why Use BBR?

  • Better congestion control algorithm in TCP.
  • No need to change the client.
  • More effective in a high packet loss network!
    • The classic TCP uses binary exponential backoff and makes requests slow.

How BBR Work?

Instead of assuming a packet loss as congestion, BBR measures two parameters and forms a control loop.

  1. Bottleneck Bandwidth
  2. RoundTripTime of a packet

Bottleneck bandwidth is the max available bandwidth of a connection.

It creates a control loop to bump up/down Bottleneck bandwidth depending on average packet payload delivery over a time t.

On each ack: It updates the Bottleneck Bandwidth & RoundTrip time.
On each send: It tempers the pacing_rate to bump up/down the Bottleneck bandwidth.

BBR is a simple instance of a Max-plus control system, a new approach
to control based on nonstandard algebra.12 This approach allows the
adaptation rate [controlled by the max gain] to be independent of
the queue growth [controlled by the average gain].

Since the server can instrument the packets, monitor and decide the right load to a connection, the client needs not any change.

CUBIC vs BBR

CUBIC also increases bottleneck bandwidth but doesn’t retract after hitting the plateau. BBR actively learns the packet RTT & adjusts bandwidth. Thus the queue length stays small and latencies smaller than CUBIC.

References

Categories: development

Tagged as: , ,

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.