当TCP 协议完成了数据的发送之后,就会尝试去断开连接,此时它就会经历四次挥手的过程。
第一次挥手:是客户端向服务器发起的,这个时候客户端已经完成了数据发送,会发起一个包,去进行一个连接断开的请求,那么这个报文中,它的一个FIN位被标记为1,我们把它叫做FIN包。
第二次挥手:是服务器发给客户端的,这个报文是用来确认上一个客户端用来断开连接请求的一个报文 ,所以它是一个ACK报文。
第三次挥手:同样是服务器发给客户端的,那么这个时候,服务器的数据也发送完毕的话,他也会向客户端发起一个断开连接的申请,那么在这个报文中,一个FIN 位也被标记为1,所以这也是一个FIN 包。
第四次挥手:是客户端发起给服务器的是用来确认服务器的上一个断开连接的一个请求报文,所以这一次挥手也是一个ACK 报文。