《LINUX教程:解讀TCP三次握手》要點:
本文介紹了LINUX教程:解讀TCP三次握手,希望對您有用。如果有疑問,可以聯系我們。
三次握手所謂的“三次握手”即對每次發送的數據量是怎樣跟蹤進行協商使的發送和接收同步,根據所接收到的數據量而確定的數據確認數及數據發送、接收完畢后何時取消聯系,并建立虛連接.
主機建立連接為什么需要三次握手?為了防止已經是失效連接突然又重新回到了服務端而產生的錯誤.“比如一個客戶端發出一個連接哀求報文雖然沒有丟失,但是由于一些原因在在某個網絡節點中長時間滯留,以至于在斷開連接后才到達服務端.這本身就是一個已經失效的報文.但是服務器誤以為是客戶端的又一個新的哀求.假設沒有三次握手那么只要服務端發出確認鏈接就建立了.由于客戶端也沒有給服務端發哀求,因此也不回復服務端的確認.但是服務端確認為新的連接開始了,等待客戶端發數據.這樣就容易造成服務端的資源的浪費.采用三次握手可以防止這種情況發生.
三次握手
因為要保證信道的可靠,就需要雙方溝通并且達成一致.而要辦理這個文件3次是最小值.所以三次握手并不是真對TCP來說的,而是為了保證信道的可靠.
個人理解:三次握手并不準確,準確的說是雙方各一次握手,各確認一次.中間第二次是握手與確認合并在一起
為什么揮手比握手多一次
因為tcp連接是全雙工的,因此每個方向都必需單獨的斷開連接客戶端申請斷開連接,只是不再發送數據,還能接收數據.需要等待服務端將數據發送完畢后,等待服務端申請斷開連接.
本文永遠更新鏈接地址:
學習更多LINUX教程,請查看站內專欄,如果有LINUX疑問,可以加QQ交流《LINUX教程:解讀TCP三次握手》。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7019.html