第一次握手:主机A发送位码为syn=1,随机产生seq number=x 的数据包到服务器,
主机B由SYN=1知道,A要求建立联机;
第二次握手:主机B收到请求后要确认联机信息,
向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=y的包;
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,
以及位码ack是否为1,若正确,
主机A会再发送ack number=(主机B的seq+1),ack=1,
主机B收到后确认seq值与ack=1则连接建立成功。
这个时候就没有SYN了已经确认了联机信息
第一次握手:Alice发送联机请求为syn=1,随机产生seq number=3 的数据包到Bob,
Bob由SYN=1知道,Alice要求建立联机;
第二次握手:Bob收到请求后要确认联机信息,
向Alice发送ack number=(Alice的seq+1),syn=1,ack=1,随机产生seq=2的包
第三次握手:主机Alice收到后检查ack number是否正确,即A第一次发送的seq number+1,
以及位码ack是否为1,若正确,
主机A会再发送ack number=(主机B的seq+1),ack=1,
主机B收到后确认seq值与ack=1则连接建立成功。
这个时候就没有SYN了已经确认了联机信息
这根本没法确定,因为完全可靠的通信协议是根本不存在的,我们任何的通信协议都是在接受这样的现实情况之上进行的。
而三次握手后,C和S至少可以确认之前的通信情况,但无法确认之后的情况。
在这个道理上说,无论是四次还是五次或是更多次都是徒劳的。
总结:你确定多少次被放鸽子你能怎么办呢