在连接保持建立的情况下,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