一.用到的相关术语
1)序号:小写字母
序列号 seq
确认号 ack
2)标志位:大写字母,其值要么为1 ,要么为 0
确认 ACK
同步 SYN
终止 FIN
二.图解 TCP 三次握手
TCP三次握手过程:
- 第一次握手:Client 将标志位 SYN 置为1,随机产生一个值 seq=x,并将该数据包发送给 Server,Client 进入SYN_SENT 状态,等待 Server 确认。
- 第二次握手:Server 收到数据包后由标志位 SYN=1 知道 Client 请求建立连接,Server 将标志位 SYN 和 ACK 都置为1,ack=x+1(表示需要 Client 下一次从哪个字节开始发送数据),随机产生一个值 seq=y,并将该数据包发送给Client 以确认自己已经收到了连接请求,Server 进入 SYN_RCVD 状态。
- 第三次握手:Client 收到确认应答后,检查 ack 是否为 x+1,ACK是否为 1,如果正确,则将标志位 ACK 置为 1,ack=y+1,并将该数据包发送给Server,然后Client 进入ESTABLISHED状态,然后 Server 检