fbpx
维基百科

种子文件

BitTorrent协议种子文件(英語:Torrent file)是由BitTorrent协议所定义的,用于可以保存一组文件元数据的文件[1]扩展名一般为“.torrent”。

种子文件(Torrent file
扩展名.torrent
互联网媒体类型application/x-bittorrent
标准BEP-0003[1]

结构 编辑

.torrent种子文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的Bencode规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入种子文件中;所以,种子文件就是被下载文件的“索引”。

种子文件包含以下数据:

  • announce - trackerURL
  • info - 该条映射到一个字典,该字典的键将取决于共享的一个或多个文件:
    • name - 建议保存到的文件和目录名称
    • piece length - 每个文件块的字节数。通常为  = 256KiB = 262144B
    • pieces - 每个文件块的SHA-1的整合Hash。因为SHA-1会返回160-bit的Hash,所以pieces将会得到1个160-bit的整数倍的字符串。和一个length(相当于只有一个文件正在共享)或files(相当于当多个文件被共享):
    • length - 文件的大小(以字节为单位)
    • files - 一个字典的列表(每个字典对应一个文件)与以下的键:
      • path - 一个对应子目录名的字符串列表,最后一项是实际的文件名称
      • length - 文件的大小(以字节为单位)

作用 编辑

根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个种子文件。下载者要下载文件内容,需要先得到相应的种子文件,然后使用BT客户端软件进行下载。

下载时,BT客户端首先解析种子文件得到Tracker地址,然后连接Tracker服务器。

下载者每得到一个块,需要算出下载块的Hash验证码与种子文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

为了解决某些用户“下完就跑”的现象,在非官方BitTorrent协议中还存在一种超级种子算法

参考 编辑

外部链接 编辑

    1. ^ 1.0 1.1 . Bittorrent.org. [2009-10-22]. (原始内容存档于2014-02-08). 

    种子文件, bittorrent协议的, 英語, torrent, file, 是由bittorrent协议所定义的, 用于可以保存一组文件元数据的文件, 扩展名一般为, torrent, torrent, file, 扩展名, torrent, 互联网, 媒体类型application, bittorrent标准bep, 0003, 目录, 结构, 作用, 参考, 外部链接结构, 编辑, torrent本质上是文本文件, 包含tracker信息和文件信息两部分, tracker信息主要是bt下载中需要用到的tra. BitTorrent协议的种子文件 英語 Torrent file 是由BitTorrent协议所定义的 用于可以保存一组文件元数据的文件 1 扩展名一般为 torrent 种子文件 Torrent file 扩展名 tt torrent tt 互联网 媒体类型application x bittorrent标准BEP 0003 1 目录 1 结构 2 作用 3 参考 4 外部链接结构 编辑 torrent种子文件本质上是文本文件 包含Tracker信息和文件信息两部分 Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置 文件信息是根据对目标文件的计算生成的 计算结果根据BitTorrent协议内的Bencode规则进行编码 它的主要原理是需要把提供下载的文件虚拟分成大小相等的块 块大小必须为2k的整数次方 由于是虚拟分块 硬盘上并不产生各个块文件 并把每个块的索引信息和Hash验证码写入种子文件中 所以 种子文件就是被下载文件的 索引 种子文件包含以下数据 announce tracker的URL info 该条映射到一个字典 该字典的键将取决于共享的一个或多个文件 name 建议保存到的文件和目录名称 piece length 每个文件块的字节数 通常为2 8 displaystyle 2 8 nbsp 256KiB 262144B pieces 每个文件块的SHA 1的整合Hash 因为SHA 1会返回160 bit的Hash 所以pieces将会得到1个160 bit的整数倍的字符串 和一个length 相当于只有一个文件正在共享 或files 相当于当多个文件被共享 length 文件的大小 以字节为单位 files 一个字典的列表 每个字典对应一个文件 与以下的键 path 一个对应子目录名的字符串列表 最后一项是实际的文件名称 length 文件的大小 以字节为单位 作用 编辑根据BitTorrent协议 文件发布者会根据要发布的文件生成提供一个种子文件 下载者要下载文件内容 需要先得到相应的种子文件 然后使用BT客户端软件进行下载 下载时 BT客户端首先解析种子文件得到Tracker地址 然后连接Tracker服务器 下载者每得到一个块 需要算出下载块的Hash验证码与种子文件中的对比 如果一样则说明块正确 不一样则需要重新下载这个块 这种规定是为了解决下载内容准确性的问题 为了解决某些用户 下完就跑 的现象 在非官方BitTorrent协议中还存在一种超级种子的算法 参考 编辑磁力链接外部链接 编辑Search engine for Torrent files 1 0 1 1 BEP 0003 The BitTorrent Protocol Specification Bittorrent org 2009 10 22 原始内容存档于2014 02 08 取自 https zh wikipedia org w index php title 种子文件 amp oldid 63702210, 维基百科,wiki,书籍,书籍,图书馆,

    文章

    ,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。