TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在 TCP 协议中,为了建立一个连接,需要经历一个称为“三次握手”的过程。这个过程包括以下三个步骤:
- 第一次握手:客户端向服务器端发送一个带有 **SYN(同步)**标志位的数据包,请求建立连接。这时,客户端处于 SYN_SENT 状态。
- 第二次握手:服务器端收到客户端的 SYN 数据包后,会向客户端发送一个带有 **SYN 和 ACK(确认)**标志位的数据包,表示同意建立连接。这时,服务器端处于 SYN_RCVD 状态。
- 第三次握手:客户端收到服务器端的 SYN+ACK 数据包后,会向服务器端发送一个带有 ACK 标志位的数据包,表示确认收到服务器端的同意。这时,客户端处于 ESTABLISHED 状态,服务器端收到这个 ACK 数据包后,也会进入 ESTABLISHED 状态,至此,TCP 连接建立完成。
三次握手的目的是为了确保双方都准备好进行数据传输。在这个过程中,双方都会确认对方的序列号和确认号,从而确保接下来的数据传输是可靠的。