在連接保持建立的情況下,TCP如何知道哪個文件是大文件(通過tcp分段)的最後一個數據包。 (如ftp或在yahoo messenger上發送mp3)tcp:在末尾重組數據
我的意思是如何知道哪個數據包載有one.mp3的數據,哪個數據包載有另一個.mp3的數據?
有人嗎?
謝謝
在連接保持建立的情況下,TCP如何知道哪個文件是大文件(通過tcp分段)的最後一個數據包。 (如ftp或在yahoo messenger上發送mp3)tcp:在末尾重組數據
我的意思是如何知道哪個數據包載有one.mp3的數據,哪個數據包載有另一個.mp3的數據?
有人嗎?
謝謝
有至少2種可能的方法。
所以接收機:
TCP是一種流協議,碎片對TCP應用程序應該是透明的。它對數據流進行操作,從不使用數據包。使用序列號將流組裝成其預定順序。應用程序發送的字節序列封裝在tcp段中。在數據傳送到應用程序之前,數據流在接收端重新創建。
IP協議可以做分段。
每個TCP段都轉到IP層,並可能在那裏被分段。通過收集所有數據包來重新組裝段,並使用頭中的偏移量字段將其放在正確的位置。
隨機評論:['SCTP'](http://en.wikipedia.org/wiki/SCTP)通過設計解決了這個問題,可惜它沒有被用到更多... – Irfy 2012-03-25 10:59:43