Torrent是属于BitTorrent协议的种子文件(Torrent file)可以保存一组文件的元数据。这种格式的文件被BitTorrent协议所定义。扩展名一般为“.torrent”。
BitTorrent 协议的种子文件(英语:Torrent file)可以保存一组文件的元数据。这种格式的文件被 BitTorrent 协议所定义。扩展名一般为“.torrent”。
.torrent 种子文件本质上是文本文件,包含 Tracker 信息和文件信息两部分。Tracker 信息主要是 BT 下载中需要用到的 Tracker 服务器的地址和针对 Tracker 服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据 BitTorrent 协议内的 Bencode 规则进行编码。
它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为 2k 的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和 Hash 验证码写入种子文件中;所以,种子文件就是被下载文件的“索引”。
作用
根据 BitTorrent 协议,文件发布者会根据要发布的文件生成提供一个种子文件。下载者要下载文件内容,需要先得到相应的种子文件,然后使用 BT 客户端软件进行下载。
下载时,BT 客户端首先解析种子文件得到 Tracker 地址,然后连接 Tracker 服务器。
下载者每得到一个块,需要算出下载块的 Hash 验证码与种子文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。
为了解决某些用户“下完就跑”的现象,在非官方 BitTorrent 协议中还存在一种超级种子的算法。