先来介绍一下什么是BBR

BBR是来自于Google的黑科技,目的是通过优化和控制TCP的拥塞,充分利用带宽并降低延迟,起到神奇般的加速效果。拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)。
拥塞控制就是针对此问题的控制技术/解决方案,但也不能说是解决,控制技术只能起到尽量避免/缓解拥塞的作用。TCP-BBR技术呢,用了一种溢水原理的思想,来预判丢包率,调配发包速率。
假设你有一支较细的U形管,下面还有一堆不可溶的填塞物,你从一边开始大量灌水,如果另一边出水正常,你就可以继续加大灌水量,达到最大带宽。如果另一边发现水时断时有,就证明下面出现了随机拥堵,这时,你就要减小灌水量,等待水位落下。这时如果采用传统继续灌水时,也就会造成水溢出(丢包现象的产生)。所以这是真正的按需发包。当然,这一切是建立在系统预估的情况下。


关于脚本
在 Chikage 的脚本基础上加了 bbrplus 的内核切换与BBR加速安装

有些朋友会担心是否会有有害代码的问题。不过BBR就是一个开源在GitHub的项目。

BBR在大部分的时间都是比较好用的。但是偶尔也会在某些机器,某些线路上面的效果不明显。

这里就给大家推荐某大佬修改的一键脚本,集成了BBR原版/魔改/plus 锐速的四合一脚本。

项目开源地址:https://github.com/cx9208/Linux-NetSpeed


测试环境
Centos 7+, Debian 8/9, Ubuntu 16/18 测试通过


四合一的脚本如下:

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

0.png


提示:
1.切换内核前请先备份重要资料以免发生不测
2.如果提示证书错误的话,执行以下命令

apt-get -y install ca-certificates
yum -y install ca-certificates

再次开启脚本如下:

./tcp.sh

晚高峰测试结果:
1.png
9.png
测试机器美国洛杉矶直连线路,1Gbps带宽