TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是一种由Google开发的拥塞控制算法,自Linux 4.1内核起已经被集成。对于经常遇到网络不稳定或带宽利用率低下问题的VPS和服务器用户来说,BBR无疑是一个非常实用的加速工具。与传统的一些网络加速方式相比,BBR能够在保证公平性的同时有效提升传输效率,因此受到许多服务器运营商和技术爱好者的青睐。
一键安装 BBR 的方法
对于大多数用户而言,安装BBR并不复杂。以teddysun提供的一键安装脚本为例,该脚本适用于除OpenVZ虚拟化之外的大部分主流环境,如XEN、KVM、VMWARE及独立服务器,并支持CentOS 6及以上版本、Debian 7及以上版本以及Ubuntu 12及以上版本。
具体操作步骤如下:
- 使用root账户登录服务器。
- 下载并运行脚本:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x bbr.sh ./bbr.sh
- 安装完成后,根据提示重启VPS。
- 重启后,可通过以下命令验证是否成功开启了BBR:
- 查看内核版本:
uname -r
(建议4.10及以上) - 检查可用拥塞控制算法:
sysctl net.ipv4.tcp_available_congestion_control
返回值应包含bbr cubic reno
- 当前使用的拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control
返回值应为bbr
- 默认队列规则:
sysctl net.core.default_qdisc
返回值一般为fq
- 检查模块加载情况:
lsmod | grep bbr
若有tcp_bbr
模块即表示已启动
- 查看内核版本:
升级内核的方法
如果当前系统内核较旧,不支持BBR,可以根据不同系统进行升级:
CentOS 用户 执行以下命令升级至最新主线内核:
yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel
CentOS 6 用户需设置默认启动新内核:
sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf
CentOS 7 用户则执行:
grub2-set-default 0
Debian/Ubuntu 用户
需要手动下载官方最新版deb包。64位系统选择amd64架构且文件名中含有generic字样;32位则选i386架构对应包。例如,下载好相应deb包后,通过如下命令安装(以linux-image-4.9.3为例,请替换为实际下载文件名):
dpkg -i linux-image-4.x.x-x-generic_xxx_amd64.deb
然后更新grub配置并重启:
/usr/sbin/update-grub
reboot
完成上述步骤后,即可体验到由BBR带来的网络性能提升。
信息参考来源:GitHub teddysun/across、Google TCP BBR 官方文档