簡單描述三次握手和四次揮手

2021-08-31 07:11:09 字數 738 閱讀 8242

三次握手

a對b說:我的序號是x,我要向你請求連線(第一次握手,傳送syn包,然後進入syn-send狀態)

b聽到之後對a說:我的序號是y,期待你下一句序號是x+1的對話(意思就是收到了序號為x的對話,即ack = x+1),同意建立連線。(第二次握手,傳送ack-syn包,然後進入syn-rcvd狀態)

a 聽到 b 說同意建議連線之後,對a說:與確認你同意與我連線(ack = y+1,ack = 1,seq = x+1)。(第三次握手,a已進入established狀態)

b 聽到a 的確認之後,也進入established狀態。

四次揮手

1.a與b交談結束之後,a要結束此次會話,對b說:我要關閉連線了(seq = u,fin = 1)。(第一次揮手,a進入fin-wait-1)

2.b收到a的訊息後說:確認,你要關閉連線了,(seq = v,ack = u+1,ack = 1)(第二次揮手,b 進入close-wait)

3.a收到b的確認後,等了一段時間,因為b 可能還有話對他說。(此時a進入fin-wait-2)

4.b說完了他要說的話(只是可能還有話要說)之後,對a 說,我要關閉連線了。(seq = w,ack = u +1,fin= 1,ack = 1)(第三次揮手)

5.a收到b 要結束連線的訊息後說:已經收到你要關閉連線的訊息。(seq = u +1,ack = w+1,ack = 1)(第四次揮手,然後a進入closed)

6.b收到a的確認後,也進入closed

三次握手和四次揮手

三次握手和四次揮手如圖所示 為什麼是三次握手而不是兩次 因為當客戶端第傳送syn到服務端的時候,如果有幾次請求是因為網路等原因延時等情況的時候,如果沒有第三次握手的確定。服務端就會認為客戶端重寫傳送請求了,就會去開啟連線相應。為什麼關閉連線的時候是四次握手而不是三次?當客戶端傳送請求關閉連線的時候,...

三次握手和四次揮手

tcp三次握手和四次揮手的全過程 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線 位碼即tcp標誌位,有6種表示 syn synchronous建立連線 ack acknowledgement 表示響應 確認 psh push表示有data資料傳輸 fin fi...

三次握手和四次揮手

1.在學習tcp協議的時候,總是在強調三次握手,那麼為什麼是三次?而不是兩次或者四次?強迫症表示黑人問號?今天我們就來分析一下為什麼是三次,下圖是一次tcp通訊的時序 在這個例子中,首先客戶端主動發起連線 傳送請求,然後伺服器端響應請求,然後客戶端主動關閉連線。兩條豎線表示通訊的兩端,從上到下表 示...