三次握手的意义:三次握手主要目的是为了确认两台主机都具备收发能力。
此时有两台主机A和B
如A向B发送通话请求:
第一次:第一次握手A向B发送信息,让B主机知道A可以发出消息 (A发 B收)
A发:STY=1; A的seq=n; B收:STY=1 A的seq=n+1;
第二次:第二次握手让B向A发送信息,让A知道B能接收到,也能发出 (B发 A收)
B发:STY=1; A的seq=n+1 B的seq=x; 确认收到的信息ack=B的原始seq+1即n+1 ; A收 :STY=1 B的seq=x+1;
第三次:第三次握手让A向B发送信息,让B知道A可以接受 (A发 B收)
通话开始:这时 STY=0; B的信息ack=B收到的A的seq=x+1; 此次通话的序号seq = 最开始发出的序号+1 即 seq=n+1
客户端A ——————> 服务器B SYN=1; seq=n
客户端A <—————— 服务器B SYN=1; ack=n+1; seq=x;
客户端A ——————> 服务器B SYN=0; seq=n+1; ack=x+1