tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線:
位碼即tcp標誌位,有6種標示:syn(synchronous建立聯機) ack(acknowledgement 確認) psh(push傳送) fin(finish結束) rst(reset重置) urg(urgent緊急)
sequence number(順序號碼) acknowledge number(確認號碼)
第一次握手:主機a傳送位碼為syn=1,隨機產生seq number=1234567的資料報到伺服器,主機b由syn=1知道,a要求建立聯機;
第二次握手:主機b收到請求後要確認聯機資訊,向a傳送ack number=(主機a的seq+1),syn=1,ack=1,隨機產生seq=7654321的包
第三次握手:主機a收到後檢查ack number是否正確,即第一次傳送的seq number+1,以及位碼ack是否為1,若正確,主機a會再傳送ack number=(主機b的seq+1),ack=1,主機b收到後確認seq值與ack=1則連線建立成功。
完成三次握手,主機a與主機b開始傳送資料。
在tcp/ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。
第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;
第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態; 第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。 完成三次握手,客戶端與伺服器開始傳送資料.
例項:
ip 192.168.1.116.3337 > 192.168.1.123.7788: s 3626544836:3626544836
ip 192.168.1.123.7788 > 192.168.1.116.3337: s 1739326486:1739326486 ack 3626544837
ip 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1
第一次握手:192.168.1.116傳送位碼syn=1,隨機產生seq number=3626544836的資料報到192.168.1.123,192.168.1.123由syn=1知道192.168.1.116要求建立聯機;
第二次握手:192.168.1.123收到請求後要確認聯機資訊,向192.168.1.116傳送ack number=3626544837,syn=1,ack=1,隨機產生seq=1739326486的包;
第三次握手:192.168.1.116收到後檢查ack number是否正確,即第一次傳送的seq number+1,以及位碼ack是否為1,若正確,192.168.1.116會再傳送ack number=1739326487,ack=1,192.168.1.123收到後確認seq=seq+1,ack=1則連線建立成功。
**:
乙個三次握手的過程(圖1,圖2)
(圖1)
(圖2)
第一次握手的標誌位(圖3)
我們可以看到標誌位裡面只有個同步位,也就是在做請求(syn)
(圖3)
第二次握手的標誌位(圖4)
我們可以看到標誌位裡面有個確認位和同步位,也就是在做應答(syn + ack)
(圖4)
第三次握手的標誌位(圖5)
我們可以看到標誌位裡面只有個確認位,也就是再做再次確認(ack)
(圖5)
乙個完整的三次握手也就是 請求---應答---再次確認
**:
TCP三次握手過程
幾個概念 ack 僅當ack 1時確認欄位才有效,當ack 0時確認字段無效,並且tcp規定,在連線建立後所有的傳送報文段都必須要把ack置為1 syn 同步序列號,用來發起乙個連線。當syn 1而ack 0時表明這是乙個請求報文段 若對方同意連線,則響應報文中syn 1,ack 1 tcp三次握手...
TCP三次握手過程
握手過程主要使用tcp協議的標誌flag syn和ack 傳送端 將乙個標有syn synchronize 的資料報傳送至接收端。接收端 接收到帶有syn的資料報後,返回乙個標有syn ack acknowledgement 的資料報 傳送端 收到後傳送標有ack的資料報,代表握手結束。如果握手過程...
wireshark 三次握手過程
第一次握手資料報,客戶端傳送乙個tcp,標誌位為syn,序列號為0,代表客戶端請求建立連線,並進入syn sent狀態,等待伺服器確認 syn 即是同步序列編號 synchronize sequence numbers 第二次握手的資料報,伺服器發回確認包,標誌位為 syn,ack.將確認序號 ac...