置位概念:根據tcp的包頭字段,存在3個重要的標識ack、syn、fin
ack:表示驗證字段
syn:位數置1,表示建立tcp連線
fin:位數置1,表示斷開tcp連線
三次握手過程說明:1、由客戶端傳送建立tcp連線的請求報文,其中報文中包含seq序列號,是由傳送端隨機生成的,並且將報文中的syn欄位置為1,表示需要建立tcp連線。(syn=1,seq=x,x為隨機生成數值)
2、由服務端回覆客戶端傳送的tcp連線請求報文,其中包含seq序列號,是由回覆端隨機生成的,並且將syn置為1,而且會產生ack欄位,ack欄位數值是在客戶端傳送過來的序列號seq的基礎上加1進行回覆,以便客戶端收到資訊時,知曉自己的tcp建立請求已得到驗證。(syn=1,ack=x+1,seq=y,y為隨機生成數值)這裡的ack加1可以理解為是確認和誰建立連線。
3、客戶端收到服務端傳送的tcp建立驗證請求後,會使自己的序列號加1表示,並且再次回覆ack驗證請求,在服務端發過來的seq上加1進行回覆。(syn=1,ack=y+1,seq=x+1)
四次揮手過程說明:1、客戶端傳送斷開tcp連線請求的報文,其中報文中包含seq序列號,是由傳送端隨機生成的,並且還將報文中的fin欄位置為1,表示需要斷開tcp連線。(fin=1,seq=x,x由客戶端隨機生成)
2、服務端會回覆客戶端傳送的tcp斷開請求報文,其包含seq序列號,是由回覆端隨機生成的,而且會產生ack欄位,ack欄位數值是在客戶端發過來的seq序列號基礎上加1進行回覆,以便客戶端收到資訊時,知曉自己的tcp斷開請求已經得到驗證。(fin=1,ack=x+1,seq=y,y由服務端隨機生成)
3、服務端在回覆完客戶端的tcp斷開請求後,不會馬上進行tcp連線的斷開,服務端會先確保斷開前,所有傳輸到a的資料是否已經傳輸完畢,一旦確認傳輸資料完畢,就會將回覆報文的fin欄位置1,並且產生隨機seq序列號。(fin=1,ack=x+1,seq=z,z由服務端隨機生成)
4、客戶端收到服務端的tcp斷開請求後,會回覆服務端的斷開請求,包含隨機生成的seq欄位和ack欄位,ack欄位會在服務端的tcp斷開請求的seq基礎上加1,從而完成服務端請求的驗證回覆。(fin=1,ack=z+1,seq=h,h為客戶端隨機生成)
至此tcp斷開的4次揮手過程完畢
TCP三次握手 四次揮手
tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...
TCP三次握手 四次揮手
服務端的tcp程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求,然後服務端程序處於listen狀態,等待客戶端的連線請求,如有,則作出響應。1 客戶端的tcp程序也首先建立傳輸控制模組tcb,然後向服務端發出連線請求報文段,該報文段首部中的syn 1,ack 0,同時選擇乙個初始序號seq ...
TCP三次握手四次揮手
tcp transmission control protocol 傳輸控制協議 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。位碼即tcp標誌位,有6種標誌 urg urgent緊急 ack acknowledgement 確認 psh push傳送 rst...