《TCP/IP详解》读书笔记(21章)-TCP的超时与重传

公式,更新RTO和RTT。2.拥塞避免算法

该算法假定由于分组受到损坏引起的丢失是非常少的,因此分组丢失就意味着源主机和目的主机之间的某处网络上发生了拥塞。有两种分组丢失的指示:

cwnd增加方式慢启动初始cwnd为1,每收到一个确定就加1,成指数增长。拥塞避免算法在每个RTT内增加 1/cwnd 个报文,成线性增长。慢启动根据收到的ACK次数增加cwnd,而拥塞避免算法在一个RTT不管收有多少ACK也只增加一次。

3.快速重传和快速恢复算法

如果收到3个重复ACK,可认为该报文段已经丢失,此时无需等待超时定时器溢出,直接重传丢失的包,这就叫快速重传算法.而接下来执行的不是慢启动而是拥塞避免算法,这就叫快速恢复算法.(1)当收到第3个重复的ACK时,将ssthresh设置为当前拥塞窗口cwnd的一半,重传丢失的报文段,设置cwnd为ssthresh加上3倍的报文段大小。(2)每次收到另一个重复的ACK时,cwnd增加1个报文段大小并发送1个分组(如果新的cwnd允许发送)。(3)当下一个确认新数据的ACK到达时,设置cwnd为ssthresh(在第1步中设置的值)。这个ACK应该是在进行重传后的一个往返时间内对步骤1中重传的确认。另外,这个ACK也应该是对丢失的分组和收到的第1个重复的ACK之间的所有中间报文段的确认。这一步采用的是拥塞避免,因为当分组丢失时我们将当前的速率减半。

4.ICMP差错

TCP能够遇到的最常见的ICMP差错就是源站抑制、主机不可达和网络不可达。

(1)源站抑制的ICMP将拥塞窗口cwnd置为1个报文段,并发起慢启动,慢启动门限ssthresh不变,窗口将打开直至开放了所有的通路(受窗口大小和往返时间的限制)或者发生了拥塞。

(2)主机不可达或网络不可达的ICMP将被忽略,,因为这两上差错都被认为是短暂现象。

5.重新分组

当TCP超时并重传时,它不一定需要重传同样的报文段。相反,TCP允许进行重新分组而发送一个较大的报文段,这将有助于提高性能(当然,这个较大的报文段不能够超过接收方声明的MSS)

作者原创,转载请标明原处:

如果你在以的话,别人就会知道你害怕被说,他们就会加倍地说你,

《TCP/IP详解》读书笔记(21章)-TCP的超时与重传

相关文章:

你感兴趣的文章:

标签云: