tcp三次握手都做了什麼?!
阿新 • • 發佈:2019-01-02
一,tcp三次握手圖
二,為什麼要進行三次我手?
首先,我們來舉一個生活中的栗子。在我們初中時我們便學過這樣的英語對白。場景是小明和小紅初次見面 小明(客戶端):How are you?(SYN) 小紅(伺服器):i am fine,thank you(Ack,對問題的確認。) and you?(SYN) 小明(客戶端):me too.(Ack) 一番禮貌之後,聯絡已經建立。可以進行家長裡短的交談了,也就是可以傳送資料了。 SYN=1的資料包是請求資料包。Ack是確認資料包。當客戶端給伺服器傳送SYN=1的資料報時,目的是告訴伺服器我的傳送快取已經建立,你快建立你的接收快取吧。當伺服器給客戶端發SYN=1,Ack=x+1的資料包時,Ack表示好的我知道了,我的接收快取已經建立好了。SYN=1是告訴客戶端我的傳送快取已經建立,你快建立接收快取吧。客戶端最後給伺服器發了一個Ack,表示好的我的 接收快取建好了。
如圖,其實伺服器和客戶端有各自的接收快取和傳送快取,下圖顯示了一部分。
tcp三次握手不僅是傳送接收快取的建立。還協商了一些重要的引數:如傳送快取等。