1、客户端发送fin包表明要断开连接,此时客户端进入fin_wait_1状态,2、服务端收到后,告诉客户端此时还有报文没有发送完,先发送个确认Ack给客户端,此时客户端进入fin_wait_2状态,服务端状态为close_wait状态,3、服务端发送完所有数据后,给客户端发送fin包,告诉客户端可以关闭了,此时服务端状态为last_ack状态,4、客户端收到后发送ack给服务端,此时客户端状态为time_wait(时间等待),服务端收到客户端发送的确认立即进入close状态。 5、注意此时客户端没有立即关闭,而是等待2msl(最大报文段生存时间)时间后关闭。