三次握手及四次揮手簡易原理圖

  1. 三次握手

    三次握手

    問題:建立連接的第二個SYN作用是啥?

    因爲客戶端發送的syn可能過了好久纔到達服務端,而此時客戶端超時重傳的syn已經到達服務端,那麼後來的syn就是無效的,如果不發第二個syn查詢客戶端是否有效的話,服務端就會監聽這個延遲到達的請求,造成資源浪費。所以可以強制發送一個syn詢問客戶端之前的請求是否有效。

  2. 四次揮手

四次揮手

問題:當關閉連接時最後一個ACK丟失怎麼辦?

如果最後一個ACK丟失的話,TCP就會認爲它的FIN丟失,進行重發FIN。在客戶端收到FIN後,就會設置一個2MSL計時器,2MSL計時器可以使客戶等待足夠長的時間,使得在ACK丟失的情況下,可以等到下一個FIN的到來。如果在TIME-WAIT狀態彙總有一個新的FIN到達了,客戶就會發送一個新的ACK,並重新設置2MSL計時器

如果重傳FIN到達客戶端時,客戶端已經進入CLOSED狀態時,那麼客戶就永遠收不到這個重傳的FIN報文段,服務器收不到ACK,服務器無法關閉連接。

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