tcp/ip四次挥手释放连接详解

来源:互联网 发布:日本经济现状 知乎 编辑:程序博客网 时间:2024/06/05 05:39

当某个应用进程在CLOSED状态下执行主动打开时,TCP将发送一个SYN分片,且新的状态为SYN_SENT.如果这个TCP接着收到一个ACK和SYN,则它将发送一个ACK,且新的状态为ESTABLISHED。如果某个应用进程在收到文件结束符之前调用CLOSE(主动关闭),那就转到FIN_WAIT_1状态。如果应用进程在ESTABLISHED状态期间收到一个FIN(被动关闭),那就转到CLOSED_WAIT状态。

当客户端应用程序主动请求关闭时,调用closed或shutdown函数,向服务器发送FIN分片,这时客户端应用程序进入FIN_WAIT_1状态,等待服务器发送ACK确认包。当服务器应用进程向客户端发送ACK及SYN分片时,客户端收到后,客户端向服务器发送ACK分片,此时客户端状态变为FIN_WAIT_2,等待服务器调用close,并发送FIN分片。客户端在收到FIN后,发送ACK,并进入最终的TIME_WAIT状态。

值得注意的是执行主动关闭的那一端最终进入TIME_WAIT状态。


0 0
原创粉丝点击