TCP建立连接之三次握手
TCP头部信息:
![](https://img2018.cnblogs.com/blog/603942/201902/603942-20190211104157188-1250648088.png)
TCP三次握手基本过程:
ISN:初始序号,随时间变化,每一个连接具有不同的ISN,防止在网络延迟中分组被重新发送。
标志位:ACK=1时,确认序号有效;SYN=1 用来发起连接
![](https://img2020.cnblogs.com/i-beta/603942/202003/603942-20200312014327944-1728433433.png)
-
请求端发送SYN(同步序号 )=1,seq=ISN(32bits序号,每4ms+1,标识当前发送数据第一个字节的序号)请求建立连接。
-
接收端接收到数据,发送接收端的seq= ISN,ACK(确认码)=1,确认序号ack=发送端seq+1及SYN=1到发送方,对SYN进行确认。
-
发送端接收到数据,发送接收端ACK(确认码)=1,及确认序号ack=服务端seq +1,确认接收端的SYN。
TCP示例报文段:
winshark 抓包:
客户端请求连接:SYN 标志位,seq = 0
服务端确认:SYN及ACK标志位,seq=0,ack=1
客户端确认连接:ACK标志位,seq=1,ack=1