TCP 连接中,由于需要维持连接的可靠性,引入了拥塞控制和流量管理的方法。Google BBR 就是谷歌公司(非官方)提出的一套开源 TCP 拥塞控制的算法。在最新的 linux 4.9 及以上的内核版本中已被采用。

由于开启 tcp_bbr 需要 kernel 4.9+,所以,需要先查看下系统的内核是否支持。

uname -r

1、如果内核小于 4.9,那么需要先升级内核

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.8/linux-headers-4.12.8-041208_4.12.8-041208.201708161815_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.8/linux-headers-4.12.8-041208-generic_4.12.8-041208.201708161815_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.8/linux-image-4.12.8-041208-generic_4.12.8-041208.201708161815_amd64.deb

1.1、内核安装、更新系统引导文件并重启

sudo dpkg -i linux-*.deb
sudo update-grub
sudo reboot

2.1、TCP_BBR确认

执行 lsmod | grep bbr,如果结果中没有 tcp_bbr 的话就先执行

modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf

执行

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

保存生效

sysctl -p

执行

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

如果结果都有 bbr, 则证明你的内核已开启 bbr

看到有 tcp_bbr 模块即说明bbr已启动