TIME_WAIT状态在等2MSL后closed,存在的原因:1.ack n+1可能丢失,FIN N超时重发,如果不存在time_wait状态,则C端下次收到会响应RST报文,S端收到则会解释为是错误。因而,要实现TCP全双工连接的正常终止,必须正确处理终止过程中四个分节任何一个分节的丢失情况,主动关闭连接的A端必须维持TIME_WAIT状态 。
2.允许老的重复分节在网络中消失(消失前不允许启动新的化身)。比如在没消失前启动一个新连接,那么老连接的一些报文可能在新连接的时候到来,这个时候就会发生不可预知的错误。
原文:http://www.cnblogs.com/jsy306/p/3758536.html