【问题标题】:Does BitTorrent support partial transfers?BitTorrent 是否支持部分传输?
【发布时间】:2009-05-28 06:50:37
【问题描述】:

BitTorrent 协议是否可以指定首先需要文件的前 3% 或前 5%?如果没有,添加这样的支持会是对协议的改进吗?

更新:所以我想,如果它是协议的一部分,为什么那里的许多客户端不使用它? 10分钟后,10%的文件就完成了,但通常你连1%的内容都不能预览……(靠运气)

【问题讨论】:

    标签: network-programming protocols bittorrent


    【解决方案1】:

    Azureus 可以选择首先获取文件的第一个和最后一个块。但这并不是 100% 可靠的,因为您无法控制首先要从哪个对等方开始发送数据。

    protocol spec 请参见此处,具体如下:

    请求:

    请求消息是固定长度的,用于请求一个块。有效载荷包含以下信息:

    所以是的,你可以要求一个特定的块(甚至它的一部分)。这应该可以准确地请求文件的前 3% 或 5%,而与块大小无关。

    【讨论】:

    • 所以它实际上是协议的一部分?
    【解决方案2】:

    Bittorrent 协议是围绕稀缺性设计的:首先分配最稀有的块,以减少不再拥有所有块的可能性。因为那样会导致无法获取整个文件。

    【讨论】:

    • 我明白了……如果有数百个播种机怎么办?在那种情况下,稀缺性不是很重要吗?
    • 它是:如果许多对等节点同时退出群(播种者与否)怎么办?通过首先下载最稀有的块,集群中没有所有块的可能性被降低到最小可能的最小值。
    【解决方案3】:

    BitTorrent 作为协议的目的不是用于流媒体,其目的是尽最大努力使所有感兴趣的数据始终可靠地可用。将其用于流媒体目的实际上对 BitTorrent 的目标适得其反。

    如果您不明白为什么会出现这种情况,我建议您在继续之前先联系Computer Networks by Tanenbaum

    【讨论】:

      【解决方案4】:

      是的,这由 torrent 协议支持,例如 ktorrent 使用它为不同文件类型(例如 mp3、avi 甚至 pdf)提供预览块。

      【讨论】:

        【解决方案5】:

        10分钟后,10%的文件就完成了,但通常你甚至不能预览1%的内容……(靠运气)

        这是因为客户端没有按顺序下载文件(所以当你有很多对等点时传输效率更高,每个点都有不同的文件部分)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-11-29
          • 1970-01-01
          • 2015-06-12
          • 2014-02-24
          • 1970-01-01
          • 1970-01-01
          • 2012-09-11
          • 1970-01-01
          相关资源
          最近更新 更多