目录
📋 先决条件
🔧 启用步骤
📝 额外检查与说明
⚠️ 注意事项
BBR(Bottleneck Bandwidth and Round-trip time)是谷歌开发的一种TCP拥塞控制算法,它能有效提升网络传输速度和性能,尤其在高延迟、有轻微丢包的场景下效果显著。下面是如何在现代Linux系统上启用和验证BBR的步骤。
📋 先决条件
首先,确保你的Linux内核版本是4.9或更高。BBR算法在该版本开始被引入。
你可以通过以下命令检查当前内核版本:
uname -r
🔧 启用步骤
以下是启用BBR的主要步骤概览:
步骤 | 操作 | 命令/配置 |
1. 检查当前算法 | 查看当前使用的拥塞控制算法 |
|
2. 修改sysctl配置 | 编辑配置文件启用BBR | 在 |
3. 应用配置 | 使新的配置立即生效 |
|
4. 验证启用 | 确认BBR已成功启用 |
|
检查当前的拥塞控制算法:在启用之前,你可以先查看系统当前使用的算法,通常默认是cubic
。
sysctl net.ipv4.tcp_congestion_control
修改sysctl配置文件:使用你喜欢的文本编辑器(如nano
或vi
)打开 /etc/sysctl.conf
文件。
sudo nano /etc/sysctl.conf
将以下两行配置添加到文件末尾:
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
文件的修改后,运行以下命令使更改立即生效:
sudo sysctl -p
验证BBR是否成功启用:执行以下命令来检查BBR是否已经成为当前的拥塞控制算法。
sysctl net.ipv4.tcp_congestion_control
如果输出结果为 net.ipv4.tcp_congestion_control = bbr
,则说明BBR已经成功启用。
📝 额外检查与说明
你也可以使用以下命令查看系统支持的所有拥塞控制算法,确认bbr
在其中。
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
应用配置后通常立即生效,无需重启系统。