来自 gpt 的摘要: 这篇文章解释了TCP协议中的三次握手和四次挥手,分别用于建立和断开可靠连接。三次握手确保客户端和服务端的收发能力正常,并通过同步序列号避免旧连接干扰。两次握手不足以防止历史连接的误触发,而四次握手则显得冗余。四次挥手则体现了TCP的全双工特性,允许双方独立决定何时结束数据传输,从而确保断开过程的完整性和安全性。
TCP 三次握手、四次挥手是什么?
三次握手
建立一个 TCP 连接需要“三次握手”,缺一不可:
-
一次握手:客户端发送带有 SYN(SEQ = x)标志的数据包 -> 服务端,然后客户端进入 SYN_SEND 状态,等待服务端的确认;
-
二次握手:服务端发送带有 SYN + ACK(SEQ = y,ACK = x + 1) 标志的数据包 –> 客户端,然后服务端进入 SYN_RECV 状态;
-
三次握手:客户端发送带有 ACK(ACK = y + 1) 标志的数据包 –> 服务端,然后客户端和服务端都进入ESTABLISHED 状态,完成 TCP 三次握手。

