1. 程式人生 > >建立TCP連線(三次握手)

建立TCP連線(三次握手)

今天又重新看了看計算機網路,加深了對三次握手的理解。

當兩臺主機用tcp協議通訊時,在交換資料前需要建立連線,有三個步驟。如下圖。


步驟1:客戶端向伺服器傳送包含SYN(同步序列號)的資料段,開啟連線,seq為順序號(隨機值),設為x。

步驟2:伺服器為了確認收到了該資料段,向客戶端傳送含有ack(確認號,值為客戶端初始序列號加1)的資料段,並隨機產生一個順序號,設為y,傳送給客戶端。

步驟3:客戶端檢查伺服器發來的ack是否正確,如果正確,客戶端再向伺服器傳送一個包含ack的資料段,seq為步驟1客戶端產生的seq+1.伺服器收到後,建立連線完成。

ACK和SYN欄位用作標誌,只有兩個值:1或0.當值為1時,表示資料段中包含控制資訊。

如果你想直觀的看tcp的三次握手,可以用抓包工具wireshark。