TCP的三次握手和四次揮手簡述

2021-10-23 14:08:31 字數 746 閱讀 8646

客戶端向伺服器傳送syn報文段,伺服器接受到,此時伺服器可以確認自己的接收能力是否正常;

伺服器向客戶端傳送syn報文段和ack報文段,客戶端接收到,此時客戶端可以確認自己的傳送能力和接受能力是否正常,但是此時伺服器端只能確認自己的接收能力,並不能確認自己的傳送能力是否正常;

客戶端向伺服器端傳送ack報文段,伺服器接受後即可確認自己的傳送能力是否正常,此時,三次握手完畢,客戶端和伺服器可以開始進行傳輸資料.

客戶端向伺服器傳送fin報文段,發起斷開連線請求,但不會立馬中斷連線;

伺服器接收到,自動傳送ack報文段,但是不會立即傳送fin報文段,因為伺服器端可能會有一些資料還未處理完畢;

在伺服器處理完畢資料並向客戶端傳送處理結果之後,向客戶端傳送fin報文段,但不會立即中斷連線;

客戶端接收到伺服器傳送的fin報文段之後,做出應答,向伺服器傳送ack報文段,之後會等待2個msl(最長報文段壽命)時間才會主動斷開連線進入closed狀態,以確保伺服器能接收到最後這個ack報文段,而伺服器收到這個ack報文段之後則會關閉連線,進入closed狀態.

syn:同步序列號,用來發起乙個連線。syn=1的報文不能攜帶資料,但是消耗掉乙個序號。當syn=1而ack=0時表明這是乙個請求報文段;若對方同意連線,則響應報文中syn=1,ack=1。

ack:確認標識,當ack=1時確認欄位才有效。當ack=0時確認字段無效,並且tcp規定,在連線建立後所有的傳送報文段都必須要把ack置為1。

簡述tcp三次握手 四次揮手

1 建立連線協議 三次握手 1 客戶端傳送乙個帶syn標誌的tcp報文到伺服器。客戶端進入syn send狀態 2 伺服器端回應客戶端的,這個報文同時帶ack標誌和syn標誌。此時伺服器進入syn recv狀態。因為伺服器表示對剛才客戶端syn報文的回應需要用ack確認,同時自己又要傳送syn給客戶...

簡述TCP的三次握手和四次揮手

三次握手的目的是連線伺服器指定埠,建立tcp連線,並同步連線雙方的序列號和確認號,交換tcp視窗大小資訊。在socker程式設計中,客戶端執行connect 時,將觸發三次握手。第一次握手 syn 1,seq x 客戶端傳送乙個tcp的syn標誌位置1的包,指明客戶端打算連線的伺服器的埠,以及初始序...

tcp 四次揮手 TCP的三次握手和四次揮手

三次握手 第一次握手 客戶端傳送syn包 syn x 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack x 1 同時自己也傳送乙個syn包 syn y 即syn ack包,此時伺服器進入syn recv狀態 第三次握手 客戶端收到伺服...