How to Check TCP Congestion Control Algorithms on Linux
By default, Linux uses the Reno
and CUBIC
congestion control algorithm. To check available congestion control algorithms, run the following command.
sysctl net.ipv4.tcp_available_congestion_control
Output:
net.ipv4.tcp_available_congestion_control = cubic reno
To check the current congestion control algorithm in use, run
sysctl net.ipv4.tcp_congestion_control
Output:
net.ipv4.tcp_congestion_control = cubic
TCP BBR is supported by Linux since kernel version 4.9. Use the following command to check your Linux kernel version.
uname -r
Ubuntu 18.04 has kernel 4.13.
4.13.0-16-generic
Enable TCP BBR in Ubuntu
Once you have kernel 4.9 or above, edit sysctl.conf file.
sudo nano /etc/sysctl.conf
Add the following two line at the end of the file.
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
Save and close the file. Then reload sysctl configurations.
sudo sysctl -p
Now check the congestion control algorithm in use.
sysctl net.ipv4.tcp_congestion_control
Output:
net.ipv4.tcp_congestion_control = bbr
Congrats! You have successfully enabled TCP BBR on Ubuntu.
Source: https://www.linuxbabe.com/ubuntu/enable-google-tcp-bbr-ubuntu