TCP 拥塞控制决定发送方如何探测可用带宽,直接影响高延迟与丢包环境下的吞吐表现。
一、经典算法对比
- Reno/NewReno:基于丢包的 AIMD(加性增乘性减),在高带宽长距离网络中吞吐受限
- CUBIC:Linux 默认算法,使用三次函数窗口增长,适合高带宽场景
- BBR:基于带宽与 RTT 建模,不依赖丢包信号,在弱网与跨洲链路上表现优异
二、切换拥塞控制算法
bash
# 查看可用算法
sysctl net.ipv4.tcp_available_congestion_control
# 切换为 BBR
sysctl -w net.ipv4.tcp_congestion_control=bbr
sysctl -w net.core.default_qdisc=fqBBR 需配合 fq 队列调度器使用,才能充分发挥其 pacing 发送机制的优势。