tcp三次握手四次挥手及网络状态

tcp 三次握手和四次挥手示意图, 详细见 http://www.jianshu.com/p/9968b16b607e



 

 对一些状态的说明,

1. Client端在结束的时候,发送FIN后,进入FIN-WAIT-1状态

2. Server端收到FIN,发送ACK后,进入 CLOSE-WAIT状态

3. Client端收到ACK后,进入FIN-WAIT-2状态,停止发送数据

4. Server端继续把数据发送完毕,向client端发送FIN,Server端进入 LAST-ACK

5. Client端发送ACK后进入TIME-WAIT,等待2MSL(30s或1分钟,2分钟),进入CLOSE状态,结束并释放端口

6. Server端收到ACK后,进入CLOSE状态,释放端口

 

为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

  • 为了保证发送的最后一个ACK报文段能够到达B
  • 防止“已失效的连接请求报文段”出现在本连接中。在发送完最后一个ACK报文段后,再经过时间2MSL,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧连接请求报文段。

猜你喜欢

转载自ballenlee.iteye.com/blog/2394148
今日推荐