TCP三次握手(簡單明瞭)

2021-10-18 22:42:04 字數 578 閱讀 3579

假設有主機a和主機b,主機a執行的是客戶端程式,b執行的是服務端程式.

最初兩端都處於closed狀態,而一開始,b的tcp伺服器先建立傳輸控制塊tcp(儲存了每乙個連線中的一些重要資訊,如下文的傳送接收序號),之後伺服器程序就處於listen狀態,等待客戶端的連線請求,

而a也是通過建立傳輸控制塊tcp,然後向主機b傳送連線請求報文段(這時首部中的同步位syn=1,同時選擇乙個初始序號seq=x),這時tcp客戶端進入同步已傳送狀態;

而b收到a的請求報文後,同意建立連線則向a傳送確認報文段(把syn位和ack位都置為1,確認號是ack=x+1,同時也給自己加乙個初始序號seq=y)這時伺服器端進入同步收到狀態

而客戶端a收到b的確認後,還要向主機b給出確認報文(ack置為1,確認號ack=y+1)則a進入已建立連線狀態.

三次握手**

為什麼要三次握手呢?

答:主要是為了防止已失效的連線請求報文段突然又傳送到b,因而產生錯誤

為什麼是三次,不是四次?

答:如果要四次握手的話可以把b傳送的確認報文分為確認報文段和請求報文段,但其效果和三次握手效果一樣,所以只使用三次

Tcp的三次握手,四次揮手簡單理解

客戶端 在嗎 向伺服器端傳送同步包 syn 伺服器端 在的 向客戶端傳送確認包 ack 同步包 客戶端 好的 向伺服器傳送確認包 開始搞基 1.客戶端 我要好了。額額!2.伺服器端 好的,我也馬上了!3.伺服器端 我也好了。啊!4.客戶端 好的 索然無味 步驟1 客戶端傳送釋放連線報文,發出後進入f...

tcp三次握手 TCP 三次握手總結

tcp特點概述 tcp segment structure 段結構 step2 server host receives syn,replie with syn ack segment 答覆syn ack報文段 step3 client receives synack,replies with ac...

三次握手四次揮手,簡單易懂。

了解三次握手四次揮手之氣那需要先先了解幾個基本知識點 1 fin 1表示此報文段的傳送方的資料已經傳送完畢,請求釋放傳輸連線。2 確認欄位號 ack 期望接收報文段的資料的第乙個位元組的序號,ack n表示序號n 1為止的所有資料都正確接收到。3 確認位 只有ack 1時確認號字段才有效,ack 0...