TCP 三次握手和四次揮手中的ACK 為什么總是SYN + 1 或者 FIN +1 而不是+ 其他數值?


TCP 三次握手的時候

1、客戶端 向服務端發起連接請求,這個時候客戶端將發送一個SYN分節(假設其值為J),它告訴服務端我發送數據的初始序列號將是J。

2、服務端收到這個請求后,必須確認(ACK) 客戶的SYN(J+1),同時自己也得發送一個SYN(假設其值為K) 分節,它也是告訴對端我發送數據的初始序列號將是K。

3、客戶端收到服務端的確認(ACK=J+1),這個時候客戶端還必須向服務端做一個確認SYN(K+1)。

這樣三次握手結束,完全連接。

這里面所有的ACK 都是收到的一個SYN 值 + 1,這個+1 是因為SYN 占據一個字節的序列號空間,所以每一個SYN 的ACK 中的確認號都是該SYN的初始序列號+1.

同樣的,每一個FIN 的ACK 中的確認號也為該 FIN 的序列號 +1

 


免責聲明!

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



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