本文简单说说自己对三次握手
三次握手
第一次握手:客户端发包,同步标志位 SYN = 1,序号 seq = x
告诉服务器自己要和你进行一个连接
第二次握手:服务端收包,看到 SYN = 1,知道客户端要和自己建立 TCP 连接;服务端发包,同步标志位 SYN = 1,序号 seq = y,确认标志位 ACK = 1,确认号 ack = x + 1(表示自己希望下一次收到客户端发过来的是 x + 1)
服务器端收到连接请求,表示自己愿意建立连接,并回复确认号ack=x+1
第三次握手:客户端收包,看到 SYN = 1,知道服务端要和自己建立 TCP 连接,检查 ACK 是否为 1,ack 是否为 x + 1;客户端发包,确认标志位 ACK = 1,确认号 ack = y + 1(表示自己希望下一次收到服务端发过来的是 y + 1),seq = x + 1
客户端收到消息,知道了服务器端愿意与自己建立连接,并回复服务器自己收到了你同意的消息
其实还有第四次握手,但连接已建立,所以不是特别重要。