TCP在開始傳輸資料前,客戶端和服務器需要隨機生成自己的初始序列號(initial sequence number-ISN),然后通過三次握手進行交換確認,
問題:為什么ISN是隨機的?
考慮場景,B是服務器,A是一個合法的客戶端,C假冒A(比如模擬IP等)和B進行通信,
由于ISN是隨機的,最終C無法傳遞資料到B,

C假冒A,B接受后把ACK會直接發給A
由于A沒有發送過seq=ISN _C的請求,當A收到ISN_C的ack后直接發送reset 給B,最終關閉了鏈接,
加入初始序列號不是隨機的,而是可以推測的,那么C就可以拿到ISN_B,然后模擬一個ACK過去,B最侄訓建立鏈接,
C開始傳遞資料,這就會產生非常嚴重的安全問題,所以ISN隨機是必須的,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/1032.html
標籤:架構設計
下一篇:七夕也要學起來,哈希哈希哈希!
