三次握手的流程和基礎我都知道,各位不用跟我講解基礎概念問題在于為什么不能進行二次握手的問題1.從客戶端傳送到服務器的信息在網絡中延遲了很久才傳到,服務器接受到消息后,返回確認信息,但是此時客戶端的連接已近關閉,但服務器還是一直等待,這樣會造成服務器資源的浪費這種能理解2.從客戶端傳送到服務器的信息在網絡中延遲了很久才傳到,服務器接受到消息后,返回確認信息,但是客戶端已經放棄了第一次的連接,發送了第二次連接的請求,當客戶端收到請求后會認為這是第二次請求的確認,從而建立連接。好,問題就在這,在發送連接請求和確認連接請求的時候,我們都會發送序號和確認號,假設第一次客戶端發送請求時的序號為x,那么服務器返回確認信息的包中的確認號就應該是x+1,那客戶端發送的第二次連接請求的序號顯然不會為x,假設為y,那么當客戶端收到服務器返回的確認信息中確認號為x+1,就應該不會建立連接,因為他需要等待是一個確認號為y+1的。那么這第二種問題就不應該存在。本人對tcp的理解只停留在概念上,沒有做過實際上對于tcp的研究,所以可能有某些地方理解上出現了問題,希望大家能指出。我覺得可能的答案:1.客戶端不會對確認號進行確認,但是為什么?2.兩次發送請求的序號相同(應該不可能,隨機生成的)3.這種問題不存在
2 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
1 TCP提供可靠的鏈接,兩次握手,客戶端能夠確認自己發給服務器的數據服務器能收到,自己也能收到服務器的數據,但是服務器并不知道自己發給客戶端的數據客戶端是否能收到,。所以需要三次握手
2、“網絡中延遲了很久才傳到” ,說明的你的網絡太爛,TCP握手失敗。需要改進網絡
- 2 回答
- 0 關注
- 1325 瀏覽
添加回答
舉報
0/150