← 返回首页
TCP 三次握手
- SYN (Client -> Server)
- 客户端发送一个 SYN=1 的包,携带初始序列号 seq = x。
- 状态变更:客户端进入 SYN_SENT。
- 含义:“我想和你建立连接,我的起始序号是 x。”
- SYN + ACK (Server -> Client)
- 服务端收到后,回复 SYN=1, ACK=1。
- 确认号 ack = x + 1(表示收到了 x,期待下一个是 x+1)。
- 携带服务端自己的初始序列号 seq = y。
- 状态变更:服务端进入 SYN_RCVD。
- 含义:“收到你的请求了(x+1),我也同意建立连接,我的起始序号是 y。”
- ACK (Client -> Server)
- 客户端收到后,回复 ACK=1。
- 确认号 ack = y + 1。
- 序列号 seq = x + 1。
- 状态变更:客户端进入 ESTABLISHED;服务端收到后也进入 ESTABLISHED。
- 含义:“收到你的同意了(y+1),连接建立成功,可以开始传数据了。”