TCP的三次握手和四次分手

2021-06-29 15:21:12 字數 795 閱讀 1465

tcp的傳輸機制有三次握手大家都很熟悉,但是三次握手中tcp協議都幹了些什麼呢?還有tcp的四次分手也都分別幹了些什麼呢?

位碼是tcp的標誌位,標識有:syn(建立聯機)、ack(確認)、push(傳送)、fin(結束)、urg(緊急)。

sequence number(順序號碼) acknowledge(確認號碼)

tcp 三次握手流程:

第一次握手:主機a傳送位碼為syn=1,隨機產生乙個sequence number=1234567的資料到伺服器b,主機b由syn=1得知,a要求建立聯機。

第二次握手:主機b收到請求後要確認訊息,向a傳送ack number=(主機a的seq+1),syn=1,ack=1,隨機產生seq=7654321的包。

第三次握手:主機a收到後檢查ack number是否正確,即是否是第一次傳送的seq number+1,以及ack是否為1;若正確,主機a再傳送ack number=(主機b的seq+1),ack=1,主機b收到確認seq值,ack=1,則建立連線成功。

至此完成了三次握手

tcp的四次分手流程:

1.客戶端a傳送乙個fin,用來關閉客戶a到伺服器b的資料傳輸

2.伺服器b收到這個fin,它發回乙個ack,確認序號為收到的序號加1.

3.伺服器b關閉與客戶端a的連線,傳送乙個fin給客戶端a

4.客戶端a發回乙個ack確認報文,並將確認序號設定為收到的序號加1.

tcp的分手過程中將傳送fin的動作與接收ack的動作分開,主要是因為當b收到fin報文時,有可能b正在給a傳送資料,伺服器b必須等資料傳輸結束後才響應fin報文。

TCP三次握手,四次分手

tcp報文重要字段 1 序號 seq序號,佔32位 2 確認號 ack序號,32位,只有標誌位ack位1時,確認號才有效。ack seq 1 3 標誌位 共六個 urg 緊急指標,告訴接收tcp模組緊要指標域指著緊要資料。ack 置1時表示確認號 為合法,為0的時候表示資料段不包含確認資訊,確認號被...

TCP三次握手與四次分手

ack 此標誌表示應答域有效,就是說前面所說的tcp應答號將會包含在tcp資料報中 有兩個取值 0和1,為1的時候表示應答域有效,反之為0 syn 表示同步序號,用來建立連線。syn標誌位和ack標誌位搭配使用,當連線請求的時候,syn 1,ack 0 連線被響應的時候,syn 1,ack 1 這個...

TCP三次握手與四次分手

三次握手 解釋 客戶端a和伺服器b剛開始處於closed狀態,兩者之間沒有任何聯絡,a主動開啟,b被動開啟由 closed進入listen狀態,這是a傳送乙個syn 1的標誌位的資料報,並且資料的序列為seq x,a也由closed進入syn sent狀態,b接收到a的請求,也主動 傳送syn 1的...