TCP握手可靠性

Var*_*run 5 tcp

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

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

任何见解?

Ole*_*ksi 4

服务器如何知道客户端收到了SYN-ACK?服务器无法知道这一点,除非客户端显式发送 ACK 来确认它收到了 syn-ack。

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