TCP三次握手和四次揮手

2021-06-06 17:14:17 字數 881 閱讀 5421

一、tcp三次握手(three-way handshake)

1、tcp三次握手的作用:

三次握手的目的是連線伺服器指定埠,建立tcp連線,並同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。在socket程式設計中,客戶端執行connect()時,將觸發三次握手。

2、tcp三次握手過程:

第一步:客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小(表示客戶端上用來儲存從伺服器傳送來的傳入段的緩衝區的大小)。--syn報文段

第二步:伺服器收到客戶端傳送過來的syn報文後,取出tcp_syn報文段,為該tcp連線分配tcp快取和變數,並向客戶端傳送乙個syn和ack都置位的tcp報文,其中包含它選擇的初始序列號y、對客戶端的序列號的確認x+1和乙個視窗大小(表示伺服器上用來儲存從客戶端傳送來的傳入段的緩衝區的大小)。--synack報文段

第三步:收到synack報文段後,客戶端給該連線分配快取和變數,並向伺服器端返回乙個確認號y+1 ack報文,報文中syn位被置0,乙個標準的tcp連線完成。(在以後的報文段中都將被置為0)

二、tcp四次揮手(four-way handshake)

1、四次揮手的作用:

tcp的連線的拆除需要傳送四個包,因此稱為四次揮手(four-way handshake)。客戶端或伺服器均可主動發起揮手動作,在socket程式設計中,任何一方執行close()操作即可產生揮手操作。

2、四次揮手過程:

tcp 四次揮手 TCP的三次握手和四次揮手

三次握手 第一次握手 客戶端傳送syn包 syn x 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack x 1 同時自己也傳送乙個syn包 syn y 即syn ack包,此時伺服器進入syn recv狀態 第三次握手 客戶端收到伺服...

TCP三次握手和四次揮手

三次握手 四次揮手 需四次揮手原因 由於tcp的半關閉特性,tcp連線時雙全工 即資料在兩個方向上能同時傳遞 因此,每個方向必須單獨的進行關閉。這個原則就是 當一方完成它的資料傳送任務後就能傳送乙個fin來終止這個方向上的連線。當一端收到乙個fin後,它必須通知應用層另一端已經終止了那個方向的資料傳...

TCP三次握手和四次揮手

tcp連線的三個階段 連線建立,資料傳送,連線釋放。1 連線建立 三次握手 第一次握手 客戶端a傳送位碼syn 1和隨機序列號seq x的資料報到伺服器b,伺服器b由syn 1知道,a要求建立聯機 位碼即tcp標誌位,有6種標示 urg urgent緊急 ack acknowledgement 確認...