程序简介:
BBR (Bottleneck Bandwidth and RTT) 是一种TCP拥塞控制算法,它可以高效增加吞吐和降低网络延迟,并且Linux Kernel4.9+已经集成该算法。开启BBR也非常简单,因为它只需要在服务端开启,客户端不需要做任何改变。

重要特色:
响应实际的拥塞而不是丢包。设计该算法的目的是希望能够响应实际拥塞而不是丢包。BBR对网络进行建模,使其可以与当前带宽一样快的速度进行发送,并且在10Gb,100ms链路上的传输速度比以前的TCP快2700倍,而损失为1%。
专注于在网络不太理想时提高网络性能。TCP BBR更准确地平衡了公平性和利用率,从而提高了同一网络上的下载速度。在网络状况不佳的情况下最明显。(如果您的网络通畅,它则不会造成影响。)
不需要在客户端安装BBR。这是魔法小精灵的尘土。像QUIC这样的现有算法要求客户端和服务器都同时实现该算法。BBR并不需要客户端也使用BBR。这在使用较旧的移动平台且带宽有限或网站和服务尚未转换的地区的发展中国家尤其重要。

安装指南:
我们首先安装elrepo源:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

安装yum-utils:

yum -y install yum-utils

启用elrepo-kernel:

yum-config-manager --enable elrepo-kernel

安装elrepo内的最新内核:

yum -y install kernel-ml kernel-ml-devel

完成之后,一般情况下,新安装的内核就应该已经在grub2的0号启动位了,不过为了以防万一,还是自己执行下面的命令手动查看一番:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

如图所示的回显,4.9及以上的内核就是我们刚新安装上的内核了,确实是在0号:
安装上的新内核.png
接下来设置grub2默认的启动项为0,如果你的4.9及以上内核启动编号不是0就把下面命令的0改成对应你自己的:

grub2-set-default 0

然后直接重启机器:

reboot

如果内核更换成功并且grub2启动没问题的话,稍等片刻机器就能重新开机,但如果哪个地方出了问题可能就挂掉了,此时你只能通过VNC或者IPMI检查。也有可能会出现重启之后内核没有更换成功的问题,这就要自己检查了。

在系统重启之后先看下内核是否更换成功:

uname -a

返回4.9及以上的内核信息就说明更换成功:
这样便是内核更换成功了.png
所以接下来就是开启BBR了,直接依次执行下面的三条命令即可完成开启BBR的操作:

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

最后验证BBR是否启用成功:

sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

返回如下图信息就说明大功告成了:
这样表示BBR安装并启动成功了.png

打开支付宝首页搜“559920739”领红包,领到大红包的小伙伴赶紧使用哦! (如果你觉得本文不错,请扫描下面二维码随意打赏哦)
最后修改:2020 年 12 月 22 日
如果觉得我的文章对你有用,请随意赞赏