torrent 文件包含数据包的哈希数的集合



我知道种子文件包含有关跟踪器和该种子的哈希码的数据

但我的问题是:

这些洪流文件还包含有关该洪流的所有数据包的哈希号?(这些种子文件有每个数据包的哈希数字集合?

以及这些信息在洪流文件中是如何构建的?

.torrent文件

是经过编码的,这是BEP3中描述的简单编码。

下面是一个简化的种子示例:

{
'announce': 'http://bt1.archive.org:6969/announce',
'created by': 'ia_make_torrent',
'creation date': 1373568576,
'info': {
  'files': [
    { 'length': 12355245, 'path': [ 'Commodore_Amiga_TOSEC_2012_04_10.txt' ], },
    { 'length': 33979699024, 'path': [ 'Commodore_Amiga_TOSEC_2012_04_10.zip' ], },
    { 'length': 2821, 'path': [ 'Commodore_Amiga_TOSEC_2012_04_10_meta.xml' ], },
    { 'length': 378737, 'path': [ 'amiga_1000_by_macpengin.jpg' ], },
    { 'length': 4877, 'path': [ 'amiga_1000_by_macpengin_thumb.jpg' ], },
    ],
  'name': 'Commodore_Amiga_TOSEC_2012_04_10',
  'piece length': 4194304,
  'pieces': '9834f2b6e0b8d9071f2d2db...776f9c910b6622f234872e8'
  },
'locale': 'en',
'title': 'Commodore_Amiga_TOSEC_2012_04_10',
}

件字段缩短了。它包含片段的所有 sha-1 哈希,串联(它是二进制形式,但为了便于打印而在此处表示)。一块不是直接的数据包。

通常,数据包是指 IP 数据包(大约 1400 字节)。在IP之上,你有TCP或uTP作为传输协议。最重要的是,您拥有BitTorrent协议,该协议仅交换块(有时称为块)。一个块是 16 kiB。一块通常是 16 的偶数倍,更可能是 2 的偶数幂。因此,您首先下载一些块,将它们连接起来形成一个块,然后验证该块的 SHA-1 哈希。

最新更新