tcp被稱為可靠的資料傳輸協議,主要是通過許多機制來實現的,其中最重要的就是三次握手的功能。如何利用tcp的報頭來確認這個資料報已經被對方接受,並進一步與對方主機實現連線呢?看下圖:
我們把上述過程分為a.b.c.d四個階段來說明:
a:資料報發起
當客戶端想要對伺服器端發起連線時,就必須要送出乙個要求連線的資料報,此時客戶端需要隨機取用乙個大於1024的埠來作為程式溝通的介面。然後在tcp的報頭當中,必須要帶有syn的主動連線(syn=1),並且記下傳送出連線資料報給伺服器端的序號(sequence number=10001)。
b:資料報接收與確認資料報傳遞
當伺服器接到這個資料報,並且確定要接收這個資料報後,就會開始製作乙個同時帶有syn=1,ack=1的資料報,其中那個acknowledge的號碼是要給client端確認用的,那我們伺服器也必須要確認客戶端確實可以接收我們的資料報才行,所以也會傳送出乙個sequence number(seq=20001)給客戶端,並且開始等待客戶端給我們伺服器端的回應。
c:回送確認資料報
當客戶端收到來自伺服器端的ack數字後(10002)就能夠確認之前那個要求資料報被正確接收了,接下來如果客戶端也同意與伺服器端簡歷連線時,就會再次傳送乙個確認資料報(ack=1)給伺服器,亦即是acknowledge=20001+1=20002.
d:取得最後的確認
若一切順利,在伺服器端收到帶有ack=1且ack=20002序號的資料報後,就能夠建立起這次的連線了。
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和乙個視窗大小 表示客戶端上用來...