當應用程式希望通過tcp與另乙個應用程式通訊時,它會傳送乙個通訊請求,這個請求必須被送到乙個
確切的位址,在雙方握手之後,tcp將在兩個應用之間建立乙個雙攻的通訊,這個雙工的通訊將占用兩個
計算機之間的通訊線路,直到它被一方或雙方關閉。
雙工是指計算機a可以給計算機b傳送訊息,在傳送訊息的同時,計算機b也可以給計算機a傳送訊息。
開始服務端和客戶端都處於closed狀態,假設主動開啟客戶端,被動開啟服務端。
(1)剛開始tcp伺服器程序先建立傳輸控制塊pcb,時刻準備其他客戶程序傳送過來的連線請求,
此時伺服器進入listen監聽狀態,此時tcp客戶端程序也是先建立乙個傳輸控制塊tcb,
向伺服器傳送連線請求報文,syn=1,seq=x,此時tcp客戶端進入synsent同步已傳送狀態,
此時傳送過去的資料報及報文段會被稱為syn報文段,不能攜帶資料,但是要消耗乙個序號,這便是第一次握手。
(2)當伺服器接收到請求報文後,如果同意連線則發出確認報文,確認報文中包含了tcp flags中的兩個位的字段,
syn=1,ack=1,ack=x+1(確認號),同時為自己的快取初始化乙個序列號seq=y,此時伺服器進入syn-rcvd同步收到狀態,
這個報文也不能攜帶資料,並且同樣需要消耗乙個序號,這便是第二次握手。
(3)當tcp客戶端程序收到確認報文後還要想伺服器給出乙個確認,確認報文中的ack=1,seq=x+1,ack=y+1
此時tcp連線建立,客戶端進入established已建立連線狀態,tcp規定這個報文段可以攜帶資料,
當然也可以不攜帶,如果不攜帶資料則不消耗序號,這是第三次握手。
當伺服器收到客戶端的確認後也會進入established狀態,此後雙方就可以開始通訊了。
tcp三次握手 TCP 三次握手總結
tcp特點概述 tcp segment structure 段結構 step2 server host receives syn,replie with syn ack segment 答覆syn ack報文段 step3 client receives synack,replies with ac...
tcp的三次握手 傳輸層 TCP 三次握手
使用tcp協議進行通訊的雙方必須先建立連線,然後才能開始傳輸資料。為了確保連線雙方可靠性,在雙方建立連線時,tcp協議採用了三次握手策略。如圖 客戶端傳送帶有syn標誌的連線請求報文段,然後進入syn send狀態,等待服務端的確認。服務端接收到客戶端的syn報文段後,需要傳送ack資訊對這個syn...
TCP 三次握手
tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...