首页/网络/协议速查/TCP 拥塞控制四阶段
TCP 与 UDP54 条

TCP 拥塞控制四阶段

发送速率由拥塞窗口决定:慢启动指数探测、拥塞避免线性爬坡、快重传/快恢复处理丢包,目标是既跑满带宽又不压垮网络。

协议速查网络更新于 2026-10-12

阶段

阶段触发核心动作
慢启动连接开始/空闲后cwnd 从初始值指数翻倍
拥塞避免cwnd ≥ ssthresh每 RTT 约 +1 MSS,线性探测
快重传收到 3 个重复 ACK不等 RTO,立即重发丢失段
快恢复快重传后ssthresh=cwnd/2,cwnd 减半继续

查看算法与窗口

查看算法与窗口
sysctl net.ipv4.tcp_congestion_control
sysctl net.ipv4.tcp_available_congestion_control
ss -ti | head -20
拥塞控制是端到端算法:公网上不同算法共存,CUBIC 是 Linux 默认,BBR 在跨境高丢包链路更常见。

易错点

  • 拥塞控制只在「丢包或延迟变大」时降速:链路本身不丢包但排队严重时,Reno/CUBIC 会把延迟堆到很高,需要 AQM 配合

数据来源与参考

  • RFC 5681(TCP 拥塞控制)
  • RFC 9438(CUBIC)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌