torrent 文件

  • BT
  • 种子市场

  • torrent 文件(种子文件)是被下载文件的“索引”。本质上是文本文件,主要包含 Tracker 信息和文件信息

    • Tracker 信息:BT 下载中需要用到的 Tracker 服务器的地址和针对 Tracker 服务器的设置
    • 文件信息:根据对目标文件的计算生成,计算结果根据 BitTorrent 协议内的 B 编码规则进行编码
  • 原理:把提供下载的文件虚拟分成大小相等的块,块大小必须为 2k 的整数次方,并把每个块的索引信息和 Hash 验证码写入 .torrent 文件

    • 虚拟分块是不在硬盘上产生各个块文件
  • torrent 文件包含的信息

    • 资源的名称
    • 如果资源是以目录形式,还有目录树中每个文件的路径信息和文件名
    • 如果是单个文件呢,包含文件的大小信息;如果是目录形式,目录树中每个文件大小
    • 对资源实际文件按照固定大小进行分块后每块进行 SHA1 hash 运算得到的若干特征值的集合
    • torrent 文件的创建时间、制作者填写的注释、以及制作者的信息等
    • 至少一个 announce 地址,对应 Internet 上部署的一个 Tracker 服务器

BT

  • BT(BitTorrent,比特流),一种 P2P 传输协议。
    • 克服了传统下载方式的局限性,下载的人越多,文件下载速度越快
    • 传统下载方式:一般是文件由服务器传送到客户端,例如 FTP,HTPP,PUB等。服务器的带宽一定,所以下载人越多速度越慢
    • 普通的 HTPP/FTP 下载使用 TCp/IP 协议,BitTorrent 协议是在 TCP/IP 协议之上的一个 P2P 文件传输协议,处于 TCP/IP 结构的应用层
    • 根据 BitTorrent 协议,文件发布者发布的文件生成提供一个 .torrent 文件,即种子文件,简称为“种子”

BT 下载

  • 下载者要下载文件内容,需要先得到相应的 .torrent 文件,然后使用 BT 客户端下载
  • BT 客户端先解析文件得到 Tracker 地址,连接 Tracker 服务器
  • Tracker 服务器回应下载者的请求,提供下载者和其他下载者(包括发布者)的 IP
  • 下载者连接其他下载者,根据 .torrent 文件,下载者分别告知对方自己已有的块,然后交换对方没有的数据
    • 不需要服务器参与,分散了单个线路的数据流量,减轻了服务器负担
    • 下载者每得到一个块,需计算出下载块的 Hash 验证码与 .torrent 文件对比,一样说明块正确,否则需要重新下载
    • 此规定解决下载内容准确性的问题

种子市场

用户在种子市场共享种子文件;用户可以共享任务列表,也可以浏览下载其他人共享的任务

相关