CentOS 6安全快速启用TCP BBR拥塞控制算法

提醒:本文最后更新于 2925 天前,文中所描述的信息可能已发生改变,请仔细核实。

最近BBR(Bottleneck Bandwidth and RTT)算法很火,类似于锐速的单边加速工具,而且免费使用,不存在破解问题。

这是由谷歌程序员们开发的新的TCP拥塞控制算法,其目的就是要尽量跑满带宽,并且尽量不要有排队的情况。

目前Linux Kernel 4.9 RC已加入了该算法,所以我们只要升级内核,即可享用。

目前elrepo的mainline stable包,只到4.8.13,要想用4.9RC,就要用到developer地址了。

请确认你的CentOS 6版本是x64还是x86,本文暂以x64为例,说明如何更新的。

首先,先安装最新版本内核,也就是Kernel 4.9 RC8。

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -ivh http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-4.9.0-0.rc8.el6.elrepo.x86_64.rpm
sed -i 's:default=.*:default=0:g' /etc/grub.conf

接着查看/etc/sysctl.conf是否存在net.ipv4.tcp_congestion_controlnet.core.default_qdisc,存在就删除掉。

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

运行完,会自动重启,重启后执行sysctl net.ipv4.tcp_available_congestion_control,如果结果中有bbr,则证明你的内核已开启BBR。

执行lsmod|grep bbr,看到有tcp_bbr模块即说明BBR已启动。折腾有风险,祝你好运。

如果你是CentOS 6 x86版本,只要把内核下载地址换为下面这个即可。

http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_32/RPMS/kernel-ml-4.9.0-0.rc8.el6.elrepo.i686.rpm

至于使用elrepo的原因,就是容易roll back,或者持续更新。

启用BBR的效果据说并不会比锐速差多少,不过据我实测,也就下载大文件的时候,稍微快了一些,而且跟VPS运行时间等也有关系。

BBR内置了自主的调速机制,不受TCP拥塞控制状态机的控制,BBR算法是自闭的,完全基于反馈,它可以自己完成VJ的所有状态探测以及切换,无需外界干涉,且对外界的干涉视而不见。

怎么说呢,有总比没有好,没准越来越完善呢?最重要是免费。

转载请注明转自:kn007的个人博客的《CentOS 6安全快速启用TCP BBR拥塞控制算法