基於UDP協議模擬的一個TCP協議傳輸系統


TCP協議以可靠性出名,這其中包括三次握手建立連接,流控制和擁塞控制等技術。詳細介紹如下:

1. TCP協議將需要發送的數據分割成數據塊。數據塊大小是通過MSS(maximum segment size)來控制的,這種機制是一種協商機制,MSS規定了傳往接收方的最大數據塊的大小。MSS通過SYN報文協商的,若接收方不接受來自另一方的MSS值,則MSS就定為一個固定值。MSS值越大,網絡的利用率越高。
2. 重傳。設置定時器,等待確認包。
3. 對首部和數據進行校驗。
4. TCP對收到的數據進行排序,然后交給應用層。
5. TCP的接收端丟棄重復的數據。
6. 流量控制。(通過每一端聲明的窗口大小來提供的)
發現了一個寫的很好的TCP協議詳解,鏈接如下:

我寫的這個系統基於UDP協議模擬了一個TCP協議,所實現的功能如下:

1.三次握手

2.一個計時器,用來判斷傳輸超時行為

3.快速重傳

4.能處理不同的MSS(maximum segment size)

5.沒有被接收方確認收到的包會被存在發送方,最大可以存MWS個(Maximum Window size)

6.能處理包丟失的情況

7.接收方一旦收到包,立刻發送確認信息給發送方

8.接收方的超時時間是固定的

9.接收方和發送方用log記錄發生的一切

詳情及代碼請看https://github.com/tian-jiang/TCP-Simulating

可以幫助很好的理解三次握手,快速重傳,接收方緩存,發送方緩存,滑動窗口移動的規則,MSS等TCP協議中的重要概念。


免責聲明!

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



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