开启服务器的 BBR 加速

发布于 2024-02-15  181 次阅读


1、什么是BBR

BBR(Bottleneck Bandwidth and Round-trip propagation time)是一种由Google开发的拥塞控制算法,可以在网络传输过程中自适应地调整数据包的发送速率,从而最大化利用网络带宽并减少延迟。

BBR算法通过测量网络的带宽和传输延迟来确定网络拥塞程度,并根据实时测量结果来调整数据包的发送速率。相比传统的TCP拥塞控制算法,BBR更加智能、精准,可以在不引起网络拥塞的前提下,尽可能地提高网络传输效率和稳定性。

BBR算法被广泛应用于Google的网络服务中,并在全球范围内得到了广泛部署。在使用BBR算法的网络环境下,用户可以获得更快、更稳定的网络传输速度,特别是在高延迟、高带宽的网络环境下,BBR算法表现尤为出色。

  • 支持的操作系统:CentOS、Debian、Ubuntu等等。
  • 支持的虚拟技术:VPS、KVM、Xen、VMware等(注意,OpenVZ不支持!)。
  • 内存需求:至少128M即可。

2、开启原生BBR加速

只要将Linux Kernel内核升级到4.9及以上版本,即可实现BBR加速。Debian≥9 或是 CentOS≥8 以上的系统可以开启系统自带BBR加速。

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

具体来说,这些代码将前两行添加到了 /etc/sysctl.conf 配置文件中。

第一行的意思是设置默认的队列规则为 fq(Fair Queueing 公平队列规则),它是一种先进先出(FIFO)调度算法,用于优化网络流量的传输。

第二行的意思是启用 BBR 拥塞控制算法,它是一种基于带宽和延迟测量的拥塞控制算法,可以提高网络传输效率和稳定性。

接下来的 sysctl -p 命令是用来加载并应用修改后的 /etc/sysctl.conf 文件中的配置项。

最后的 lsmod | grep bbr 命令用于查看是否已经加载了与 BBR 相关的内核模块。如果输出结果中包含 "bbr" 字样,则表示 BBR 已经成功加载,如下图所示:

tenth_1

3、五合一的TCP网络加速脚本

下面是一个五合一的TCP网络加速脚本,其包括了BBR原版、BBR魔改版、暴力BBR魔改版、BBR plus、Lotsever(锐速)安装脚本。不建议在非测试环境中使用魔改或者各种 plus 版本的 BBR,不稳定。

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

tenth_2

按照脚本提示,即可安装开启 BBR。再次开启脚本的命令如下:

./tcp.sh
最后更新于 2024-02-15