计算机网络(三)传输层—TCP四种定时器
2016-10-18 22:07
393 查看
TCP四种定时器
1) 重传定时器作用:保证可靠性传输
解决:每发送一个报文段就会启动重传定时器,如果在定时器时间到后还没收到对该报文段的确认,就重传该报文段,并将重传定时器复位。如果在定时器时间内收到确认则撤销该报文段的重传定时器。
2) 坚持定时器
作用:主要用来解决零窗口大小通知可能导致的死锁问题。
死锁问题:如果接收端在向发送端发送了零窗口报文段后不久,接收端的接收缓存有了一定的存储空间,则向发送端发送一个非零窗口大小的报文段,然而这个报文段在传送过程中丢失了,发送端没有收到该报文段,就一直等待接收端发送非零窗口的报文通知,而接收端并不知道报文段丢失,而是一直等待发送端发送数据,这样就会发生死锁问题。
解决:TCP为每一个连接设置一个坚持定时器(持续计数器)只要TCP连接的一方收到对方的零窗口报文段,就启动坚持定时器。若坚持定时器设置的时间到期,就发送一个零窗口控测报文段。会有以下3种情况
1、对方收到探测报文段后,给出确认(现窗口值)如果窗口仍为零,则收到这个报文段的一方将坚持定时器值加倍并重启。(坚持定时器最大为60s)
2、对方接收到探测报文后,给出确认,此时窗口不为零,则跳出死锁
3、该探测报文发出后,会同时启动
重传定时器,如果重传定时器时间超时,还没收到响应,则重传探测报文。
3) 保活定时器
作用:应对TCP连接期间,客户端和服务端长时间无数据传输的情况。
问题:当建立TCP连接后,若客户端发生故障,则服务器不能再接收客户端发送的数据,而服务端不能永久的等待下去,则需要保活定时器来解决。
原理:服务端没收一次客户端的数据,就重新设置保活定时器,通常为2小时,如果2小时没有收到客户端的数据,服务端就发送一个探测报文,以后没间隔76秒发送一次,连续发送10次探测报文后仍没有收到客户端的相应,服务器就认为客户端出现故障,终止连接。
4) 2MSL定时器
2MSL定时器用来计算一个连接处于Time_wait状态的时间,通常为2MSL(报文段寿命的两倍)。
作用:在TCP释放连接时,确认发送的最后一个ACK报文能够到达对方,并防止之前与本连接有关的由于延迟等原因而导致已失效的报文被误判为有效。
相关文章推荐
- 计算机网络【六】:传输层-TCP概述 【转】
- 【计算机网络】传输层协议TCP&TCP的3次握手4次挥手问题
- [计算机网络笔记]第三部分——传输层之TCP 报文结构
- 计算机网络:传输层(TCP/UDP) 应用层(HTTP) 知识总结
- 计算机网络 -- TCP/UDP详解(传输层)
- 计算机网络【七】:可靠传输的实现 (tcp窗口滑动以及拥塞控制)【转】
- [计算机网络笔记]第三部分——传输层之TCP 可靠传输实现
- 计算机网络基础知识--TCP/IP协议、IP分组、TCP传输
- [计算机网络笔记]第三部分——传输层之TCP 连接建立与拆除的过程
- 计算机网络自顶向下第三章传输层二TCP
- 计算机网络系列(3)之传输层TCP and UDP
- 计算机网络——网页上(或其他情况下)的视频传输是基于TCP还是UDP
- [计算机网络笔记]第三部分——传输层之TCP 拥塞控制
- 计算机网络—传输层协议之TCP
- 【计算机网络】传输层协议TCP
- 计算机网络教程-应用层(七)客户-服务器模式、套接字、使用传输层的服务(tcp、udp)
- 计算机网络知识整理:传输层,TCP,UDP
- 计算机网络--TCP为了维护安全和可靠所维护的七个定时器
- 计算机网络(七)--TCP的可靠传输原理及实现(一)
- 计算机网络(三)传输层—TCP