說一說TCP的三次握手?

開局一張圖

在這裏插入圖片描述
圖來源-慕課

1.三次握手

如圖
TCP協議採用三次握手的模式,建立一個連接

SYN 同步序號,用於建立連接過程
seq 報文的序列號
ack 確認序號
ACK 確認序號標誌(0-忽略)(1-有效)
SYN_SENT 客戶端請求服務端,發送了SYN後的狀態
SYN_RECV 服務端被動打開後,接收到了客戶端的SYN並且發送了ACK後的狀態

1.1.第一次握手

客戶端發送SYN數據包到服務端
SYN=1 ,Seq=0
數據包中沒有數據只有序列號0,然後客戶端進入 SYN-SENT狀態
譯爲:客戶端通知服務端,然後等待反饋

1.2.第二次握手

服務端收到信息後,返回 SYN+ACK 包
SYN=1 , ACK=1, seq=0, ack=1
然後服務端進入 SYN-RECV狀態
譯爲:服務端通知客戶端,然後等待反饋

1.3.第三次握手

客戶端收到信息後,返回ACK包
ACK=1,seq=1 ,ack=1
然後連接成功
譯爲:客戶端通知服務,然後連接成功

2.爲什麼需要三次握手

爲了初始化客戶端與服務端的Seq(序列號)
TCP需要使用這個序號進行數據的標記
這樣可以能保證連接建立後,數據包的傳遞不會亂序

《TCP協議詳解》

《TCP報文頭詳解》



白嫖不點贊嗎.........

在這裏插入圖片描述

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