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中的四个计时器包括重传计时器、坚持计时器、保活计时器、时间等待计时器 重传计时器(Retransmission Timer): 目的:为了控制丢失的报文段或者丢弃的报文段。这段时间为对报文段...
  • qq_33951180
  • qq_33951180
  • 2017年03月06日 12:52
  • 747

TCP 重传计时器的一点看法

引入:
  • zhang901140
  • zhang901140
  • 2014年04月08日 23:22
  • 1064

TCP中的四种计时器

1.重传计时器 重传计时器器的作用是在发送完数据之后,就会开始计时,如果在规定时间内没有收到发送报文的ACK就会重传该报文。 2坚持计时器 该计时器主要在拥塞控制的时候使用,就是当接收端通知发送...
  • code_luck
  • code_luck
  • 2015年03月18日 09:13
  • 809

TCP协议的4种计时器

来自: TCP协议通常包括4种计时器: 重传计时器、持续计时器、保活计时器和时间等待计时器 。        重传计时器 :Retransmission Timer,该计时器用于整个连接期...
  • vincent2610
  • vincent2610
  • 2014年09月18日 16:46
  • 457

DoS攻击原理以及常见方法介绍(三)

我们进入比较重要的一部分:TCP连接握手过程。这个过程简单地分为三步。  在没有连接中,接受方(我们针对服务器),服务器处于LISTEN状态,等待其他机器发送连接请求。  第一步:客...
  • andyzcool
  • andyzcool
  • 2005年03月15日 17:04
  • 1129

TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器

TCP一共有四个主要的定时器,前面已经讲到了一个--超时定时器--是TCP里面最复杂的一个,另外的三个是: 坚持定时器 保活定时器 2MSL定时器其中坚持定时器用于防止通告窗口为0以...
  • goodboy1881
  • goodboy1881
  • 2006年05月28日 00:34
  • 24843

javascript浏览器对象——计时器对象

JavaScript 计时器 在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。 计时器类型: 一次性计时器:仅在指定的延迟时间之后触发...
  • oscar92420aaa
  • oscar92420aaa
  • 2016年07月07日 10:16
  • 386

TCP的四种计时器

TCP共使用以下四种计时器:重传计时器、持续计时器、保活计时器和时间等待计时器。...
  • youzi_yun
  • youzi_yun
  • 2017年08月22日 22:39
  • 131

TCP通信四种计时器

在TCP传输中,对于每个连接,TCP都管理着4个不同的定时器(计时器) 1,重传计时器:用于希望接收端的确认,常用拥塞避免。 TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但...
  • better1914
  • better1914
  • 2017年03月07日 11:30
  • 288

浅析TCP的四种内部计时器

TCP有四种内部计时器 1.时间等待计时器 2.保活计时器 3.重传计时器 4.持久计时器 一、时间等待计时器      时间等待计时器常用于链接终止时,当TCP关闭一个链接时,它并不认为这个链接马上...
  • z_xiao_xue
  • z_xiao_xue
  • 2017年03月07日 15:42
  • 221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tcp内部常见计时器
举报原因:
原因补充:

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