如果传输受 Rwnd 限制,TCP Cwnd 是否会继续增加?

网络工程 通讯协议 协议理论
2021-07-07 06:01:54

我试图了解如果传输速率受接收窗口 (Rwnd) 限制,TCP 拥塞窗口 (Cwnd) 会发生什么。我知道传输速率是 Rwnd 和 Cwnd 的最小值。我也知道 Cwnd 会随着收到的每个 ACK​​ 增加。假设接收缓冲区很小,所以 Rwnd 总是保持很低,但所有的数据包都被接收和确认。这是否意味着 Cwnd 只会永远增加?有什么限制吗?

1个回答

这取决于您使用的是哪种机制,是的,Cwnd 会一直增加,直到发生第一个丢包,您可以在下面的链接中阅读有关慢启动和其他机制的更多信息。

基本慢启动[编辑] 该算法开始于指数增长阶段,最初具有 1、2 或 10[2] 个段的拥塞窗口大小 (CWND),并为每个收到的新 ACK 增加一个段大小 (SS)。如果接收器为每个段发送一个 ACK​​,则此行为有效地将网络的每次往返的窗口大小加倍。如果接收方支持延迟的 ACK,则增加的速率较低,但每个往返时间仍至少增加 1 个 MSS。这种行为一直持续到拥塞窗口大小 (CWND) 达到接收器通告窗口的大小或直到发生丢失。