为什么使用三次握手?
为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误
且三次握手,客户端 及服务端都完成了一次发,收,过程,确定了功能正常
A:客户端 B:服务端
第一次握手:
A发起 SYN:1,
seq:12345678(随机数)
第二次握手:
B收到A发的数据,检测SYN是否等于1(1为建立链接)
B返回数据给A SYN:1
ACK:1,
ack: A.seq +1,(12345679)
seq:222222222(随机数)
第 三次握手
A收至B数据后,检测ACK==1,且B.ack == A.seq+1
A再次发送数据给B ACK:1
seq:A.seq+1,
ack:B.seq+1