首页 > 其他 > 详细

TCP状态转换图和TIME_WAIT状态

时间:2014-03-30 18:58:24      阅读:600      评论:0      收藏:0      [点我收藏+]

TCP连接定义了11种状态,状态转换如下 

bubuko.com,布布扣

 

在网络交错复杂情况下,同时打开和同时关闭是很罕见的情况不过可能发生。

 

 

当TCP连接断开时候,执行主动关闭那一端会进入TIME_WAIT状态,知道等待2msl(每个分节最长生命期)

TIME_WAIT状态有两种存在的理由

  1,可靠的实现TCP全双工连接的终止

  2,允许老的重复分节在网络中消逝

第一个理由可以通过考虑四次挥手最后一个ACK丢失,服务器重新发送最后一个FIN,客户端必须维护状态信息,以维护发送最终的ACK。

如果A端不维持TIME_WAIT状态,而是处于CLOSED 状态,那么会返回的信息会被服务器认为错误信息。TCP要彻底终止序列双向的数据流,那么必须处理4个分节中任意一个分节丢失的情况

第二个理由就是

TCP分节可能由于路由器异常而“迷途”,在迷途期间,TCP发送端可能因确认超时而重发这个分节,迷途的分节在路由器修复后也会被送到最终目的地,这个迟到的迷途分节到达时可能会引起问题。在关闭“前一个连接”之后,马上又重新建立起一个相同的IP和端口之间的“新连接”,“前一个连接”的迷途重复分组在“前一个连接”终止后到达,而被“新连接”收到了。为了避免这个情况,TCP协议不允许处于TIME_WAIT状态的连接启动一个新的可用连接,因为TIME_WAIT状态持续2MSL(往返各MSL),就可以保证当成功建立一个新TCP连接的时候,来自旧连接重复分组已经在网络中消逝。

TCP状态转换图和TIME_WAIT状态,布布扣,bubuko.com

TCP状态转换图和TIME_WAIT状态

原文:http://www.cnblogs.com/mtmzn/p/3632962.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!