挥手4次结束TCP连接,意味着在断开一个TCP连接时,客户端和服务器端需要发送4个分组来确定连接的断开。 在套接字编程中,客户端或服务器端都执行关闭触发。 因为TCP连接是全双工的,所以每个方向都必须单独关闭。 这一原则是一方完成数据发送任务后,一方发送FIN以终止此方向的连接。 接收一个FIN意味着这个方向没有接收到数据。 在向该方向发送FIN之前,首先关闭的一个执行主动关闭,另一个执行被动关闭。
第一个辉瑞:客户端发送FIN=N以关闭客户端到服务器的数据传输,客户端处于FIN_WAIT_1状态。
第二个辉瑞:服务器收到FIN=N后,先发送ack=m 1。 此时,客户端的状态为FIN_WAIT_2。
第三次防火墙在服务器确认数据发送完成后,向客户端发送FIN=N消息,服务端进入LAST_ACK状态。
第四次辉瑞:客户端知道在收到FIN=N消息后将关闭连接。 但是他还不相信网络。 由于害怕服务器不知道关闭连接,发送ACK=n 1后进入TIME_WAIT状态。 如果服务器端没有收到ack,则可以重新发送。 服务器知道收到ACK后可以断开连接。 如果客户端等待2MSL后仍未收到回复,则证明服务器端已成功关闭。 那么,客户可以切断,最终挥手4次