簡單理解三次握手與四次揮手

三次揮手:

後續補充:

 

 

 

 TCP四次揮手:

理解 “三次握手”,“四次揮手”                   

           需要知道  “客戶端”與  ”服務器端“ 

                           “主動方” 與“   被動方 ”   之間的語言的含義是什麼,才能在心裏有個印象,才能去正確理解四次揮手的含義:

  下圖中有幾個字段需要重點介紹下:

  (1)序號:Seq序號,佔32位,用來標識從TCP源端向目的端發送的字節流,發起方發送數據時對此進行標記

  (2)確認序號:Ack序號,佔32位,只有ACK標誌位爲1時,確認序號字段纔有效,Ack=Seq+1。

  (3)標誌位:共6個,即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下:

  (A)URG:緊急指針(urgent pointer)有效。

  (B)ACK:確認序號有效。

  (C)PSH:接收方應該儘快將這個報文交給應用層。

  (D)RST:重置連接。

  (E)SYN:發起一個新連接。

  (F)FIN:釋放一個連接。

重點:

 需要注意的是:

  (A)不要將確認序號Ack與標誌位中的ACK搞混了。

  (B)確認方Ack=發起方Req+1,兩端配對。 

 

四次揮手的總結:能看懂的就,看不懂的回看下面的解釋吧:

           第一二次揮手:   主動方發送一條連接, 初始確認 確認序號爲Z   發送序號爲X      被動方確認 確認序號爲X+1,發送序號爲Z

(只有ACK標誌位爲1時,確認序號字段纔有效)

            第三四次揮手:   被動方發送一條連接 , 初始確認 確認序號爲X  發送序號爲Y      主動方確認 確認序號爲Y        發送序號爲X

 

 

 

四次揮手博主自我理解: :依照上方各種單詞的含義總結:

可以將四次揮手看成是兩個人:

 四次揮手分別是   第一 ,二次是主動方揮手,被動方揮手迴應  ,第三 ,四次是被動方主動揮手,,主動方揮手迴應

1:(FIN:釋放一個連接。)    2:確認序號:Ack序號,佔32位,只有ACK標誌位爲1時,確認序號字段纔有效,Ack=Seq+1。   3:序號:Seq序號,佔32位,用來標識從TCP源端向目的端發送的字節流,發起方發送數據時對此進行標記

 

 

 

 第  一:     主動方---》發送Fin+Ack 報文,併發送序號爲X   

 第一次揮手:主動方發送  :Fin=1  Ack=Z   Seq=X

 簡單理解:   1.主動方釋放一個連接 Fin=1             2.主動方發送一個待被動方接受的標誌ACK=Z (等待被動方接受,並以序號的方式發回到主動方)                 3. 主動方發送一個待確認的seq的序號 X(表示此序號是從TCP  的{”主動方“}    向   {”被動方“}發送的seq序號)等待被動方確認

第 二:       被動方---》發送Ack 報文,並置發送序號爲Z   再確認序號爲X+1

  第二次揮手 : 被動方發送:ACK=X+1  Seq =Z

簡單理解:  ACK=X+1 指被動方確認主動方發送的序號 X 並 +1  迴應主動方(只有ACK標誌位爲1時,確認序號字段纔有效,

                    Seq = Z  接受主動方發送的帶接受的標誌並將序號命名爲Z 

第三,四的揮手跟一二的相反     

                                                    ;;;;:  三:被動方---》  發送Fin+Ack 報文,併發送序號爲Y

                                                                        四:主動方---》  發送Ack 報文,並置發送序號爲X   再確認序號爲Y

 

 

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