TCP三次握手和四次揮手

2021-06-26 15:49:10 字數 1044 閱讀 7211

tcp連線的三個階段:連線建立,資料傳送,連線釋放。

1、連線建立:三次握手

第一次握手:客戶端a傳送位碼syn=1和隨機序列號seq=x的資料報到伺服器b,伺服器b由syn=1知道,a要求建立聯機;

位碼即tcp標誌位,有6種標示:

urg(urgent緊急)ack(acknowledgement 確認)psh(push傳送)

syn(synchronous建立聯機) 

fin(finish結束)

sequence number(順序號碼) acknowledge number(確認號碼)

第二次握手:伺服器b收到請求後要確認聯機資訊,向a傳送syn=1,ack=1,ack number=x+1和隨機序列號seq=y的包

第三次握手:客戶端a收到後檢查ack number是否正確,即第一次傳送的seq number+1,以及位碼ack是否為1,若正確,a會再傳送ack=1

,seq=x+1,

ack number=y+1,b收到後確認seq值與ack=1則連線建立成功。

2、資料傳送:完成三次握手,a與b開始傳送資料。

3、連線釋放:四次揮手

(1) 客戶端a發結束送位碼fin=1和隨機序列號seq=u的資料報到伺服器b,關閉客戶端a到伺服器端b的資料傳送。(客戶端a不再傳送報文給伺服器端b,但可接受伺服器端b報文)

(2) 伺服器b收到這個fin,它發回乙個ack=1,隨機序列號seq=v和確認序號ack number=u+1。

(3) 伺服器b關閉客戶端a的連線,傳送乙個fin=1,ack=1,seq=w和

確認序號

ack number=u+1給客戶端a。(伺服器端b關閉到客戶端a的資料傳送)

(4) 客戶端a發回ack=1,seq=u+1和

ack number=w+1。

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後,它必須通知應用層另一端已經終止了那個方向的資料傳...