在 TCP 的三次握手过程中,如果 第三次 ACK 丢失,TCP 是如何保证连接可靠建立的呢?
1️⃣ 场景说明
-
第三次 ACK:客户端发送给服务器的 ACK,确认服务器的 SYN-ACK。
-
假设该 ACK 在网络传输过程中丢失。
2️⃣ 客户端状态
-
客户端发送 ACK 后,已进入 ESTABLISHED 状态。
-
客户端可以正常发送数据,不受丢包影响。
3️⃣ 服务器状态
-
服务器在发送 SYN-ACK 后,等待客户端的 ACK。
-
若 ACK 丢失:
-
服务器认为客户端尚未确认连接,连接未完全建立。
-
TCP 启动 重传机制,在超时后重新发送 SYN-ACK。
-
4️⃣ 重传机制
-
定时器超时 → 服务器重发 SYN-ACK。
-
客户端收到重复的 SYN-ACK → 客户端重新发送 ACK。
-
双方进入 ESTABLISHED 状态 → 连接建立完成。
5️⃣ 小结
-
第三次 ACK 丢失 不会导致连接失败。
-
TCP 依赖 重传机制 保证三次握手的可靠性。
-
TCP 三次握手的核心在于 双方确认序列号,保证双方都能收发数据。