TCP四次挥手过程以及所处状态
- 第一次挥手:假设客户端打算关闭连接,发送一个TCP首部FIN被置为1的FIN报文给服务端,
客户端状态变为FIN_WAIT_1。
- 第二次挥手:服务端收到以后,向客户端发送ACK应答报文
服务端状态由ESTABLISHED变为CLOSE_WAIT,并继续处理数据,
当客户端收到服务端发送的ACK之后,状态由FIN_WAIT_1变为FIN_WAIT_2
- 第三次挥手:等待服务端处理完数据之后,向客户端发送FIN报文
发送FIN报文后,服务端状态变为LAST_ACK
- 第四次挥手:客户端收到FIN报文后返回一个ACK应答报文。
客户端接收到服务端发送的FIN后,状态变为TIME_WAIT,并且在等待2MSL后连接关闭。
** 服务端收到ACK报文之后,进入close状态 **此时服务器完成连接关闭。