Tcp三次握手 四次揮手

2021-10-22 07:45:24 字數 995 閱讀 5678

2. 四次揮手

1.1 三次握手的過程

客戶端發起第一次握手,傳遞syn請求,等待伺服器確認。

伺服器收到客戶端發起的請求,傳遞對客戶端發起請求的確認資訊ack向客戶端發起的連線請求syn,等待客戶端確認。

客戶端收到伺服器端傳送的ack和syn,處於連線完成狀態,並傳送對伺服器端的確認ack到伺服器端。伺服器端收到客戶端返回的ack,進入連線完成狀態

之後,客戶端可與伺服器端進行資料通訊。

1.2 tcp三次握手為什麼是必須的呢?

首先tcp協議是有狀態的連線,而且是客戶端、服務端均保持連線狀態的連線。

前兩次握手是必須的,需要服務端知道客戶端可正常傳輸報文,同時需要客戶端知道服務端可正常傳輸報文。

1.3 為什麼要有第三次握手?
`三次握手為了保證過期的握手請求不被再次接受`
因為網路原因,客戶端在想服務端發起的第一次握手a,有可能因為網路等原因發生了延遲。之後,客戶端發起新的握手請求b,新的握手請求被服務端接收,正常通訊,之後請求關閉。

此時,網路通順後,第一次握手請求,傳送到伺服器,如沒有三次握手,伺服器將認為客戶端傳送的請求是有效的,並準備好資源等待客戶端傳送報文。而客戶端因為上一次請求已過期,則不再向伺服器端傳送請求。伺服器端將耗費大量的資源進行等待,`造成伺服器端資源的浪費`。

1.4 為什麼三次握手,可以避免上述情況?
如過期確認請求a傳送到了伺服器端,伺服器端不知道客戶端傳送的連線請求是過期的,伺服器端向客戶端傳送ack+syn,進入等待客戶端返回確認的狀態。客戶端收到服務端資訊後,認為請求已過期,則不再理會,不向伺服器端返回任何資訊,`伺服器端收不到客戶端的ack確認,重發幾次之後,將不再傳送確認通知,認為客戶端無法反饋資訊,終止連線請求`。避免了伺服器端接收到過期請求,而導致的資源浪費。
待補充…

TCP三次握手 四次揮手

tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...

TCP三次握手 四次揮手

服務端的tcp程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求,然後服務端程序處於listen狀態,等待客戶端的連線請求,如有,則作出響應。1 客戶端的tcp程序也首先建立傳輸控制模組tcb,然後向服務端發出連線請求報文段,該報文段首部中的syn 1,ack 0,同時選擇乙個初始序號seq ...

TCP三次握手四次揮手

tcp transmission control protocol 傳輸控制協議 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。位碼即tcp標誌位,有6種標誌 urg urgent緊急 ack acknowledgement 確認 psh push傳送 rst...