大学士考试网

考研分类

2016年考研计算机专业辅导:TCP的超时与重传

专业课  时间: 2019-03-09 12:18:56  作者: 匿名 
 超时与重传机制是TCP中最主要和最复杂的技术之一。发送端在每发送一个报文段,TCP为其保留一个复本、设定一个定时器并等待确认信息。如果定时器超时,而发送的报文段中的数据仍未得到确认,则重传这一报文段。因此可见,定时器重传数据的确定是关键。

针对网络环境的复杂性,TCP采用了一种自适应算法,提出超时重传时间应略大于平均往返时延RTT,而RTT是根据各个报文段的往返时延样本的加权平均得出的。如何比较精确的估计RTT的值,Karn算法是目前公认的效果较好的算法。

Karn算法提出在计算平均往返时延RTT时,不计算发生过报文段重传的往返时延样本;同时报文段每重传一次,相应增大重传时间: 新的重传时间=γ×(旧的重传时间) 其中,系数γ的典型值是2。并且,当不再发生报文段重传时,才根据报文段的往返时延更新RTT和重传时间的数值。

这样得出的平均往返时延RTT和重传时间就比较准确,并且实践证明,该方法比较合理和有效。

  TCP的窗口探查技术

当接收端的接收缓存已满,不能继续接收数据,需要向发送端发送一个窗口为0的通告报文。发送端接收到这个报文后,停止发送数据,等待新的窗口通告。如果接收端通过确认报文通告窗口,TCP协议并不对这个确认报文进行确认,如果这个确认丢失了,则双方就有可能因为等待对方而使连接中止:接受方等待接收数据(因为它已经向发送方通告了一个非0的窗口),而发送方在等待允许它继续发送数据的窗口更新。

为防止这种死锁情况的发生,发送方使用一个坚持定时器(persist timer)来周期性地向接受方查询,以便发现窗口是否已增大。这些从发送方发出的报文段称为窗口探查(window probe),窗口探查是包含一个字节的数据的报文段。

猜你喜欢

精选专题