什么是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
显示正常即开启成功