最初a,b主機都處於close狀態。
b的tcp伺服器程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求。然後伺服器程序就處於listen狀態,等待客戶的連線請求,如有,即做出響應。
a的tcp客戶端程序也首先建立傳輸控制塊tcb,然後向b發出連線請求報文,這時首部中的同步位syn=1,同時選擇乙個初始序號seq=x.tcp規定,syn報文段(即syn=1的報文段)不能攜帶資料,但要消耗乙個序號。這時tcp客戶端進入syn-send(同步以傳送)狀態。
b收到連線請求報文後,如同建立連線,則向a傳送確認。在確認報文中應把syn位和ack位都置1,確認號是ack=x+1,同時也為自己選擇乙個初始序號seq=y。
這個報文段不能攜帶資料,但同樣消耗乙個序號。這時tcp伺服器程序進入syn-recv(同步狀態)
tcp客戶端程序收到b的確認後,還要向b給出確認,確認報文的ack置1,確認號ack=y+1,而自己的序號seq=x+1。tcp的標準規定,ack報文段可以攜帶資料。但如果不攜帶資料則不消耗序號,在這種情況下,下乙個資料報段的序號仍是seq=x+1.這時tcp連線已經建立,a進入established狀態。b收到a的確認後,也進入establistend狀態。
上面的過程叫做三次握手·!!
確認ack:僅當ack=1時確認序號欄位才有效,當ack=0時,確認序號無效。tcp規定,在連線建立後所傳送報文段都必須把ack置1。
同步syn:在建立連線時用來同步序號,當syn=1而ack=0時,表明這時乙個連線請求報文,因此syn置為1就表示這時乙個請求連線或連線接受報文
TCP連線建立過程
瀏覽器訪問 通過網域名稱解析找到ip位址後會與伺服器端建立連線。其中tcp transmission control protocol,傳輸控制協議 是一種面向連線的 可靠的 基於位元組流的通訊協議,它的特點是資料在傳輸前要建立連線,傳輸完畢後還要斷開連線,且每次客戶端與伺服器端的通訊都都需要進行應...
TCP連線建立過程和TCP連線終止過程
1 當客戶端想要與伺服器端進行tcp通訊時,會首先傳送乙個syn同步包 tcp包頭的syn位被置位 並指明要連線的伺服器端口號。2 如果伺服器端同意連線,就會向客戶端傳送乙個ack確認包 tcp包頭的ack被置位 表示同意客戶端的請求,同時將該包的syn位置位,表示伺服器也想與客戶端通訊。3 客戶端...
TCP建立連線和拆除連線的過程
2 tcp連線建立時三次握手的過程 圖示 文字說明 第一次握手 建立連線時,客戶端傳送syn包 seq x 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack j 1 同時自己也傳送乙個syn包 seq y 即syn ack包,此時伺服...