三次握手所謂的「三次握手」即對每次發送的數據量是怎樣跟蹤進行協商使的發送和接收同步,根據所接收到的數據量而肯定的數據確認數及數據發送、接收完畢後什麼時候撤消聯繫,並創建虛鏈接。服務器
主機創建鏈接爲何須要三次握手?爲了防止已是失效鏈接忽然又從新回到了服務端而產生的錯誤。「好比一個客戶端發出一個鏈接請求報文雖然沒有丟失,可是因爲一些緣由在在某個網絡節點中長時間滯留,以致於在斷開鏈接後纔到達服務端。這自己就是一個已經失效的報文。可是服務器誤覺得是客戶端的又一個新的請求。假設沒有三次握手那麼只要服務端發出確認連接就創建了。因爲客戶端也沒有給服務端發請求,所以也不回覆服務端的確認。可是服務端確認爲新的鏈接開始了,等待客戶端發數據。這樣就容易形成服務端的資源的浪費。採用三次握手能夠防止這種狀況發生。網絡
三次握手
由於要保證信道的可靠,就須要雙方溝通而且達成一致。而要解決這個文件3次是最小值。因此三次握手並非真對TCP來講的,而是爲了保證信道的可靠。
我的理解:三次握手並不許確,準確的說是雙方各一次握手,各確認一次。中間第二次是握手與確認合併在一塊兒tcp
爲何揮手比握手多一次
由於tcp鏈接是全雙工的,所以每一個方向都必須單獨的斷開鏈接客戶端申請斷開鏈接,只是再也不發送數據,還能接收數據。須要等待服務端將數據發送完畢後,等待服務端申請斷開鏈接。blog