BBR(Bottleneck Bandwidth and Round-trip propagation time)是 Google 开发的一种 TCP 拥塞控制算法,可以通过测量网络链路的带宽和时延来动态地调整 TCP 的发送窗口大小,并根据实时网络状况来优化数据传输速度。
相比 Reno 和 Cubic 等算法 BBR 在高延迟、高带宽网络上具有更好的性能。
BBR 算法主要通过以下三个步骤来实现:
- 1.测量网络链路的带宽和时延。
- 2.计算出当前合适的拥塞窗口大小,并动态调整发送窗口。
- 3.在网络发生拥塞时立即降低发送速率,并在网络恢复后逐渐提高发送速率。
通过这些步骤,BBR 算法可以在保持网络稳定和公平的前提下,最大限度地利用网络带宽和减少延迟。因此,在高延迟、高带宽网络上,BBR 算法可以显著提高 TCP 的性能和可靠性,从而提升用户体验。
- net.ipv4.tcp_congestion_control 是 Linux 内核的一个 TCP 拥塞控制算法设置参数。
- FQ 是一种流量调度算法,在网络拥塞的情况下提供更好的性能和公平性,使用 fq 作为默认的网络队列规则对网络传输进行调度,提高网络的性能。
查看当前系统内核版本 (4.9 以上版本支持直接开启BBR)
uname -a
列出当前系统启用过的TCP拥塞控制算法列表
sysctl net.ipv4.tcp_available_congestion_control
查看当前内核使用的TCP拥塞控制算法
sysctl net.ipv4.tcp_congestion_control
流量调度算法设置为fq,TCP拥塞控制算法设置为BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo net.ipv4.tcp_congestion_control=bbr >> /etc/sysctl.conf
刷新配置立即生效
sysctl -p
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...