【发布时间】:2009-05-28 06:50:37
【问题描述】:
BitTorrent 协议是否可以指定首先需要文件的前 3% 或前 5%?如果没有,添加这样的支持会是对协议的改进吗?
更新:所以我想,如果它是协议的一部分,为什么那里的许多客户端不使用它? 10分钟后,10%的文件就完成了,但通常你连1%的内容都不能预览……(靠运气)
【问题讨论】:
标签: network-programming protocols bittorrent
BitTorrent 协议是否可以指定首先需要文件的前 3% 或前 5%?如果没有,添加这样的支持会是对协议的改进吗?
更新:所以我想,如果它是协议的一部分,为什么那里的许多客户端不使用它? 10分钟后,10%的文件就完成了,但通常你连1%的内容都不能预览……(靠运气)
【问题讨论】:
标签: network-programming protocols bittorrent
Azureus 可以选择首先获取文件的第一个和最后一个块。但这并不是 100% 可靠的,因为您无法控制首先要从哪个对等方开始发送数据。
protocol spec 请参见此处,具体如下:
请求:
请求消息是固定长度的,用于请求一个块。有效载荷包含以下信息:
所以是的,你可以要求一个特定的块(甚至它的一部分)。这应该可以准确地请求文件的前 3% 或 5%,而与块大小无关。
【讨论】:
Bittorrent 协议是围绕稀缺性设计的:首先分配最稀有的块,以减少不再拥有所有块的可能性。因为那样会导致无法获取整个文件。
【讨论】:
BitTorrent 作为协议的目的不是用于流媒体,其目的是尽最大努力使所有感兴趣的数据始终可靠地可用。将其用于流媒体目的实际上对 BitTorrent 的目标适得其反。
如果您不明白为什么会出现这种情况,我建议您在继续之前先联系Computer Networks by Tanenbaum。
【讨论】:
是的,这由 torrent 协议支持,例如 ktorrent 使用它为不同文件类型(例如 mp3、avi 甚至 pdf)提供预览块。
【讨论】:
10分钟后,10%的文件就完成了,但通常你甚至不能预览1%的内容……(靠运气)
这是因为客户端没有按顺序下载文件(所以当你有很多对等点时传输效率更高,每个点都有不同的文件部分)
【讨论】: