美文网首页
TIME-WAIT状态存在的理由

TIME-WAIT状态存在的理由

作者: 安然_fc00 | 来源:发表于2017-05-09 18:07 被阅读0次

参考自:http://blog.csdn.net/hguisu/article/details/10241519

TIME-WAIT状态存在的理由

(1)可靠地实现TCP全双工连接的终止:(即在TIME_WAIT下等待2MSL,只是为了尽最大努力保证四次握手正常关闭)。
客户端进入发送收到四次握手关闭的最后一个ACK后,进入TIME_WAIT同时发送ACK,如果其不停留2MSL时间,而是马上关闭连接,销毁连接上的资源,当发送如下情况时,将不能正常的完成四次握手关闭:

客户端发送的ACK在网路上丢失,这样服务器端收不到最后的ACK,重传定时器超时,将重传FIN到客户端,由于客户端关于该连接的所有资源都释放,收到重传的FIN后,它没有关于这个FIN的任何信息,所以向服务器端发送一个RST报文端,服务器端收到RST后,认为搞连接出现了异常(而非正常关闭)。

所以,在TIME_WAIT状态下等待2MSL时间端,是为了能够正确处理第一个ACK(最长生存时间为MSL)丢失的情况下,能够收到对端重传的FIN(最长生存时间为MSL),然后重传ACK。

是否只要主动关闭方在TIME_WAIT状态下停留2MSL,四次握手关闭就一定正常完成呢?
答案是否定的?可以考虑如下的情况,

TIME_WAIT状态下发送的ACK丢失,LAST_ACK时刻设定的重传定时器超时,发送重传的FIN,很不幸,这个FIN也丢失,主动关闭方在TIME_WAIT状态等待2MSL没收到任何报文段,进入CLOSED状态,当此时被动关闭方并没有收到最后的ACK。所以即使要主动关闭方在TIME_WAIT状态下停留2MSL,也不一定表示四次握手关闭就一定正常完成。
**(2)确保老的报文段在网络中消失,不会影响新建立的连接 **
考虑如下的情况,主动关闭方在TIME_WAIT状态下发送的ACK由于网络延迟的原因没有按时到底(但并没有超过MSL的时间),导致被动关闭方重传FIN,在FIN重传后,延迟的ACK到达,被动关闭方进入CLOSED状态,如果主动关闭方在TIME_WAIT状态下发送ACK后马上进入CLOSED状态(也就是没有等待)2MSL时间,则上述的连接已不存在;

现在考虑下面的情况,假设客户端(192.186.0.1:23) 到服务器192.168.1.1:6380)的TCP连接, 由于连接已关闭,我们可以马上建立一个相同的IP地址和端口之间的TCP连接,并且这个连接也是客户端(192.186.0.1:23) 到服务器192.168.1.1:6380),那么当上一个连接的重传FIN到达主动关闭方时,被新的连接所接受,这将导致新的连接被复位,很显然,这不是我们希望看到的事情。

新的连接要建立,必须是在主动关闭方和被动关闭方都进入到CLOSED状态之后才有可能。所以,最有可能导致旧的报文段影响新的连接的情况是:

在TIME_WAIT状态之前,主动关闭方发送的报文端在网络中延迟,但是TIME_WAIT设定为2MSL时,这些报文端必然会在网络中消失(最大生存时间为MSL)。被动关闭方最有可能影响新连接的报文段就是我们上面讨论的情况,对方ACK延迟到达,在此之前重传的FIN,这个报文端发送之后,TIME_WAIT的定时器超时时间肯定大于MSL,在1MSL时间内,这个FIN要么在网络中因为生成时间到达而消失,要么到达主动关闭方被这确的处理,不会影响新建立的连接。

相关文章

  • TIME-WAIT状态存在的理由

    参考自:http://blog.csdn.net/hguisu/article/details/10241519 ...

  • TIME_WAIT状态存在的理由

    TIME_WAIT状态肯定是要存在的,否则TCP的会存在半关闭的状态,这里主要讨论下TIME_WAIT状态为什么要...

  • 存在的理由

    人世间万事万物都是有联系的,一个人、一颗野草、一颗石头、一个动物的存在,我相信都是有它的理由的。 大千世界芸芸众生...

  • 存在的理由

    我是谁? 我从哪里来? 我要到哪里去? 这三个问题被称为灵魂三问,也是我们一辈子所要追逐的问题,可是一辈子太长,我...

  • 存在的理由

    宝贝,爱你就是我存在这个世界的理由!

  • 存在的状态

    人的存在状态分三层。 这第一层是本我,人的原始,再上一层是自我和他者的交织。最高级是超我。人要从本我越过自我到...

  • 存在状态

    你无法用黑暗去创造光明 你无法用努力去创造丰盛 你无法通过悲伤达到快乐 你无法通过痛苦达到疗愈 疗愈是一次极致愉悦...

  • 没有存在的理由

    就像每个人都希望自己可以从容淡定、理性睿智、有自己独特的思想体系,有安放自己心灵的信念。 就像每个人都想要鱼跟熊掌...

  • 组织存在的理由

    _________________________ 使命和愿景与核心价值观的区别是什么 使命:出使的命令(why)...

  • 《爸爸存在的理由》

    小时候 你说不想长大 我和你妈都很诧异 问你你小声说怕爸爸妈妈变老 你的回答 让我很伤感 虽然没跟你说 那么小 就...

网友评论

      本文标题:TIME-WAIT状态存在的理由

      本文链接:https://www.haomeiwen.com/subject/uljitxtx.html