之前的文章我们有讲解 TCP 拥塞避免的方式,这些都是通过发送端来实现,那么接受方有什么方式解决拥塞问题?
看图说话
接收方收到了 M1 和 M2 后都分别发出了确认。现在假定接收方没有收到 M3 但接收到了 M4。接收方不能确认 M4,因为 M4 是收到的失序报文段。根据可靠传输原理,接收方可以什么都不做。但按照快重传算法规定,接收方应及时发送对 M2 重复确认,这样做可以让发送方及早知道报文段 M3 没有到达接收方。
发送方在收到三次重复确认之后,会立即重新发送 M3。并且判定网络可能出现拥塞,然后把 ssthresh 设置为 cwnd 一半,最后重新进入拥塞避免阶段。
条评论