TCP為什麼是三次握手?

2021-09-12 02:30:26 字數 610 閱讀 5110

tcp的三次握手過程:

1、第一次握手:建立連線時,客戶先傳送syn = 1,seq = x到伺服器,客戶端進入syn_send狀態,等待伺服器確認;

2、第二次握手:伺服器收到syn包後必須確認收到客戶的syn包,傳送ack(ack = x+1),同時自己也傳送乙個syn包(seq = k),此時伺服器進入syn_recv狀態。

3、第三次握手:客戶端收到伺服器的syn+ack包之後,向伺服器端傳送確認包ack(seq = k+1),這個包傳送完畢後,客戶端和伺服器進入established狀態,三次握手完成。

兩次連線會出現這樣的情況:如果有訊息在一次tcp連線完成後才到達伺服器,那麼伺服器會以為是新的連線,就會傳送確認報文到客戶端確認並建立新的連線,但客戶端可能已經關閉,即使沒有關閉,在沒有到達syn_send的狀態時,也不會響應伺服器端的確認資訊,伺服器可能就這樣等待,白白浪費了網路資源,

如果是三次握手,伺服器收到了滯留在網路中的資訊,傳送確認資訊和同步資訊給客戶端,如果客戶端沒有理會,伺服器也就知道這是錯誤資訊,就不會苦苦等待,浪費資源了。

為什麼TCP是三次握手

tcp 三次握手 首先簡單介紹一下tcp三次握手 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack ...

什麼是TCP 三次握手及為什麼進行三次握手?

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

TCP為什麼三次握手

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