Google BBR (Bottleneck Bandwidth and Round-trip propagation time) is a TCP congestion control algorithm developed by Google and released in 2016. The main goal of BBR is to maximize TCP throughput and reduce latency caused by congestion control in high-latency, high-bandwidth networks.

It is based on the congestion signal of the network, not the congestion signal based on packet loss. The main purpose of this algorithm is to maximize TCP throughput and reduce the delay caused by congestion control in high-latency, high-bandwidth networks.

The BBR algorithm has been widely used in many Google services, including YouTube, Google Search and Google Cloud Platform. This algorithm has also been merged into the Linux kernel as part of the Linux kernel version 4.9 onwards.

BBR features network-based congestion signaling rather than traditional packet loss-based congestion signaling. BBR determines the degree of congestion by measuring the bandwidth and round-trip delay time of the network, and adjusts the sending rate based on this information, thereby achieving higher throughput and lower latency.

Enabling the Google BBR algorithm on a Linux server is very simple. Following are the steps to enable Google BBR algorithm on Ubuntu 18.04 LTS.

Step 1: Check Kernel Version

First, you need to check if your Linux kernel version is higher than version 4.9. You can check the kernel version with the following command:

uname -r

If your kernel version is less than 4.9, you need to upgrade your kernel. On Ubuntu 18.04 LTS, you can upgrade your kernel with the following command:

sudo apt-get update
sudo apt-get install linux-generic-hwe-18.04

Step 2: Enable Google BBR Algorithm

Enabling the Google BBR algorithm is very simple. You just need to run the following command:

sudo modprobe tcp_bbr

Step 3: Confirm that the Google BBR algorithm is enabled

You can confirm that the Google BBR algorithm is enabled with the following command:

sysctl net.ipv4.tcp_available_congestion_control

You should see the following output:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

Step 4: Set Google BBR as the default congestion control algorithm

Finally, you need to set Google BBR as the default congestion control algorithm. You can do this with the following command:

sudo sysctl -w net.ipv4.tcp_congestion_control=bbr

You can confirm that Google BBR is set as the default congestion control algorithm with the following command:

sysctl net.ipv4.tcp_congestion_control

You should see the following output:

net.ipv4.tcp_congestion_control = bbr

Now the Google BBR algorithm is enabled and set as the default congestion control algorithm.

Enabling BBR can significantly improve network performance, especially for high-bandwidth, high-latency network environments. So, if you need to improve network performance, you might consider enabling BBR on your Linux server.