第一次握手:客戶端將同步號syn置為1,隨機產生乙個值seq=x,將該資料報傳送給服務端,客戶端進入syn_sent狀態,等待服務端確認。
第二次握手:服務端收到資料報後由同步號syn=1知道客戶端請求建立連線,服務端將標誌位syn和ack都置為1,ack=x+1,隨機產生乙個值seq=y,並將該資料報傳送給客戶端以確認連線請求,服務端進入syn_rcvd狀態。
第三次握手:客戶端收到確認後,檢查ack是否為j+1,ack是否為1,如果正確則將標誌位ack置為1,ack=k+1,並將該資料報傳送給服務端,服務端檢查ack是否為y+1,ack是否為1,如果正確則連線建立成功,客戶端和服務端進入established狀態.
完成三次握手,成功建立鏈結,進行資料傳輸。
第一次揮手:客戶端傳送fin=1,用來關閉客戶端到服務端的資料傳送,隨機產生乙個seq=u,將該資料報傳送給服務端,客戶端進入fin_wait_1狀態。
第二次揮手:服務端收到結束標誌fin=1後,傳送確認標誌ack=1給客戶端,確認號ack=u+1,隨機產生乙個seq=v,將該資料報傳送給客戶端,服務端進入close_wait狀態。
第三次揮手:服務端傳送結束標誌fin=1,用來關閉服務端到客戶端的資料傳送,並傳送確認標誌ack=1,隨機產生乙個seq=w,ack=u+1,將該資料報傳送給客戶端,服務端進入last_ack狀態。
第四次揮手:客戶端收到fin後,客戶端進入time_wait狀態,接著傳送確認標誌ack=1給服務端,確認號seq=u+1,服務端進入closed狀態。
完成四次揮手,成功斷開連線。
資料報狀態:
流量圖:
附:
簡述TCP建立連線和釋放連線
第一次握手 客戶端將同步號syn置為1,隨機產生乙個值seq x,將該資料報傳送給服務端,客戶端進入syn sent狀態,等待服務端確認。第二次握手 服務端收到資料報後由同步號syn 1知道客戶端請求建立連線,服務端將標誌位syn和ack都置為1,ack x 1,隨機產生乙個值seq y,並將該資料...
TCP建立連線與釋放連線
tcp建立連線與釋放連線 tcp建立連線與釋放連線 最近複習準備 計算機網路 考試,感覺tcp協議建立連線與釋放連線這兩個過程比較重要,所以把自己理解的部分寫下來。1.建立連線 三次握手 1 客戶端傳送乙個syn包給伺服器,然後等待應答。2 伺服器端回應給客戶端乙個ack 1 syn 1的tcp資料...
TCP建立連線與釋放連線
tcp建立連線與釋放連線 最近複習準備 計算機網路 考試,感覺tcp協議建立連線與釋放連線這兩個過程比較重要,所以把自己理解的部分寫下來。1.建立連線 三次握手 1 客戶端傳送乙個syn包給伺服器,然後等待應答。2 伺服器端回應給客戶端乙個ack 1 syn 1的tcp資料段。3 客戶必須再次回應伺...