Operations 8 min read

Unlock Faster Network Speeds: Step-by-Step Guide to Enabling TCP BBR on Linux

Learn how to enable Google’s TCP BBR congestion control algorithm on Linux kernels 4.9+, including background, performance comparison with Reno/CUBIC, detailed deployment steps on CentOS via ELRepo, and verification commands, to dramatically improve bandwidth utilization on high‑latency, lossy networks.

360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
Unlock Faster Network Speeds: Step-by-Step Guide to Enabling TCP BBR on Linux

Preface

The article, authored by a recent graduate from the ADDOPS team, explores the TCP BBR (Bottleneck Bandwidth and RTT) congestion control algorithm that was merged into the mainline kernel in version 4.9. It provides deployment steps and a brief description of the algorithm’s use cases and principles.

Background

After forking Google’s open‑source BBR implementation on GitHub, the author set up a test machine to evaluate its performance. Deploying BBR on a proxy server in Japan increased download speed from 381 KB/s to 4.26 MB/s compared to the default TCP Cubic.

Test environment: a Vultr server in Japan acting as an HTTP proxy (sender). The local telecom link is 10 Mbps shared, the proxy is limited to 1 Mbps, RTT ≈ 96 ms. BBR outperformed Cubic especially under packet loss, though the test raises ethical considerations.

Comparison Analysis

Traditional congestion algorithms like Reno and CUBIC are event‑driven and aim to converge to a delayed equilibrium, often resulting in saw‑tooth bandwidth usage. BBR, by contrast, samples the minimum RTT over a roughly 10‑second window and proactively probes for available bandwidth, making it more aggressive in lossy networks.

Both Reno/CUBIC and BBR share the goals of finding current bandwidth, avoiding congestion, and probing more bandwidth, but Reno/CUBIC are passive, while BBR is feedback‑driven and active.

According to Dr. Li Bojie of MSRA, BBR solves two problems: fully utilizing bandwidth on links with packet loss, and reducing buffer occupancy to lower latency.

Quick Start

Requirements: a Linux machine running kernel 4.9 or newer (e.g., CentOS 7 with ELRepo enabled).

Installation steps:

1. Import the ELRepo GPG key: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 2. Add the ELRepo repository:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3. Install the fastestmirror plugin (optional but recommended): yum install yum-plugin-fastestmirror 4. Install the latest mainline kernel: yum --enablerepo=elrepo-kernel install kernel-ml 5. Set the new kernel as the default boot entry: grub2-set-default 0 6. Reboot and verify the kernel version: uname -a 7. Enable BBR by adding the following lines to /etc/sysctl.conf:

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

8. Reload sysctl settings or reboot, then verify:

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

9. Confirm the BBR module is loaded: lsmod | grep tcp_bbr When the module is active, you can begin performance testing.

Summary

TCP congestion control is determined by the sending side; therefore, to improve download speeds, BBR should be deployed on the server, while for uploads it belongs on the client. If both ends use BBR, fairness approximates that of traditional TCP, but overall resource utilization improves. Since Google has merged BBR into the mainline kernel, it is now widely available.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Linux kernelnetwork performanceCentOSTCP BBR
360 Zhihui Cloud Developer
Written by

360 Zhihui Cloud Developer

360 Zhihui Cloud is an enterprise open service platform that aims to "aggregate data value and empower an intelligent future," leveraging 360's extensive product and technology resources to deliver platform services to customers.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.