Pay-As-You-Go VPS – Only pay for what you use, with flexible billing and no long-term commitment

Enable BBR2 in Linux Kernel 6.x for Faster Networking

July 29, 2025

 

Understanding BBR2

BBR2, short for Bottleneck Bandwidth and Round-trip propagation time version 2, is an advanced congestion control algorithm developed by Google. It aims to optimize TCP performance, providing improved throughput on high-latency and lossy networks. With Linux Kernel 6.x, enabling BBR2 can offer significant enhancements in data transmission efficiency, especially for applications sensitive to network performance.

Why Choose BBR2?

One of the primary reasons for adopting BBR2 in Linux environments is its ability to maximize available bandwidth while minimizing latency. Traditional congestion control mechanisms, such as Cubic, primarily focus on reducing packet loss but may not leverage the available bandwidth effectively. BBR2, on the other hand, adjusts to network conditions in real-time, making it well-suited for the growing demands of cloud applications, video streaming, and real-time gaming.

Prerequisites

Before diving into the configuration, ensure that you are operating on a Linux distribution with Kernel 6.x or later. You can verify your kernel version by running the command:

uname -r

This command will display your current kernel version. If necessary, update your kernel to the latest available version for your distribution.

Enabling BBR2

Enabling BBR2 involves a few straightforward steps, which can be followed by any user with sufficient access rights.

Step 1: Load the BBR2 Module

Open your terminal and load the BBR2 module into your system. Input the following commands:

sudo modprobe tcp_bbr2

Step 2: Update sysctl Configuration

Next, you’ll want to set BBR2 as your default congestion control algorithm. This is done by updating the sysctl configuration. First, create a configuration file:

sudo nano /etc/sysctl.d/99-sysctl.conf

Then, add the following lines to the file:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr2

Save the file and exit the text editor.

Step 3: Apply the Configuration

To apply the changes made in the sysctl configuration file, execute the following command:

sudo sysctl -p /etc/sysctl.d/99-sysctl.conf

This command will load your changes into the running system.

Step 4: Verify the Configuration

To confirm that BBR2 is active, you can run the following command:

sysctl net.ipv4.tcp_congestion_control

You should see bbr2 shown as the current congestion control algorithm. If so, congratulations! You have successfully enabled BBR2 on your Linux system.

Tuning BBR2 for Optimal Performance

Although BBR2 works well out of the box, you can further fine-tune its performance by adjusting certain parameters. For example, you might consider modifying:

  • net.core.rmem_max and net.core.wmem_max: These control the maximum receive and send buffer sizes, respectively.
  • net.ipv4.tcp_rmem and net.ipv4.tcp_wmem: These parameters define the minimum, default, and maximum buffer sizes used by TCP.

Example Adjustments

You can add the following settings to your sysctl.conf file for more aggressive tuning:

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

Apply them with the sysctl -p command as before.

Conclusion

By enabling BBR2 in Linux Kernel 6.x, users benefit from enhanced network performance, making it a coveted choice for various applications. Given its efficient management of bandwidth and minimal latency impact, BBR2 stands out as a forward-thinking solution for modern networking challenges. So, whether you’re managing a server or working on performance-critical applications, consider turning on BBR2 for an optimized networking experience.

VirtVPS