- 兩次握手只能保證單向連接是暢通的。
Step1 A -> B : 你好,B。
Step2 A <- B : 收到。你好,A。
這樣的兩次握手過程, A 向 B 打招呼得到了回應,即 A 向 B 發送數據,B 是可以收到的。
但是 B 向 A 打招呼,A 還沒有回應,B 沒有收到 A 的反饋,無法確保 A 可以收到 B 發送的數據。
- 只有經過第三次握手,才能確保雙向都可以接收到對方的發送的 數據。
Step3 A -> B : 收到,B。
這樣 B 才能確定 A 也可以收到 B 發送給 A 的數據。
參考
- 握手過程中的狀態位的變化 與 序號的變化參照 TCP 為什么三次握手而不是兩次握手(正解版)
- Why do we need a 3-way handshake? Why not just 2-way?