TCP一共有四个主要的定时器,前面已经讲到了一个--超时定时器--是TCP里面最复杂的一个,另外的三个是:
- 坚持定时器
- 保活定时器
- 2MSL定时器
其中坚持定时器用于防止通告窗口为0以后双方互相等待死锁的情况;而保活定时器则用于处理半开放连接
1.坚持定时器
坚持定时器的原理是简单的,当TCP服务器收到了客户端的0滑动窗口报文的时候,就启动一个定时器来计时,并在定时器溢出的时候向向客户端查询窗口是否已经增大,如果得到非零的窗口就重新开始发送数据,如果得到0窗口就再开一个新的定时器准备下一次查询。通过观察可以得知,TCP的坚持定时器使用1,2,4,8,16……64秒这样的普通指数退避序列来作为每一次的溢出时间。
糊涂窗口综合症
TCP的窗口协议,会引起一种通常叫做糊涂窗口综合症的问题,具体表现为,当客户端通告一个小的非零窗口时,服务器立刻发送小数据给客户端并充满其缓冲区,一来二去就会让网络中充满小TCP数据报,从而影响网络利用率。对于发送方和接收端的这种糊涂行为。TCP给出了一些建议(或者是规定)。
- 接收方不通告小窗口。通常的算法是接收方不通告一个比当前窗口大的窗口(可以为0),
除非窗口可以增加一个报文段大小(也就是将要接收的MSS)或者可以增加接收方缓存空间
的一半,不论实际有多少。
- 发送方避免出现糊涂窗口综合症的措施是只有以下条件之一满足时才发送数据: ( a )可
以发送一个满长度的报文段; ( b )可以发送至少是接收方通告窗口大小一半的报文段; ( c )可以
发送任何数据并且不希望接收ACK(也就是说,我们没有还未被确认的数据)或者该连接上
不能使用Nagle算法。
ok,现在我们回忆一下,可以发现TCP的很多规定都是为了在一次传送中发送尽量多的数据,例如捎带ACK数据报文的策略,Nagle算法,重传时发送包含原数据报文的策略,等等。
2.保活定时器
保活定时器更加的简单,还记得FTP或者Http服务器都有Sesstion Time机制么?因为TCP是面向连接的,所以就会出现只连接不传送数据的“半开放连接”,服务器当然要检测到这种连接并且在某些情况下释放这种连接,这就是保活定时器的作用。其时限根据服务器的实现不同而不通。另外要提到的是,当其中一端如果崩溃并重新启动的情况下,如果收到该端“前生”的保活探察,则要发送一个RST数据报文帮助另一端结束连接。
分享到:
相关推荐
第22章 TCP的坚持定时器 245 第23章 TCP的保活定时器 251 第24章 TCP的未来和性能 256 第25章 SNMP:简单网络管理协议 270 第26章 Telnet和Rlogin:远程登录 293 第27章 FTP:文件传送协议 316 第28章 SMTP:简单...
《TCP/IP详解,卷2:实现》英文书名《TCP/IP Illustrated》 由美国传奇人物W.Richard Stevens著 全套共分三卷,另外两卷分别是《TCP/IP详解,卷1:协议》和《TCP/IP详解,卷3:事务过程中的TCP协议,HTTP,NNTP和...
可以作为学习TCP/IP的入门书籍 本书详细讲解了TCP/IP技术对于想从事网络开发的人是非常有帮助的
《CP.IP详解(卷3):CP事务协议.HP.P和UIX域协议》是“TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP;UNIX...
tcp/ip 详解卷3,相信不必多说,大家都知道的,经典。学网络必看。
TCP/IP详解,需要的朋友应该都清楚,就不多做介绍了,本资源为卷1-卷3合集,一次性下载,无需解压!
TCP/IP详解 TCP/IP详解 TCP/IP详解
《TCP/IP详解(卷3):TCP事务协议、HTTP、NNTP和UNIX域协议》同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序。《TCP/IP详解(卷3):TCP事务协议、HTTP、NNTP和UNIX域协议》适用于希望理解TCP/IP如何...
《TCP-IP详解卷三TCP事务协议,HTTP,NNTP和UNIX域协议》是“TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP...
TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解TCP/IP详解
两本合集。里面可能含有一些自己pdf标记,自行删除即可。 TCP/IP协议栈 TCP-IP详解卷一:协议 TCP IP进行网际互联 卷1 原理、协议与结构
tcp/ip详解第一卷 tcp/ip详解第一卷 tcp/ip详解第一卷
《TCP/IP详解·卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。《TCP/IP详解·卷2:实现》不仅说明了插口API和...
TCP-IP详解包含了卷1至卷3 网络协议通常分不同层次进行开发,每一层分别 负责不同的通信功能。一个协议族,比如 T C P / I P,是 一组不同层次上的多个协议的组合。 T C P / I P通常被认 为是一个四层协议系统
《TCP/IP详解 卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机...
《TCP/IP详解,卷2:实现》英文书名《TCP/IP Illustrated》 由美国传奇人物W.Richard Stevens著 全套共分三卷,另外两卷分别是《TCP/IP详解,卷1:协议》和《TCP/IP详解,卷3:事务过程中的TCP协议,HTTP,NNTP和...
TCP/IP详解 TCP/IP两部经典著作之一。 这里是卷一。