BBR优点和缺陷:

高带宽利用率:由于是delay-based,而不是loss-based,不受丢包影响,带宽利用率肯定远远高于Cubic。尤其在国内某些恶心的运营商,为了减少跨国流量,故意在出口随机丢包。这也是号称出口100G,我们出国还是慢如蜗牛一般(实测一个校园网到欧洲,Cubic只有200k,而我们一个delay-based协议可以跑到30M)

低延迟:所有delay-based方法都能将网络延迟控制在很小范围,TCP Vegas, Fast, LEDBAT等。BBR当然也可以。

公平性:BBR采用的RTprop目标,按道理是无法做到多个流平分带宽的,原因见上述2。因此,BBR采用了一个天才的工(liu)程(mang)想法, 同步所有流,从0起步。这就是ProbeRTT的真实目的。

TCP竞争:这是BBR的痛点,也是所有CC算法的痛点。没办法,谁让你没早生一点,比Van Jacboson更早提出TCP协议了。现在网络上都是loss-based的cubic,你让新算法如何去比?不过,BBR已经很尽力了,在很多情况下性能和cubic差不多,估计小鲜肉们废了好多脑细胞调参数吧。但没卵用,换个环境就被废了。
总体来说就是可以让服务器的带宽尽量跑慢,并且尽量不要有排队的情况,让网络服务更佳稳定和高效。
所以说开启BBR还是很有必要的。下面开始操作:

修改系统变量:

echo net.core.default_qdisc=fq >> /etc/sysctl.conf
echo net.ipv4.tcp_congestion_control=bbr >> /etc/sysctl.conf

保存生效

sysctl -p

执行

sysctl net.ipv4.tcp_available_congestion_control

如果结果是这样

rootMF8-BIZ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
就开启了。
执行 lsmod | grep bbr
显示tcp_bbr 20480 0
以检测 BBR 是否开启。

最后修改:2021 年 08 月 01 日
如果觉得我的文章对你有用,请随意赞赏