tcp连接的三次握手
- TCP标记
连接的建立
- 三次握手
- 首先客户端向服务器发送一个 SYN 包,并等待服务器确认,其中
- 标志位为 SYN,表示请求建立连接;
- 序号为 seq = x(x 一般取随机数);
- 随后客户端进入 SYN-SENT 阶段(同步已发送)。
- 服务器接收到客户端发来的 SYN 包后,对该包进行确认后结束 LISTEN 阶段,并返回一段 TCP 报文,其中:
- 标志位为 SYN 和 ACK,表示确认客户端的报文 seq 序号有效,服务器能正常接收客户端发送的数据,并同意创建新连接;
- 序号为 seq = y;
- 确认号为 ack = x + 1,表示收到客户端的序号 seq 并将其值加 1 作为自己确认号 ack 的值,随后服务器端进入 SYNC-RCVD 阶段(同步已接收)。
- 客户端接收到发送的 SYN + ACK 包后,明确了从客户端到服务器的数据传输是正常的,从而结束 SYN-SENT 阶段。并返回最后一段报文。其中:
- 标志位为 ACK,表示确认收到服务器端同意连接的信号;
- 序号为 seq = x + 1,表示收到服务器端的确认号 ack,并将其值作为自己的序号值;
- 确认号为 ack= y + 1,表示收到服务器端序号 seq,并将其值加 1 作为自己的确认号 ack 的值。
- 随后客户端进入 ESTABLISHED(建立连接)。
- 首先客户端向服务器发送一个 SYN 包,并等待服务器确认,其中