TCP為什么是三次握手,不是兩次握手?


自己開發了一個股票智能分析軟件,功能很強大,需要的點擊下面的鏈接獲取:

https://www.cnblogs.com/bclshuai/p/11380657.html

1.三次握手的作用有兩個

(1)讓Client和Server雙方都知道雙方可以發送和接收到對方的消息;

(2)避免網絡堵塞時,Client以為沒有連接上,發送多次請求,而Server會為前面多次無效請求創建連接,造成資源浪費;

2.具體說明

2.1 三次握手確認雙方都能接收和發送消息

(1)第一次握手,Client發送給Server:你好,能聽到我的聲音嗎?;    》server如果收到,Server知道了能接收到client發送的消息

(2)第二次握手,Server發送給Client :你好,我能聽到你的聲音(確認ACK),你能聽到我的聲音嗎?     》Client如果能收到,說明Client知道Server能發送和接收消息;現在還有一點沒有確認就是Server不知道Client能否接收Server發送消息?Client的可能電話設置靜音了,聽不到Server的聲音。這樣溝通就無效了。所以需要第三次握手。

(3)第三次握手,Client發送給Server:我能聽到你的聲音,我告訴你一個重大的密碼……     》Server收到,Server知道client具體接收能力;

 

2.2避免Server 為無效的連接創建資源

Client發送給Server請求連接,如果因為網絡堵塞,這個請求阻塞在傳輸過程中,Client以為沒有發過去,又發了一個請求。第一個請求又發送到了服務器,Server又會創建兩個連接,第一個連接是無效的,客戶端不會通過這個連接去發送消息,這樣就造成了服務器資源的浪費。所以需要三次握手,確定連接是否是有效連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM