MENU

Centos7/8 系统开启BBR加速

November 15, 2021 • Read: 1898 • 技术杂谈

什么是BBR?

TCP拥塞控制是传输控制协议(英语:Transmission Control Protocol,缩写TCP)避免网络拥塞的算法,是互联网上主要的一个拥塞控制措施。它使用一套基于线增积减模式的多样化网络拥塞控制方法(包括慢启动和拥塞窗口等模式)来控制拥塞。在互联网上应用中有相当多的具体实现算法。

TCP使用多种拥塞控制策略来避免雪崩式拥塞。TCP会为每条连接维护一个“拥塞窗口”来限制可能在端对端间传输的未确认分组总数量。这类似TCP流量控制机制中使用的滑动窗口。TCP在一个连接初始化或超时后使用一种“慢启动”机制来增加拥塞窗口的大小。它的起始值一般为最大分段大小(Maximum segment size,MSS)的两倍,虽然名为“慢启动”,初始值也相当低,但其增长极快:当每个分段得到确认时,拥塞窗口会增加一个MSS,使得在每次往返时间(round-trip time,RTT)内拥塞窗口能高效地双倍增长。当拥塞窗口超过慢启动阈值(ssthresh)时,算法就会进入一个名为“拥塞避免”的阶段。在拥塞避免阶段,只要未收到重复确认,拥塞窗口则在每次往返时间内线性增加一个MSS大小。

--- 以上内容摘自百度百科

通俗的理解就是:BBR是一种拥塞控制算法,能够优化数据包的传输,一定程度上能提高我们的使用体验,带来的直观感受就是仿佛速度变快啦!

Centos7 安装

一键脚本

wget "https://github.com/cx9208/bbrplus/raw/master/ok_bbrplus_centos.sh" && chmod +x ok_bbrplus_centos.sh && ./ok_bbrplus_centos.sh

安装后,执行uname -r,显示4.14.129-bbrplus则切换内核成功
执行lsmod | grep bbr,显示有bbrplus则开启成功

手动安装

卸载本机的锐速(如果有)

# 1.下载内核
# 内核备用下载地址:https://wwa.lanzoui.com/iuxdFwisq4d  
wget https://github.com/cx9208/bbrplus/raw/master/centos7/x86_64/kernel-4.14.129-bbrplus.rpm

# 2.安装内核
yum install -y kernel-4.14.129-bbrplus.rpm

# 3.切换启动内核
grub2-set-default 'CentOS Linux (4.14.129-bbrplus) 7 (Core)'

# 4.设置fq
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

# 5.设置bbrplus
echo "net.ipv4.tcp_congestion_control=bbrplus" >> /etc/sysctl.conf

# 6.重启
reboot

# 7.检查内核版本
uname -r

# 显示4.14.129-bbrplus则成功

# 8.检查bbrplus是否已经启动

lsmod | grep bbrplus
#显示有tcp_bbrplus则成功

卸载方法

安装别的内核bbrplus自动失效,卸载内核自行谷歌即可

Centos8 开启

CentOS 8 默认内核版本为 4.18.x,内核版本高于 4.9 就可以直接开启 BBR,所以 CentOS 8 启用 BBR 非常简单不需要再去升级内核。

开启方法

依次执行

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

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

sysctl -p

reboot

重启成功之后,查看BBR是否开启成功

sysctl -n net.ipv4.tcp_congestion_control

会返回bbr

lsmod | grep bbr

会返回tcp_bbr

显示正常即开启成功

来源参考