TCP IP協議三次握手與四次握手釋放

2021-08-09 11:19:03 字數 732 閱讀 9698

我們知道tcp建立連線要進行「三次握手」,即交換三個分組。大致流程如下:

只有就完了三次握手,但是這個三次握手發生在socket的那幾個函式中呢?請看下圖:

圖1、socket中傳送的tcp三次握手

從圖中可以看出,當客戶端呼叫connect時,觸發了連線請求,向伺服器傳送了syn j包,這時connect進入阻塞狀態;伺服器監聽到連線請求,即收到syn j包,呼叫accept函 數接收請求向客戶端傳送syn k ,ack j+1,這時accept進入阻塞狀態;客戶端收到伺服器的syn k ,ack j+1之後,這時connect返回,並對syn k進行確認;伺服器收到ack k+1時,accept返回,至此三次握手完畢,連線建立。

總結:客戶端的connect在三次握手的第二個次返回,而伺服器端的accept在三次握手的第三次返回。

上面介紹了socket中tcp的三次握手建立過程,及其涉及的socket函式。現在我們介紹socket中的四次握手釋放連線的過程,請看下圖:

圖2、socket中傳送的tcp四次握手

圖示過程如下:

這樣每個方向上都有乙個fin和ack。

TCP IP 協議 三次握手與四次揮手

1.序號 seq序號,佔32位,用來標識從tcp源端向目的端傳送的位元組流,發起方傳送資料時對此進行標記。2.確認序號 ack序號,佔32位,只有ack標誌位為1時,確認序號欄位才有效,ack seq 1。3.標誌位 共6個,即urg ack psh rst syn fin等,具體含義如下 a ur...

TCP IP協議三次握手與四次揮手

一.標誌位和序號 seq序號 傳送方隨機生成的 ack確認序號 ack seq 1 標誌位ack 1時確認序號有效 syn標誌位 發起乙個新連線 ack標誌位 確認序號有效 fin標誌位 斷開連線 二.三次握手 三次握手是客戶端與服務端建立乙個tcp連線時,需要客戶端和服務端傳送三個包建立連線的過程...

TCP IP協議三次握手 四次揮手

tcp是一種面向連線的端到端的可靠傳輸協議。一 客戶端傳送乙個連線請求,傳送乙個隨機數x,這時客戶端的埠狀態變為syn sent狀態。二 服務端收到客戶端發起的連線請求,埠狀態變為listen狀態,服務端回覆客戶端發起的請求,把收到的隨機數x 1返回確認收到,在傳送乙個自己生成的隨機數y給客戶端。此...