[其他] linux内核开启bbr拥塞算法

[复制链接]
查看242 | 回复0 | 2025-1-31 09:27:36 | 显示全部楼层 |阅读模式
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

sysctl -p

开启BBR:通过向/etc/sysctl.conf文件添加两行配置来启用BBR。在终端中执行以下命令:

echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf

生效更改:

sudo sysctl -p

验证BBR是否启动:

sysctl net.ipv4.tcp_congestion_control

输出应该显示net.ipv4.tcp_congestion_control = bbr,表明BBR已启用。

对于检查tcp_bbr模块是否已加载,由于BBR是内核自带的,不需要作为独立模块加载,所以直接检查拥塞控制算法即可。

关于bbr的介绍:

TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google开发的一种TCP拥塞控制算法,旨在显著提高互联网传输速度,同时减少网络延迟。

BBR的核心思想是基于网络的瓶颈带宽和往返时间(RTT)来控制网络流量,而不是依赖于传统方法中的数据包丢失作为网络拥塞的主要指标。

这种方法使得BBR能够更有效地利用网络路径上的可用带宽,从而提高吞吐量和减少延迟。

BBR的主要作用包括:
提高网络吞吐量:BBR通过更准确地估计和利用网络的实际带宽能力,使得TCP连接可以更充分地使用网络路径上的可用带宽,特别是在高带宽延迟产品(BDP)网络中,这可以显著提高数据传输速度。

减少延迟:传统的TCP拥塞控制算法(如Cubic或Reno)在检测到丢包时会减少数据发送速率,这通常意味着它们会在网络链路未完全饱和时就减速,导致不必要的延迟。BBR通过关注实际的带宽和RTT来优化数据传输,减少了因过度反应于丢包而造成的延迟。

抵抗包丢失:在传统的TCP拥塞控制算法中,包丢失被视为网络拥塞的主要迹象,导致减少数据传输速度。BBR算法能够区分网络拥塞和随机的包丢失,即使在出现丢包的情况下也能保持较高的数据传输效率。

公平性:虽然BBR在许多情况下表现出色,但其对网络公平性的影响仍在研究和改进之中。理想情况下,所有的拥塞控制算法都应该能够在共享网络环境中公平地竞争带宽资源。

适应性:BBR能够适应网络条件的变化,如带宽和RTT的变化,使其在各种网络环境中都能表现良好,包括移动网络、卫星链接等高延迟环境。

总的来说,BBR通过其对网络条件的精确估计和优化,为用户提供了更快速、更可靠的网络体验,特别是在带宽波动大和高延迟的网络环境中。

审核员之家欢迎您的共同参与,我分享,我快乐!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则