Tcp為什麼要三次握手四次揮手

2021-07-13 04:27:35 字數 817 閱讀 2874

client:黃河,server:長江

三次握手

第一次:長江長江,我是黃河,聽到請回答?

第二次:黃河黃河,我是長江,我聽到你了,你能聽到我嗎?

第三次:長江長江,俺是黃河,我也能聽到你,我要開始吐了。

其實第二次時黃河已經知道雙方能互通,但是長江還不知道自己的聲音黃河能否收到,所以需要有第三次黃河向長江的回應

四次揮手:

俗話說好聚好散,連線時禮數周全,鬧掰了也不能失了禮數,所以原則上分手也分三步走

第一次:長江長江,咱們分手吧,聽到請回答?

第二次:黃河黃河,我聽到了,咱們分吧,聽到請回答?

第三次:長江長江,我聽到了,bye

理論上分手這三次就夠了,但實際上在第二次的時候,長江可能有些資料還沒對黃河吐完,所以,第二次應該拆分成兩步,即「我聽到了」和資料吐完後的「咱們分吧,聽到請回答」,於是:

第一次:長江長江,咱們分手吧,聽到請回答?

第二次:黃河黃河,我聽到了(這是我最後一次回應你了,等我給你發完資料)

第三次:黃河黃河,發完了,咱們分吧,你能聽到嗎?

第四次:長江長江,我聽到了,bye

(黃河在第四次揮手後會默默等待2msl,若此期間沒有收到長江傳來的任何訊息,則知道長江已經收到自己的ack了,黃河就關閉鏈結,長江也關閉鏈結了,之所以黃河要等,是因為若是第四次揮手長江沒有收到,長江會重**第三次揮手,若長江沒有重發,表示長江收到了)

參考:

tcp為什麼要三次握手,四次揮手

tcp為什麼是三次握手,為什麼是四次揮手 1 三次握手的原因 因為通道是不可靠的,可能存在延時或者丟包,而三次是滿足可靠傳輸的最小次數。如果只有兩次,假設主機a傳送的第乙個請求包延時,主機a在等待一段時間後又重新傳送乙個請求包,完成資料連線並斷開。但是這時上次傳送的請求包才到達主機b,這時主機b認為...

為什麼要「三次握手,四次揮手」

三次握手 換個易於理解的視角來看為什麼要3次握手。客戶端和服務端通訊前要進行連線,3次握手 的作用就是雙方都能明確自己和對方的收 發能力是正常的。經歷了上面的三次握手過程,客戶端和服務端都確認了自己的接收 傳送能力是正常的。之後就可以正常通訊了。每次都是接收到資料報的一方可以得到一些結論,傳送的一方...

總結TCP為什麼三次握手四次揮手

2019 3 4更新 在閱讀了很多技術部落格後,發先大家對為什麼三次握手不是兩次眾說紛紜 我覺得說的最好的是英文文章對tcp的解讀。tcp和udp的區別就是可靠與不可靠傳輸。為了實現可靠資料傳輸,tcp 協議的通訊雙方,都必須維護各自的乙個序列號,以標識傳送出去的資料報中,哪些是已經被對方收到的。三...