比如客户端打算关闭连接,此时会发送一个TCP首部FIN标志位为1的报文,服务端收到该报文后,就向客户端发送ACK应答报文,接着服务端进入CLOSED_WAIT状态,再等待服务端处理完数据后,也向客户端发送FIN报文,客户端收到服务端的FIN报文后,回一个ACK应答报文,之后进入TIME_WAIT状态。服务端收到了这个报文后,就进入了CLOSE状态,完成了对连接的关闭。而客户端再经过2MSL时间后,自动进入CLOSE状态,客户端也完成了对连接的关闭。 (四次挥手是为了保证安全的断开连接,如果只有三次的话,那么服务端发给客户端的FIN报文可能在中途丢失了,然后服务端自己关闭连接了,但是客户端还没关闭连接。)
