ssthresh 转 拥塞避免(每 RTT +1 MSS)。丢包:超时→cwnd=1;3 个重复 ACK→快重传+快恢复(cwnd=ssthresh+3)。拥塞控制防止网络过载,通过调节发送速率避免拥塞。
| 特性 | 拥塞控制 | 流量控制 |
|---|---|---|
| 目的 | 防止网络过载 | 防止接收方溢出 |
| 范围 | 全局(整个网络) | 点对点(收发方) |
| 机制 | 调节发送窗口 | 接收方通告窗口 |
cwnd = 1 MSS,每收到一个 ACK 则 cwnd += 1 MSS收到 3 个重复 ACK 立即重传丢失报文,不必等待超时。
收到 3 个重复 ACK:
1. ssthresh = cwnd / 2
2. cwnd = ssthresh + 3 (不是 1!)
3. 进入拥塞避免
ssthresh=cwnd/2, cwnd=1 重回慢启动;3 个重复 ACK:ssthresh=cwnd/2, cwnd=ssthresh+3 进入快恢复。| 特性 | Tahoe | Reno |
|---|---|---|
| 丢包处理 | cwnd=1,慢启动 | 快恢复(cwnd=ssthresh+3) |
| 快重传 / 快恢复 | 不支持 | 支持 |
改进多包丢失场景:追踪恢复过程最大 ACK,仅收到「恢复 ACK」(大于丢包前最大序号)才结束快恢复。
窗口按三次函数增长,在丢包点附近增长慢、远离后增长快,适合高带宽延迟积网络。
基于模型的拥塞控制:测量瓶颈带宽 BtlBw 与最小 RTT RTprop,主动探测最佳发送速率(状态机:Startup→Drain→ProbeBW→ProbeRTT),目标接近最优工作点而非填满缓冲区。
| 考点 | 说明 |
|---|---|
| 四阶段 | 慢启动、拥塞避免、快重传、快恢复 |
| 增长规律 | 慢启动指数、拥塞避免线性,转换点 ssthresh |
| Reno vs Tahoe | 遇丢包是否快恢复 |
| BBR 思想 | 带宽/RTT 模型驱动,非丢包驱动 |
↑ 站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。