每日一問:爲什麼tcp需要三次握手?

首先描述下tcp建立連接全過程:

1.客戶端發送SYN給服務器,(客戶端請求建立連接)

2.服務端收到客戶端發送的SYN,回覆SYN+ACK給客戶端(服務端同意建立連接)

3.客戶端收到服務端的SYN+ACK後,回覆ACK給服務端(說明客戶端收到了服務端發送的同意報文)

4.服務端收到客戶端發送的ACK立,連接已建立,可以數據傳送。

【答案一】因爲信道不可靠,而 TCP 想在不可靠信道上建立可靠地傳輸,那麼三次通信是理論上的最小值。(而 UDP 則不需建立可靠傳輸,因此 UDP 不需要三次握手。)

 

【答案二】因爲雙方都需要確認對方收到了自己發送的序列號,確認過程最少要進行三次通信。

知乎 . TCP 爲什麼是三次握手,而不是兩次或四次?

https://www.zhihu.com/question/24853633/answer/115173386

 

【答案三】爲了防止已失效的連接請求報文段突然又傳送到了服務端,因而產生錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章