在 Linux 上啟用 TCP 壅塞演算法 - BBR

前言

BBR 是一個由 Google 開發出來的新科技,主要是用來優化及控制 TCP 的壅塞情況,充分利用頻寬並降低其延遲。而如果你正在使用 Linux Kernel 4.9 之後的版本,那預設已經有這東西了,但是沒有被啟用而已。這篇文章就來講解如何啟用這個 BBR 魔法。

檢查內核版本

在前言提到,BBR 這個東西在 Linux Kernel 4.9 後預設已經加入,所以我們可以使用以下命令來檢查目前版本。

root@debian:~# uname -r
6.1.0-20-amd64

可以看到,我的版本為 6.1.0,明顯大於 4.9,接著我們就要開始來設定 BBR 了。

設定 bbr

載入模組 tcp_bbr

modprobe tcp_bbr

將啟用 bbr 的參數寫入 /etc/sysctl.conf 中。

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

存檔後,我們使用以下命令讓他生效。

sudo sysctl -p

檢查是否生效

我們可以使用以下兩種方式,來確定 BBR 是否生效了。

root@debian:~# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr

root@debian:~# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr