TCP 是提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据。但是数据和确认都可能会丢失。TCP 通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据。关键在于超时和重传策略,即怎样决定超时的时间间隔和如何确定重传的频率。
对于每个连接,TCP 管理着四个不同的定时器:重传定时器、坚持定时器、保活定时器 以及 2MSL 定时器。...
分类:
其他好文 时间:
2014-12-09 17:52:51
阅读次数:
156
TCP为每条连接建立七个定时器,依次为:连接建立定时器、重传定时器、延时ACK定时器、持续定时器、保活定时器、FIN_WAIT_2定时器和TIME_WAIT定时器。实际上,为了提高效率,内核中只使用了四个定时器来完成七个定时器的功能。
TCP定时器的实现涉及以下文件:
net/ipv4/tcp_timer.c TCP的定时器
net/ipv4/inet_connection_sock.c 基...
分类:
其他好文 时间:
2014-11-16 14:43:01
阅读次数:
267
前言 对于每个TCP连接,TCP一般要管理4个不同的定时器:重传定时器、坚持定时器、保活定时器、2MSL定时器。 重传定时器 非常明显重传定时器是用来计算TCP报文段的超时重传时间的(至于超时重传时间的确定,这里涉及到一大堆的算法,书上有说,我这里不细谈了)。每发送一个报文段就会启动重传定...
分类:
其他好文 时间:
2014-07-22 23:29:07
阅读次数:
296
前言
对于每个TCP连接,TCP一般要管理4个不同的定时器:重传定时器、坚持定时器、保活定时器、2MSL定时器。
重传定时器
很明显重传定时器是用来计算TCP报文段的超时重传时间的(至于超时重传时间的确定,这里涉及到一大堆的算法,书上有说,我这里不细谈了)。每发送一个报文段就会启动重传定时器,如果在定时器时间到后还没收到对该报文段的确认,就重传该报文段,并将重传定时器复位,重新计算;如果在规定时间内收到了对该报文段的确认,则撤销该报文段的重传定时器。
坚持定时器...
分类:
其他好文 时间:
2014-06-22 20:34:21
阅读次数:
152