什么是BBR?
BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google推出的一种TCP拥塞控制算法,它主要通过优化数据传输过程中的瓶颈带宽和往返时间来提升网络传输效率。简单点说,就是一种能改善网络速度和质量的技术。
安装BBR条件
BBR加速需要Linux内核版本为4.9或以上。你可以使用uname -r来查看当前内核版本,如果不符合,需要先对内核进行升级。
安装BBR
1_ 首先,检查BBR是否已经被内核支持。你可以通过以下命令来查看:
lsmod | grep bbr
如果没有看到任何输出,说明BBR没有被加载。你可以通过以下命令来加载BBR模块:
sudo modprobe tcp_bbr
2_ 查看BBR是否成功加载
加载模块后,可以通过以下命令检查BBR是否已经成功加载:
sysctl net.ipv4.tcp_available_congestion_control
如果返回结果包含bbr,则说明BBR已成功加载。
3_ 启用BBR
启用BBR加速需要修改系统的TCP参数。可以通过以下命令启用BBR:
echo "tcp_bbr" | sudo tee -a /etc/modules-load.d/modules.conf
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
4_ 永久启用BBR
为了在系统重启后依然启用BBR,你需要将BBR的设置添加到sysctl配置文件中:
sudo bash -c 'echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf'
sudo sysctl -p
5_ 验证BBR是否启用
使用以下命令验证BBR是否成功启用:
sysctl net.ipv4.tcp_congestion_control
更新BBR
如果你已经安装了BBR,并且希望对其进行更新,可以按照以下步骤进行:
1_ 检查BBR的当前版本
可以通过以下命令检查BBR的版本:
sysctl -a | grep bbr
2_ 更新系统内核
如果你希望升级到更高版本的内核以支持更新的BBR版本,可以使用以下命令进行内核升级(以Ubuntu为例,其他系统请自行搜索):
sudo apt-get update
sudo apt-get upgrade
3_ 更新BBR模块
通常,BBR模块会随着内核更新自动更新。如果你发现内核已经更新,但BBR模块没有被更新,可以手动加载新的模块。首先检查当前内核版本,确认是否符合BBR的要求:
uname -r
如果内核版本符合要求,但BBR没有自动启用,可以手动加载:
sudo modprobe tcp_bbr
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
4_ 重启系统
更新完BBR和内核后,建议重启系统,以确保所有更新生效。
sudo reboot
BBR优化和调优
尽管BBR已经为你提供了加速功能,但为了进一步提升网络性能,你还可以进行一些优化和调优。以下是几个常见的BBR优化技巧:
1_ 调整TCP缓冲区大小
可以通过调整TCP的缓冲区大小来提升BBR的性能。修改sysctl.conf文件,添加以下内容:
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.wmem_max = 16777216
2_ 优化TCP连接的最大值
你还可以调整TCP连接的最大数量,以提高系统的并发性能。编辑/etc/sysctl.conf,添加以下内容:
net.ipv4.ip_local_port_range = 1024 65535
3_ 启用TCP快速打开
TCP快速打开(TFO)可以减少TCP连接的建立时间。启用TFO的命令如下:
sudo sysctl -w net.ipv4.tcp_fastopen=3