TCP 的三次握手和四次揮手

2022-09-05 08:09:14 字數 903 閱讀 7055

三次握手:

客戶端和伺服器之間的通話要建立tcp來當作資料請求和返回的一種通道。三次握手就是客戶端和伺服器通過tcp進行的正常資料互動之前的三次報文交換,只有這三次報文交換成功了,才能正確開始客戶端與伺服器的資料互動。

第一次握手,客戶端向伺服器傳送一次請求報文:「你好,很高興認識你,可以聊聊嗎?」

第二次握手,伺服器返回客戶端一次響應報文:「你好,很高興認識你,那我們聊聊吧!」

第三次握手,客戶端向伺服器傳送一次請求報文:「太好了,那我們開始正式聊天吧!」

四次揮手:

所謂四次揮手就是tcp連線的釋放和解除。連線的釋放必須是一方主動釋放,另一方被動釋放。

第一次揮手,客戶端向伺服器傳送一次請求釋放報文,並且客戶端處於半關閉階段,停止向伺服器傳送資料,但可以接受伺服器返回的資料。

第二次揮手,伺服器收到報文後,進入半關閉階段,並且返回給客戶端報文,告訴客戶端已經收到請求。

(前"兩次揮手"既讓伺服器端知道了客戶端想要釋放連線,也讓客戶端知道了伺服器端了解了自己想要釋放連線的請求。於是,可以確認關閉客戶端到伺服器端方向上的連線了)

第三次揮手,伺服器傳送完第二個報文後,進行連線的釋放和解除準備,準備好以後,會繼續給客戶端傳送報文,告訴客戶端,這邊已經準備好了。

第四次揮手,客戶端接收到伺服器「準備好釋放解除」的報文後,自己也進入釋放解除的準備階段,並向服務啟發送這邊已經準備好的報文。傳送過後,等待2msl後(確保伺服器已經解除釋放完成),客戶端正式關閉tcp連線。

為什麼握手三次,揮手四次:

因為在釋放解除的時候,伺服器屬於被動方,突然接收到釋放解除請求,需要緩衝,需要給伺服器一些時間去處理資料,保證連線的正常釋放解除。

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

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

TCP三次握手和四次揮手

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

TCP三次握手和四次揮手

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