(一)三次握手(TCP连接建立过程)
定义:TCP协议中,客户端与服务器建立可靠连接的三次交互过程。
三次握手作用:确保客户端和服务器的接收、发送请求功能均正常,成功建立连接。
-
第一次握手(客户端→服务器):客户端向服务器发送请求,服务器通过接收该请求,确认客户端发送功能正常、自身接收功能正常。
-
第二次握手(服务器→客户端):服务器向客户端回复响应,客户端通过接收该响应,确认自己的发送、接收功能正常,同时确认服务器的发送、接收功能正常。
-
第三次握手(客户端→服务器):客户端向服务器发送最终确认,服务器通过接收该确认,确认客户端和自己的接收、发送功能均正常,连接正式建立。
(二)四次挥手(TCP连接断开过程)
定义:TCP协议中,客户端与服务器终止已建立连接的四次交互过程。
四次挥手作用:安全关闭客户端与服务器之间的连接,确保数据传输完整。
-
第一次挥手(客户端→服务器):客户端向服务器发送FIN(结束)+ACK(确认)报文,请求断开连接,服务器接收该报文。
-
第二次挥手(服务器→客户端):服务器接收FIN报文后,向客户端发送ACK报文,确认收到断开请求,此时客户端到服务器的连接关闭;服务器状态变为CLOSE_WAIT,客户端状态变为FIN_WAIT_2(客户端需等待服务器剩余数据传输完成)。
-
第三次挥手(服务器→客户端):服务器完成所有数据传输后,向客户端发送FIN报文,表明服务器也不再发送数据,请求断开连接;此时服务器状态变为LAST_ACK。
-
第四次挥手(客户端→服务器):客户端接收FIN报文后,向服务器发送ACK报文,确认接收服务器的断开请求(确认号=服务器FIN序列号+1);此时客户端状态变为TIME_WAIT(等待一段时间确保服务器收到确认,避免残留报文干扰),服务器接收ACK后状态变为CLOSED;客户端等待超时后,状态也变为CLOSED,连接正式断开。