![BBR是什么?为什么你需要它? (一键开启BBR脚本教程)](https://pic1.zhimg.com/v2-3403eaaf7726a421737e12f4ccfa7bf9_720w.jpg?source=7e7ef6e2&needBackground=1) 在玩 VPS 的圈子里,流传着这样一句话:”买完 VPS 的第一件事,就是开启 BBR。” 如果你发现你的服务器带宽明明很大,本地延迟也不算高,但下载速度就是上不去,看视频总是转圈圈,那么 90% 的概率是因为你没有开启 **TCP BBR**。 今天,我们就来深度聊聊这个能让服务器速度倍增的神器。 --- ## 一、 为什么你的带宽被”浪费”了? 在进入正题前,我们要先理解一个概念:**拥塞控制算法**。 互联网传输数据就像公路运输。当路面出现拥塞时,如果司机还在拼命往里塞车,整条路就会瘫痪。TCP 协议为了防止这种情况,设计了”拥塞控制算法”。 ### 传统算法的弊端: 传统算法(如 Cubic)采用**基于丢包的被动式拥塞控制**:一旦检测到丢包,就会大幅降低发送速率,然后缓慢恢复。但在跨境网络(如访问海外 VPS)中,丢包往往不是因为拥堵,而是因为线路质量本身的波动(信号干扰或过滤)。 **这就导致了一个尴尬的局面:** 管道其实还没满,但因为偶尔的丢包,传统算法吓得不敢发货,你的带宽自然跑不满。 --- ## 二、 BBR 是什么?它是如何”起死回生”的? **BBR** (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 在 2016 年开源的拥塞控制算法。它通过实时测量**瓶颈带宽 (BtlBw)** 和**最小往返传播时延 (RTprop)** 来优化传输速度。 如果说传统算法是”看到丢包就刹车”的胆小司机,那么 **BBR 就是一位”经验丰富的老司机”**: 1. **它不以丢包为唯一判据:** 通过主动探测带宽和时延,而非被动等待丢包信号。 2. **高效利用带宽:** 即使线路存在一定程度的丢包(比如 5%-10%),BBR 依然能保持极高的吞吐量。 3. **更低的延迟:** 它能有效减少路由器缓存区的堆积,从而降低网络抖动。 **一句话总结:BBR 能够在恶劣的网络环境下,更高效地利用你的带宽资源。** **典型提升场景:** - 高延迟环境(>100ms RTT):提升 2-5 倍 - 丢包率 5%-10% 的线路:提升 3-10 倍 - 低延迟、低丢包环境:提升有限(<20%) --- ## 三、 开启前准备:你的 VPS 支持吗? 在动手之前,请先确认你的 VPS 架构: - **KVM / Xen / VMware:** 完美支持,你可以自由更换系统内核。 - **OpenVZ / LXC:** 通常不支持(除非服务商在母机开启了 BBR)。 目前主流的 Linux 发行版(如 Debian 9+、Ubuntu 18.04+、CentOS 8+)都已经内置了较新版本的内核。**BBR 需要 Linux 4.9+ 内核**,你可以用 `uname -r` 命令查看当前内核版本。 --- ## 四、 实战教程:如何开启 BBR? ### 方法 1:官方原生开启法(最稳妥,推荐) 如果你的系统是 **Debian 10/11/12** 或 **Ubuntu 20.04/22.04** 等较新版本,内核通常已经在 4.9 以上,无需安装任何脚本,直接执行以下三行命令即可: ```text # 1. 将 BBR 配置写入系统变量 echo "net.core.default_qdisc=fq" | sudo tee /etc/sysctl.d/99-bbr.conf echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf # 2. 重启使配置生效 sudo sysctl --system sudo reboot ``` ### 方法 2:一键脚本开启法(适用于旧系统或追求极致) 如果你的系统内核较旧(如 CentOS 7),或者你想安装更加激进的 **BBRplus**(魔改版),可以使用社区开发的”四合一”脚本。 **在 SSH 终端输入:** ```text wget -N --no-check-certificate "https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh ``` **注意:** 这是第三方维护的脚本,虽然在社区中广泛使用,但使用前建议查看脚本源码(`cat tcp.sh`)或优先使用官方方法。 **操作提示:** 1. 运行后根据菜单选择”安装内核”(通常建议选择 BBRplus)。 2. 安装完成后,脚本会提示你**重启服务器**。 3. 重启后重新运行 `./tcp.sh`,选择”开启加速”即可。 --- ## 五、 如何验证 BBR 是否生效? 开启成功后,输入以下命令进行验证: ```text # 查看当前正在使用的拥塞控制算法 sudo cat /proc/sys/net/ipv4/tcp_available_congestion_control ``` 如果输出结果包含 `bbr` 字样,说明你已经成功起飞! 此外,你还可以通过以下命令查看更多信息: ```text # 查看当前可用的拥塞控制算法 sudo sysctl net.ipv4.tcp_available_congestion_control # 查看 BBR 模块是否在运行 sudo lsmod | grep bbr ``` --- ## 六、 BBRplus 和 BBRv3 有什么区别? 有些小伙伴会问,脚本里那么多版本怎么选? - **BBR (官方版):** 最稳定,兼容性最好。适合大部分生产环境。 - **BBRplus:** 网友修改的激进版本,在丢包严重的线路上抢包能力更强。但它可能会占用过多带宽资源,在共享带宽环境下可能影响同机房其他用户,部分服务商可能禁止使用。 - **BBRv3:** Google 最新的优化版本,进一步平衡了吞吐量和公平性。 **站长建议:** 如果是个人爬墙或看视频,**BBRplus** 的体感提升往往最明显;如果是运行重要的网站业务,**原生 BBR** 是首选。 --- ## 七、 结语与注意事项 开启 BBR 能让你的 VPS 更高效地利用带宽资源。对于跨境链路来说,它能带来的提升往往是**几倍甚至十几倍**的。 **⚠️ 最后的温馨提示:** 更换内核(尤其是使用一键脚本)属于高风险操作。虽然现在的脚本已经非常成熟,但依然有极小概率导致服务器无法启动。在操作前,请务必执行**快照备份**或者确保重要数据已同步。