进入TimeWait状态的以放会停留在这个状态2MSL的时间。
MSL:任何IP数据包可以停留在互联网中最长的时间
ip包头有一个TTL(最大为255)的字段代表了最多可跳的节点数也就是路由器节点。
最终的限制则我们假设为:在不超过MSL的时间范围内 255为最多跳的路由器节点数。
之前的理解:
1.主动关闭方进入timewait状态
2.timewait状态有2MSL的持续时间
3.timewait状态是为了避免第四次挥手的那个ack丢了之后,可以让主动关闭方继续重发。如果TCP打算执行所有必要工作以彻底
终止某个连接两个方向的数据流,那它必须正确处理种植序列4个字节中任一字节丢失的情况。
新的认识:
1.假设原先一个客户端主动断开连接 而直接离开不停留在timewait状态上。此时一个新的客户端进程使用同样的端口创立了连接,然后服务器端在进行第三次挥手时
会将FIN包发给这个新连接从而有可能使得这个连接关闭,或者发送rst重置报文段 进行报错。所以为了避免这种情况需要有timewait状态的存在,而且它会停留2MSL的时间
至于为什么是2MSL,我们知道MSL是IP数据包在互联网可以待的最长时间,2MSL就可以使得两个方向的分组最终都被丢弃。