對TCP IP三次握手的理解

2021-08-30 12:16:53 字數 674 閱讀 9405

下述段落摘自:

[quote]

【三次握手的過程】

第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;對應客戶端的connect函式(linux)。

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;對應伺服器端的accept函式。

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。對應客戶端的connect函式。

【為什麼要3次握手】

tcp 使用三次握手的主要原因就是要消除舊有連線中的syn訊息對新連線的干擾。

理解:因為ip包可能在網路中被延時。

比如上次客戶端a發起連線的請求syn a,但可能資料報並非在網路中丟失而是被延時了,當a端定時器超時後,它將重發包含syn c的請求資料報。另一方面,上次連線中傳送的syn報文卻在此時到達伺服器端b,所以接收端對syn的有效性是無法作出判斷,他必須詢問對方a來確認這個syn。

簡單點說:因為ip包在網路中有可能延時達到客戶端定時器的超時時間,因此接收端無法確認收到的報文是否為有效報文,還需要跟客戶端確認。

[/quote]

這樣理解TCP IP的三次握手

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

TCP IP 三次握手

1.首先客戶端通過向伺服器端傳送乙個syn來建立乙個 主動開啟,作為三路握手的一部分。同步位為1 2.然後伺服器端應當為乙個合法的syn回送乙個 syn ack。同步位和確認位都為1 3.最後,客戶端再傳送乙個ack。這樣就完成了三 路握手,並進入了連線建立狀態。確認位位1 ftp服務之前首先需要t...

TCP IP三次握手

tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線 位碼即tcp標誌位,有6種標示 syn synchronous建立聯機 ack acknowledgement 確認 psh push傳送 fin finish結束 rst reset重置 urg urgent緊急...