在具體的實現中 TCP 是如何處理失序的數據包?
看書去吧,別偷懶了,這種花點時間看看書查查資料就能獲取的知識,何必來知乎上浪費時間呢?又不是啥你畫了時間但是解決不了的東西。
每幀都有序號的
推薦一下我的野雞校課程:
COMP/ELEC 429 Syllabus
這本書:
Computer Networks: A Systems Approach, Fourth Edition (The Morgan Kaufmann Series in Networking)
以及UofW的網路課程(一個系列,我就給你一個鏈接自己順著看)
https://www.youtube.com/watch?v=nLrBisNqEwQ
這些都搞完了網路基礎就差不多了
然後自己寫一個File Transfer的實現
給你個cmu的鏈接,美校基本網路課項目都差不多
http://www.cs.cmu.edu/~srini/15-441/F07/project3/project3.pdf
我當時寫的是在非常不可靠的網路環境下(duplicate,distorted,missing packs)進行reliable file transfer
並沒有寫到完美,還是會有一些奇怪的bug,還是挺難的,但是學到了很多。
------------------分割線----------------------
好了,如果你問tcp是如何處理失序的數據包,你只用搜tcp congestion,sliding window就行了
數據流中的每個frame都有具體的編號 以及後續是否有下一個包
題主是計算機專業的學生嗎?這是計算機網路最基本的一部分內容,印象中隨便哪本書都有明確說明
去看RFC
推薦閱讀:
※為什麼使用tcpdump觀察三次握手的過程,最後一次握手後,ack變為1而不是y+1?
※花生殼DDNS是什麼?
※表示層( presentation layer)和會話層(session layer)為什麼會被棄用?
※為何IP地址不設計得更長,讓用戶都使用公網IP,去掉路由器交換機,讓電腦的互連就像打電話一樣方便呢?
※大多tcp應用採用長度+數據的格式傳輸數據,如何防止惡意虛報長度?