TCP握手可靠性

时间:2012-06-07 15:06:08

标签: tcp

我实际上想知道,在tcp握手中,为什么客户端需要回来完成握手。 发布syn和syn-ack后,双方都有足够的信息来启动数据,tcp仍然要求客户的ack转移到已建立的状态。

这个问题,这就是为什么这种三次握手是实现可靠性的必要和充分条件的原因,即使很难我们在第二条消息本身后同步序列号。

任何见解?

1 个答案:

答案 0 :(得分:4)

服务器如何知道客户端收到了SYN-ACK?除非客户端明确发送ACK以确认它已获得syn-ack,否则服务器无法知道这一点。

如果删除了第三个ACK,服务器将重新发送SYN-ACK,当客户端获得重复的SYN-ACK时,它会说“哦,嘿,我之前的ACK肯定已被丢弃,所以我会只需重新发送ACK“。这将持续到服务器获得AKC。