TCP四次挥手
tcp四次挥手,客户端和服务器谁先发起都行。由于tcp连接是全双工的,因此每个方向都必须单独进行关闭。
第一次挥手
客户端发送FIN给服务器。客户端状态由ESTABLISHED变成FIN_WAIT_1
第二次挥手
服务器收到FIN并发送ACK给客户端。服务器状态由ESTABLISHED变成CLOSE_WAIT。服务器将缓存中未发送完的数据继续发送给客户端。客户端收到ACK后状态由FIN_WAIT_1变成FIN_WAIT_2
第三次挥手
服务器发送FIN给客户端,服务器状态由CLOSE_WAIT变成LAST_ACK
第四次挥手
客户端收到FIN后返回ACK给服务器,然后客户端状态由FIN_WAIT_2变成TIME_WAIT(TIME_WAIT=2MSL)