首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >启用BBR拥塞控制算法

启用BBR拥塞控制算法

原创
作者头像
久绊A
发布2025-09-11 14:02:24
发布2025-09-11 14:02:24
4420
举报

BBR(Bottleneck Bandwidth and Round-trip time)是谷歌开发的一种TCP拥塞控制算法,它能有效提升网络传输速度和性能,尤其在高延迟、有轻微丢包的场景下效果显著。下面是如何在现代Linux系统上启用和验证BBR的步骤。

📋 先决条件

首先,确保你的Linux内核版本是4.9或更高。BBR算法在该版本开始被引入。 你可以通过以下命令检查当前内核版本:

代码语言:javascript
复制
uname -r
🔧 启用步骤

以下是启用BBR的主要步骤概览:

步骤

操作

命令/配置

1. 检查当前算法

查看当前使用的拥塞控制算法

sysctl net.ipv4.tcp_congestion_control

2. 修改sysctl配置

编辑配置文件启用BBR

在 /etc/sysctl.conf 添加指定行

3. 应用配置

使新的配置立即生效

sudo sysctl -p

4. 验证启用

确认BBR已成功启用

sysctl net.ipv4.tcp_congestion_control

检查当前的拥塞控制算法:在启用之前,你可以先查看系统当前使用的算法,通常默认是cubic

代码语言:javascript
复制
sysctl net.ipv4.tcp_congestion_control

修改sysctl配置文件:使用你喜欢的文本编辑器(如nanovi)打开 /etc/sysctl.conf 文件。

代码语言:javascript
复制
sudo nano /etc/sysctl.conf

将以下两行配置添加到文件末尾:

代码语言:javascript
复制
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

这里,net.core.default_qdisc=fq 表示设置公平队列(Fair Queueing)作为默认的队列规则,net.ipv4.tcp_congestion_control=bbr 则是设置TCP拥塞控制算法为BBR。

保存并应用配置:保存对 /etc/sysctl.conf 文件的修改后,运行以下命令使更改立即生效:

代码语言:javascript
复制
sudo sysctl -p

验证BBR是否成功启用:执行以下命令来检查BBR是否已经成为当前的拥塞控制算法。

代码语言:javascript
复制
sysctl net.ipv4.tcp_congestion_control

如果输出结果为 net.ipv4.tcp_congestion_control = bbr,则说明BBR已经成功启用。

📝 额外检查与说明

你也可以使用以下命令查看系统支持的所有拥塞控制算法,确认bbr在其中。

代码语言:javascript
复制
sysctl net.ipv4.tcp_available_congestion_control

在某些系统(如Ubuntu)上,你可能需要显式加载tcp_bbr模块(尽管现代内核通常已将其编译在内)。可以使用 lsmod | grep bbr 来检查。

根据一些资料,BBR对上行流量的加速效果更为显著。这意味着它可能更有利于作为服务器或需要大量上传带宽的场景。

如果以后需要关闭BBR,只需注释掉(或删除)之前在 /etc/sysctl.conf 中添加的两行配置,然后再次运行 sudo sysctl -p 即可。

⚠️ 注意事项

内核版本:确保你的Linux内核版本高于4.9。如果版本过低,你需要先升级内核。

队列规则 (qdisc):建议将默认队列规则设置为 fq (Fair Queueing) 以获得BBR的最佳性能。部分系统也可能使用 fq_codel

网络环境:BBR在存在一定延迟和轻微丢包的网络环境中(如跨国链路)改善效果尤为明显。在网络条件非常好的局域网内,性能提升可能感知不强。

无需重启:通过 sysctl -p 应用配置后通常立即生效,无需重启系统。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 📋 先决条件
  • 🔧 启用步骤
  • 📝 额外检查与说明
  • ⚠️ 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档