簡談TCP連線 三次握手與四次揮手

2021-09-11 23:14:57 字數 1009 閱讀 7866

syn:syn是synchronize(同步)的縮寫,意思是通過告知初始序號使通訊雙方保持步調一致,以便完成後續的資料收發檢查。

seq(序號初始值):首先,我們得知道,http請求訊息一般不會太長,乙個網路包就能裝的下,但如果出現了資料量比較大的情況,tcp模組就會在傳送資料前先將資料按照一定長度進行拆分,拆分出來的每塊資料放進單獨的網路包中。在拆分網路包時,tcp模組會先計算好每一塊資料相當於從頭開始的第幾個位元組。而序號就是用在這裡的。當然,在實際的通訊中,為了安全防範,序號並不是從1開始的,而是需要用隨機數計算出乙個初始值。

ack號:因為在通訊過程中初始值有可能丟失,因此,收據接收方在收到序號初始值時還需要根據該初始值計算出相應的ack號返回給資料傳送方。設定ack號時,除了需要設定ack號字段的值,還需要將控制位的位元值設為1(表有效)。

文字描述只作大概描述,可結合進行深入理解。

第二次握手:初始值在通訊過程中有可能丟失,因此伺服器需要根據這個初始值計算出ack號。同時,伺服器也需要計算出從伺服器到客戶端方向通訊相關的序號初始值(seq=y)。然後伺服器將自身到客戶端通訊的序號初始值與ack號返回給客戶端。

第三次握手:客戶端根據伺服器發來的初始值計算出ack號並返回給伺服器。到此,連線便簡歷成功了。

在資料收發結束後,資料傳送完畢的一方會發起斷開過程。而斷開時機的判斷是有由應用程式做出的,協議棧在設計上允許任何一方先發起斷開的過程。在這裡,我們以伺服器一方發起斷過程為例來進行講解。

到此,三次握手與四次揮手也算是講了個大概了。至於在這其中涉及到的其他細節點,本文中就不展開來寫了。

網路是怎樣連線的

TCP三次握手和四次揮

一 tcp報文格式 在了解三次握手和四次揮手之前,首先要知道tcp報文內部包含了哪些東西。報文主要段的含義 序號 seq 用來標記資料段的順序,確保tcp傳輸有序。ack 確認 確認序號標誌,ack 1表示確認號字段有效,ack 0表示確認序號無效。syn 同步 連線請求序號標誌,用於建立連線。sy...

三次握手和四次揮手 TCP三次握手和四次揮手的理解

相比較於udp傳輸協議,tcp傳輸協議被認為是安全可靠的,這是由於tcp協議的三次握手和四次揮手保證了資料傳輸的安全性。tcp報文格式簡介 要了解tcp協議的三次握手和四次揮手,需要先了解在tcp協議中請求和響應的資料報報文格式。在報文中有幾個值得注意的字段 1 序號 seq序號,佔32位,用來標識...

TCP三次握手與四次握手

當我們從瀏覽器輸入乙個url,http的工作流程如下圖所示 dns解析流程請看dns網域名稱解析過程這篇文章 現在來講tcp三次握手 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。1 序號 seq序號,佔32位,用來標識從tcp源端向目的端傳送的位元組流,發起...