第一次握手:客戶端向服務端傳送訊息請求建立連線("哥們,聊聊"syn=1)
第二次握手:服務端接收到客戶端發出的訊息(證明客戶端發訊息功能正常),服務端向客戶端發出訊息("知道了"ack,"現在聊嗎"syn)
第三次握手:客戶端接收到伺服器返回的訊息(證明服務端接收訊息和傳送訊息的功能正常),客戶端再次發出訊息("現在聊"ack),服務端接收到訊息(證明客戶端接收訊息功能正常),連線建立
第一次揮手:客戶端給服務端傳送訊息("我完事了"fin),此時自身形成等待結束連線的狀態
第二次揮手:服務端收到訊息,給客戶端返回乙個訊息,表示服務端收到了,且還有訊息未傳送完畢("我知道了"ack,「我還有話沒說完」)
第三次揮手:服務端給客戶端傳送訊息("我也完事了,咱們斷了吧"fin),此時伺服器也處理等待關閉連線的狀態
第四次揮手:客戶端收到服務端的訊息,也要給服務端返回訊息("斷了吧"ack),因為連線和斷開要雙方都按下關閉操作才行,同時客戶端給自己家定義乙個定時器,因為不知道這個訊息是否能準確到達服務端(網路不穩定等因素),預設時間為兩個通訊的最大時間之和,超出這個時間就預設伺服器端已經接收到了確認資訊,此時客戶端就關閉自身連線,伺服器端一旦接受到客戶端發來的確定訊息就立刻關閉自己的連線
到此為止雙方整個通訊過程就此終結.需要說明一下:斷開連線不一定就是客戶端,誰都可以先發起斷開指令,令牌客戶端和服務端是沒有固定標準的,誰發起請求誰就是客戶端
三次握手和四次揮手
三次握手和四次揮手如圖所示 為什麼是三次握手而不是兩次 因為當客戶端第傳送syn到服務端的時候,如果有幾次請求是因為網路等原因延時等情況的時候,如果沒有第三次握手的確定。服務端就會認為客戶端重寫傳送請求了,就會去開啟連線相應。為什麼關閉連線的時候是四次握手而不是三次?當客戶端傳送請求關閉連線的時候,...
三次握手和四次揮手
tcp三次握手和四次揮手的全過程 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線 位碼即tcp標誌位,有6種表示 syn synchronous建立連線 ack acknowledgement 表示響應 確認 psh push表示有data資料傳輸 fin fi...
三次握手和四次揮手
1.在學習tcp協議的時候,總是在強調三次握手,那麼為什麼是三次?而不是兩次或者四次?強迫症表示黑人問號?今天我們就來分析一下為什麼是三次,下圖是一次tcp通訊的時序 在這個例子中,首先客戶端主動發起連線 傳送請求,然後伺服器端響應請求,然後客戶端主動關閉連線。兩條豎線表示通訊的兩端,從上到下表 示...