在ubuntu24.04中手动开启BBR
TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google设计,于2016年发布的拥塞算法。以往大部分拥塞算法是基于丢包来作为降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最大带宽和往返时间来建立网络的显式模型。数据包传输的每个累积或选择性确认用于生成记录在数据包传输过程和确认返回期间的时间内所传送数据量的采样率。该算法认为随着网络接口控制器逐渐进入千兆速度时,与缓冲膨胀相关的延迟相比丢包更应该被认为是识别拥塞的主要决定因素,所以基于延迟模型的拥塞控制算法(如BBR)会有更高的吞吐量和更低的延迟,可以用BBR来替代其他流行的拥塞算法。
BBR算法已于linux4.9内核以后被整合进入了linux内核,因此没有必要使用一键脚本安装旧版魔改内核,因为linux默认的拥塞控制算法是CUBIC,为了更好的网络体验,因此需要手动开启BBR。
为了避免重复操作,检查当前 Ubuntu 是否已经启用了 BBR 网络拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control
检查当前 Ubuntu 系统的 BBR 兼容性:
sudo modprobe tcp_bbr
如果系统兼容 BBR,上述命令将不会有任何输出。
修改/etc/sysctl.conf
配置文件来启用 BBR,请在「终端」中执行以下命令追加配置:
sudo sh -c ‘echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf’
sudo sh -c ‘echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf’
在这里,我们设置了fq
(Fair Queuing,公平排队)作为默认的排队规则,并指定bbr
作为拥塞控制算法。
执行以下命令重新加载 sysctl 配置,以应用更改:
sudo sysctl -p
要验证 BBR 是否已经成功激活:
sysctl net.ipv4.tcp_congestion_control
如果看到以下输出,表示 BBR 已经成功被设置:
net.ipv4.tcp_congestion_control = bbr
发表评论