三次握手建立連線

2021-09-07 11:12:38 字數 1117 閱讀 7075

建立連線的步驟例如以下:

client傳送乙個syn段表示發起連線請求,該段中包括乙個初始序號isn。

server也傳送乙個syn段幷包括它自己的初始序號isn。同一時候設定ack標誌表示對上乙個client的syn的確認。確認序號為client的isn值加1,該確認序號表示server希望下一次收到的起始序號。

client再傳送乙個ack以確認server發來的syn,確認序號為serverisn加1,含義同上。

三次握手完畢,連線建立。

以下以http為例。

在http傳送第乙個請求之前,須要建立tcp連線。也就是三次握手,這三個tcp資料報不包括不論什麼有效資料位元組。通過wireshark來分析三次握手的詳細流程。這裡有一點須要記住:確認訊號應當是上一次已成功收到資料位元組序號加1。

第一次握手:

這是client(我的電腦)發出的tcp頭。client的port號是59313。server的port號是80,client生成的初始序列號x為0。標誌位為syn表示client請求建立連線。

第二次握手:

這是server返回的應答tcp頭。

server也生成乙個初始序列號y為0。同一時候將確認序號設為x加1以對client的syn報文段進行確認,標誌位為syn和ack。

第三次握手:

client收到server的應答後再次傳送乙個ack作為應答。響應序號為y+1以響應server的syn報文段。由於是第二次傳送,所以該ack的序號為1,但由於ack不消耗序號。在連線建立之後傳送第乙個資料時,該序號仍然是1.

注意。wireshark在這裡所顯示的序號均為相對序號,相對於某個基準值。該基準值的產生隨時間變化。

基準值加上相對序號才是tcp包真正的序號。

參考:

《tcp/ip具體解釋》 p174-p176.

TCP IP的三次握手建立連線

圖一 tcp三次手連線 使用greenbrowser網頁瀏覽器連線gnu的 http www.gnu.org。應用層http協議使用tcp協議建立連線,然後利用http協議在客戶端與web伺服器之間傳遞網頁資料。使用sniffer pro 4.0抓取三次握手的資料報 圖二在上圖中客戶端 lenovo...

TCP三次握手建立關係

三次握手 three times handshake three way handshake 所謂的 三次握手 即對每次傳送的資料量是怎樣跟蹤進行協商使資料段的 傳送和接收同步,根據所接收到的資料量而確定的資料確認數及資料傳送 接收完畢後何時撤消聯絡,並建立虛連線。tcp資料格式 首部 特殊字段 在...

TCP三次握手建立過程

大家都知道,計算機與網路裝置要相互通訊,雙方就必須基於相同的方法,不同的硬體 作業系統間的通訊,這一切都需要一種規則。我們把這種規則稱為協議。tcp ip是網際網路中相關各類協議族的總稱。tcp ip是指tcp和ip這兩種協議。tcp ip是在ip協議的通訊過程中使用到的協議族的統稱。附 計算機訪問...