在互联网的公路上挤死别人 - 全系系统开启BBR提高TCP性能
BBR简介
BBR(Bottleneck Bandwidth and Round-trip propagation time)是一种由Google提出的拥塞控制算法,旨在提升网络传输效率和稳定性。传统的TCP拥塞控制算法通常基于丢包或延迟作为网络拥塞的信号,而BBR则通过实时测量网络的瓶颈带宽和往返时延(RTT),动态调整数据发送速率,从而更准确地利用网络资源。
BBR的核心思想是:
- 带宽估计:持续估计网络路径的瓶颈带宽,即最大可用传输速率。
- 时延估计:测量并维持最小往返时延,用以判断网络拥塞程度。
- 速率控制:根据带宽和时延的估计结果调整发送窗口,保证发送速率接近但不超过瓶颈带宽,避免队列积压和包丢失。
相比传统基于丢包的算法,BBR能够更快地恢复带宽,减少网络延迟,提高数据传输的稳定性和吞吐量。它在Google的各类服务以及开源TCP实现(如Linux内核中的BBR模块)中得到了广泛应用。
有关于BBR的测试和具体讲解:https://songxwn.com/TCP_BBR/
具体作用
BBR(Bottleneck Bandwidth and Round-trip propagation time)具体作用主要体现在以下几个方面:
- 提高网络吞吐量BBR通过精确估计网络路径的瓶颈带宽和最小往返时延,动态调整发送速率,使数据传输更接近网络实际可用带宽,避免传统拥塞控制算法中因保守估计导致的低吞吐量问题。
- 减少网络延迟传统基于丢包的TCP拥塞控制常常导致发送端积累大量数据,造成网络队列拥堵,从而增加延迟。BBR通过控制发送速率避免队列积压,保持网络管道畅通,显著降低端到端的时延。
- 快速适应网络变化BBR能够快速响应网络带宽和延迟的变化,及时调整传输速率,减少恢复网络性能所需时间,提升连接的稳定性和用户体验。
- 提升连接稳定性和公平性通过避免过度发送造成丢包,BBR保持网络稳定,减少重传和拥塞波动。同时,BBR设计上也考虑与其他拥塞控制算法的公平共享带宽,提升多连接环境下的整体性能。
- 广泛适用多种网络环境无论是在高带宽低延迟的数据中心内部网,还是在高延迟的广域网环境,BBR均能较好地发挥作用,提高传输效率和稳定性。
总结来说,BBR通过基于带宽和时延的实时测量优化数据发送速率,提升了TCP连接的速度和稳定性,改善用户的网络体验。
Windows下BBRv2开启和验证
Windows BBR适用版本。
Windows 11 22H2 以上 支持 TCP BBR 拥塞控制,具体系统版本是从10.0.22621版本开始,而Windows Server 2025也支持此功能。
注意:BBR只会加速上行TCP流量。
Windows查看当前TCP拥塞控制(Powershell 管理员界面)
1 | PS C:Usersadmin> Get-NetTCPSetting | Select SettingName, CongestionProvider |
Windows修改为BBRv2 (使用Powershell 管理员权限)
1 | netsh int tcp set supplemental Template=Internet CongestionProvider=bbr2 |
Windows验证BBR
1 | PS C:Usersadmin> Get-NetTCPSetting | Select SettingName, CongestionProvider |
Windows切换为默认拥塞控制 (因为可能会造成本地 TCP 连接无法使用,比如导致Hyper-V不能连接)
1 | netsh int tcp set supplemental Template=Internet CongestionProvider=cubic |
Debian系列更新内核开启BBRv3 (包括Ubuntu)
安装 Xanmod 内核 - 使用南京大学镜像站
1 | wget -qO - https://dl.xanmod.org/archive.key | sudo gpg --dearmor -vo /etc/apt/keyrings/xanmod-archive-keyring.gpg |
RHEL8-10系列开启BBRv1 (包括Rocky)
1 | # 将 BBR 设置为系统默认的 TCP 拥塞控制算法,追加写入 /etc/sysctl.conf 文件(需要 root 权限) |
PS:Debian系列如果内核大于4.9 也可以用上述办法不更新内核不重启开启BBRv1
FreeBSD开启 BBR
1 | # 使用 sysrc 命令将 tcp_rack 和 tcp_bbr 内核模块添加到启动时自动加载列表中 |
运维技术交流群
发送邮件到 ➡️ [email protected]
或者关注WX公众号:网工格物

博客(最先更新)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 网工格物 - Blog!