Tcp内部常见计时器

原创 2017年03月05日 21:47:58

Tcp常用的计时器分为四种:重传计时器,坚持计时器,保活计时器和等待计时器。

1.重传计时器 Retransmission Time

它相当于一个闹钟,在TCP发送报文段时,就会创建特定报文段的重传计时器。用于处理RTO(重传超时)。

(1)若在计时器截止时间到(通常是60秒)之前收到对此特定报文段的确认,则撤销此计时器。

(2)若在收到了对此特定报文段的确认之前计时器截止期到,则重传报文段,并将计时器复位。

注意:若ACK报文捎带其他信息,则不会为该报文设置重传计时器。

2.坚持计时器

用于处理零窗口的通过。

若接受端的TCP要命令发送端的Tcp停止发送报文段时,就会向发送TCP发送一个报文段,该报文的窗口大小字段为0,称为零值窗口。 发送端的TCP收到该零值窗口值报文后,就会停止向接收端的TCP发送报文,直到接收端的TCP发送一个窗口大小非0的ACK报文 。若接收端TCP向发送TCP发送ACK报文,以通知其发送窗口的大小(非0)后,接收端的TCP便等待发送端发送数据,若该ACK回去的路上丢失了,则发送端的TCP并没收到ACK报文,便不会向接收端发送报文,而接收端却以为自己的ACK报文发成功了,便傻乎乎的瞎等待( 别忘了,ACK报文是永远不会被设置重传计时器的 ),这样两个人便陷入了“ 死锁状态 ”。为了防止该死锁状态的出现, TCP为发送TCP设置了一个坚持计时器 ,一旦发送TCP收到了“零值窗口报文”,该计时器便启动。启动后,在为超时期间,若收到了接收端的非0窗口的通知,则停止该计时器;若该坚持计时器超时了,则发送TCP就发送一个特殊的 探测报文段 ,该报文段仅包含1B的新数据,它有一个序号,但它的序号永远不需要确认,甚至在计算时对其他部分的数据的确认时改序号也被忽略,该报文不需要确认,探测报文的作用 在于提醒对方 (目的 可以记录在数据部分 ), 重传下上次发送发送的那个ACK报文(即那个非0值窗口的报文 )。

坚持计时器的值设置为重传时间的数值。但是,若没有收到从接收端来的响应,则需发送另一个探测报文段,并将坚持计时器的值加倍和复位。发送端继续发送探测报文段,将坚持计时器设定的值加倍和复位,直到这个值增大到门限值( 通常是60秒 )为止。在这以后,发送端每隔60秒就发送一个探测报文段,直到窗口重新打开。 

3.保活计时器

 防止 两端的TCP在 连接期间 长时间处于空闲状态 。可以为服务器设置一个保活计时器。每当服务器收到客户的信息,就把该计时器复位,表示该通话还活着,超时通常设置为2小时。当服务器超过了2H还没有收到客户的任何信息时,服务器就向客户发 送过一个探测报文段。若连续发送了10个探测报文段(没个75s一个)还没有响应,就认为客户出了故障,并终止这个连接。

4.等待计时器

Timer-Wait,(超时时间=2MSL,max segment lifetime),该计时器为客户端设置。该计时器是为还记得4次挥手中的第三次挥手吗?在第三次挥手中,客户端收到服务器发送的FIN报文后,客户端就启动Timer-Wait计时器,时间设置为2MSL,并发送最后一个ACK。两个作用:(1)保证在2MSL时间内,服务器端能够收到最后一个ACK;(2)能够保证之前某些在网络中滞留很久的发给服务器的报文不会在本次连接连接关闭后再去骚扰服务器。 值得注意的是 :最后两次挥手期间,启动了两种计时器,服务器向客户端发送FIN后启动重传计时器,客户端收到FIN后,向服务器发送ACK,同时启动Time-Wait计时器(时间长度为2MSL) 


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

TCP中的四种计时器

*经过两天的总结,已经总结了大部分运输层的知识原理,那今天就再来看看TCP中的四种定时器。。。→_→*...

TCP计时器浅解析

本文转载自:http://blog.csdn.net/theone10211024/article/details/13016187 TCP要保证正常工作,至少应该有四种计时器:重传计时器、...
  • vgxpm
  • vgxpm
  • 2015年08月24日 17:49
  • 359

端口号调研、URG和PSH、及TCP的计时器

端口号端口号是用来标识目的主机当中的唯一网络进程,因此IP地址+端口号=》套接字;套接字可以确定唯一的一个进程。Tcp/Ip协议中引入一种叫做“套接字”的应用程序软件,有了这样一种技术,一台电脑就可以...

TCP使用的四种计时器

TCP使用的四种计时器: 1、重传计时器 当TCP发送报文段时,就创建该特定报文段的重传计时器。 1.1、若在计时器截止时间到(通常60秒)之前收到了对此特定报文段的确认,则撤销此计时器。 1...
  • LF_2016
  • LF_2016
  • 2017年03月05日 15:53
  • 669

TCP中的计时器

TCP共使用以下四种计时器:重传计时器、坚持计时器、保活计时器和时间等待计时器。 这几个计时器的主要特点如下: 重传计时器(Retransmission Timer) 当TCP发送报文段时,就创...

TCP计时器详解

TCP 是提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据。但是数据和确认都可能会丢失。TCP 通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据。...

TCP中的四个计时器

TCP中的四个计时器包括重传计时器、坚持计时器、保活计时器、时间等待计时器 重传计时器(Retransmission Timer): 目的:为了控制丢失的报文段或者丢弃的报文段。这段时间为对报文段...

网络协议系列之九:TCP计时器

在TCP中有四种计时器:重传计时器、持续计时器、保活计时器和TIME-WAIT计时器重传计时器在拥塞控制中有提到RTO——重传计时器。重传计时器是对发送出去的数据进行重传计时,如果在计时器超时后没有收...

【网络】TCP中的四个计时器

TCP中有四种定时器(Timer,也称为“计时器”): 重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer ...

TCP重传计时器浅析

  • 2014年05月29日 14:10
  • 692KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tcp内部常见计时器
举报原因:
原因补充:

(最多只允许输入30个字)