根据我的研究,CWND = CWND + MSS * (MSS/CWND)
每次收到新的确认时都会设置拥塞避免阶段。这是假设我们没有遇到重复的ACKS
or timeouts
。但是如果有延迟确认会发生什么?
以下是我对延迟确认的研究的看法(不知道这是否正确):
基本上延迟的 ACK 是在一段时间内保留 ACK 段的目的地,期望两件事之一。由于接收器收到了新的数据包,在计时器结束之前将需要发送更多的 ACK。或者接收者需要将一些数据发送回发送者,在这种情况下,它可以在该数据包上捎带消息。这如何影响拥塞避免阶段?这对于依赖于新的 Acks 来增加 CWND 的 TCP 的拥塞避免阶段是不利的。这将导致 CWND 窗口大小更改的延迟,从而导致数据包发送的延迟。这意味着当 TCP 可以向接收方发送数据包时,实际上并不是因为确认被延迟了。