15 张图,了解一下 TCP/IP 必知也必会的 10 个问题( 五 )


2、快重传和快恢复快重传快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时才进行捎带确认 。
15 张图,了解一下 TCP/IP 必知也必会的 10 个问题文章插图
接收方收到了M1和M2后都分别发出了确认 。 现在假定接收方没有收到M3但接着收到了M4 。
显然 , 接收方不能确认M4 , 因为M4是收到的失序报文段 。 根据 可靠传输原理 , 接收方可以什么都不做 , 也可以在适当时机发送一次对M2的确认 。
但按照快重传算法的规定 , 接收方应及时发送对M2的重复确认 , 这样做可以让 发送方及早知道报文段M3没有到达接收方 。 发送方接着发送了M5和M6 。 接收方收到这两个报文后 , 也还要再次发出对M2的重复确认 。 这样 , 发送方共收到了 接收方的四个对M2的确认 , 其中后三个都是重复确认 。
快重传算法还规定 , 发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段M3 , 而不必 继续等待M3设置的重传计时器到期 。
由于发送方尽早重传未被确认的报文段 , 因此采用快重传后可以使整个网络吞吐量提高约20% 。
快恢复与快重传配合使用的还有快恢复算法 , 其过程有以下两个要点:

  • 当发送方连续收到三个重复确认 , 就执行“乘法减小”算法 , 把慢开始门限ssthresh减半 。
  • 与慢开始不同之处是现在不执行慢开始算法(即拥塞窗口cwnd现在不设置为1) , 而是把cwnd值设置为 慢开始门限ssthresh减半后的数值 , 然后开始执行拥塞避免算法(“加法增大”) , 使拥塞窗口缓慢地线性增大 。
(完)
介绍一本非常经典的入门PDF , 它讲解的是程序员必知的硬核基础知识 , 看完能让你对计算机有一个基础的了解和入门 , 是培养你 内核的基础 , 我们看下目录大纲
15 张图,了解一下 TCP/IP 必知也必会的 10 个问题文章插图
【15 张图,了解一下 TCP/IP 必知也必会的 10 个问题】回复「os」 , 获取PDF
15 张图,了解一下 TCP/IP 必知也必会的 10 个问题文章插图