TCP拥塞控制算法——BBR

BBR简介

BBR是一个新的TCP拥塞控制算法,由几位Google员工开发。该算法主要是为了跑满带宽,经实测其TCP优化效果远比目前的cubicreno优秀。
目前Linux Kernel 4.9已引入该算法,但默认没有启用,需要手动开启。常见的Linux发行版皆可手动升级并使用该内核。

更新内核

Ubuntu官方内核仓库在这里,其升级内核非常方便。首先下载新版内核(x64):

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

安装内核:

dpkg -i linux-image-4.9.0*.deb

至此,对于大部分系统来说内核升级已经完成了,既不用删除旧内核也不需要手动更新grub,重启就可以了。

当然你也可以删除旧内核:

dpkg -l|grep linux-image 
apt-get purge 旧内核

更新grub引导并重启:

update-grub
reboot

启用BBR

修改/etc/sysctl.conf文件:

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

保存文件并使其生效:

sysctl -p

执行以下命令,如果结果中有bbr则BBR已开启:

sysctl net.ipv4.tcp_available_congestion_control

执行以下命令,如果结果中有bbr则BBR已启动:

lsmod | grep bbr