当服务端发起断开连接请求时,客户端的响应顺序是先发送ACK报文,再发送FIN报文13。这一过程是TCP四次挥手的核心环节,具体步骤如下:
服务端发送FIN报文
服务端主动调用close()函数,向客户端发送FIN=1的报文段,表示数据发送完毕,请求断开连接。
客户端发送ACK报文
客户端收到FIN报文后,立即发送ACK=1的确认报文(ack=服务端序列号+1),告知服务端已收到断开请求3。此时客户端进入CLOSE-WAIT状态,但仍可继续发送未完成的数据3。
客户端发送FIN报文
当客户端数据发送完毕后,主动向服务端发送FIN=1的报文段,请求断开连接。
服务端发送ACK报文
服务端收到客户端的FIN报文后,回复ACK确认,连接完全关闭3。