什么是 BitTorrent?

2025年3月17日 | 阅读 8 分钟

BitTorrent 是一个用于点对点文件共享 (P2P) 的通信协议,它使用户能够以去中心化的方式通过 Internet 分发数据和电子文件。

BitTorrent 是传输大型文件(例如包含电视节目和视频剪辑的数字视频文件或包含歌曲的数字音频文件)最常用的协议之一。

  • 截至 2013 年,BitTorrent 随时有 1500 万至 2700 万并发用户。
  • 截至 2012 年 1 月,BitTorrent 有 1.5 亿活跃用户。基于这个数字,每月用户总数估计可能超过四分之一十亿(约 2.5 亿)。
  • 2017 年 5 月 15 日,BitTorrent 发布了协议规范的更新,名为 BitTorrent v2。BitTorrent 于 2020 年 9 月 6 日更新以支持新版本。

BitTorrent 协议可用于减少分发大型文件的服务器和网络影响。BitTorrent 协议不直接从单个源服务器下载文件,而是允许用户加入一个“种子群”主机,同时相互上传或下载。

What is BitTorrent

几个基本计算机可以取代大型服务器,同时使用 BitTorrent 协议有效地将文件分发给许多接收者。此外,这种较低的带宽有助于防止特定区域互联网流量的大幅飙升,从而为所有用户保持更高的互联网速度,无论他们是否使用 BitTorrent 协议。

BitTorrent 客户端的第一个版本没有搜索引擎也没有 Peer Exchange,因此想要上传文件的用户必须创建一个小的种子描述符文件,然后将其上传到种子索引站点。第一个上传者充当种子,下载者最初将连接为对等节点。那些想要下载文件的人将下载种子文件,他们的客户端将使用该文件连接到一个跟踪器,该跟踪器拥有种子群中其他种子和对等节点的 IP 地址列表。一旦对等节点下载了整个文件,它就可以充当种子。

BitTorrent 的组件

BitTorrent 通过将文件分割成小块并将其分配给对等节点来分发文件。BitTorrent 通常包含以下组件

What is BitTorrent

1. 跟踪器

BitTorrent 跟踪器是服务器软件,它协调用户之间文件的传输。跟踪器不包含文件的副本,而是帮助对等节点相互发现。

跟踪器和客户端使用 HTTP 之上的简单协议交换信息。客户端告知跟踪器他们想要下载的文件、他们的 IP 和端口,跟踪器会响应一个下载相同文件的对等节点列表及其联系信息。这个共享相同种子的对等节点列表代表一个种子群。跟踪器对于对等节点查找彼此和传输数据是必需的。由于这个中心实体的存在,BitTorrent 协议被认为是混合 P2P 实现。

2. 元信息文件

元信息文件也称为种子文件,扩展名为 .torrent。该文件主要包含关于跟踪器 URL、文件名以及用于验证下载的文件块的文件的块的哈希值的编码信息。

这些种子文件通常使用客户端软件创建。要创建此种子文件,需要一个跟踪器列表和原始文件。创建文件后,可以通过常规电子邮件、文件共享网站等进行共享。

因此,要分发新版本的 Linux,开发人员将输入跟踪器 URL 和他们创建的新 Linux iSO 映像到 BitTorrent 客户端,然后获得一个 .torrent 文件。该文件通常在其网站上共享。

3. 种子

原始下载者是拥有完整文件的对等节点,也称为种子。种子必须继续上传文件,直到将完整副本分发给下载者。只要对等节点之间整体上存在完整副本,下载就会继续进行。

提供 Linux iSO 映像的开发人员,他们拥有完整的文件,将被称为种子。

4. 盗版者

没有文件完整副本的对等节点称为盗版者。盗版者将从跟踪器获取对等节点列表,跟踪器拥有盗版者所需的块。然后,盗版者从其中一个对等节点下载所需的块。

盗版者也可以在下载完整个文件之前分发它已完成下载的块。一旦盗版者拥有所有块,它就被称为种子。当盗版者接收到块时,它会根据元信息文件中存在的哈希值进行验证。

通过 BitTorrent 下载文件的任何用户都将被称为盗版者。一旦他们拥有完整的文件,他们就可以被称为种子。

BitTorrent 使用块选择算法来决定下载哪个块以实现最大的块复制。

BitTorrent 的工作原理

种子文件不依赖于集中式服务器来存储文件。相反,来自单个大文件的数据片段保存在网络(种子群)中的参与计算机(对等节点)上,以促进文件共享过程。

像 BitTorrent 这样的 P2P 通信协议会将文件分解成小块。然后,它们通过种子客户端(一个读取 .torrent 文件中的所有信息并将用户连接起来进行数据交换的独立程序)从种子传输到盗版者

What is BitTorrent

任何想要文件的人都会使用一个名为BitTorrent 客户端的程序向种子请求。该客户端会收到一个块,并在一段时间内通过 P2P 通信从其他人的计算机获取所有剩余的块。在任何给定时刻,每台计算机都从某些对等节点下载文件的某些部分,并向其他对等节点上传文件的其他部分。所有在此期间以这种方式合作的计算机都称为种子群。文件越受欢迎,种子群中的计算机就越多,整个过程就越快。

如下面所述的检查和平衡系统被应用,以使种子过程做到一丝不苟

  • 种子文件(.torrent)包含有关哪些计算机参与文件共享过程的信息。它还可能提供有关用户正在下载的文件和文件夹的一些详细信息。
  • 种子客户端连接到一个跟踪器,该跟踪器保存了种子群中设备的 IP 地址。跟踪器将 IP 地址转发给所有种子客户端,以确保所有对等节点都已连接。
  • 种子客户端开始下载。一旦收到足够的数据块,它也会开始上传文件以造福其他用户。

BitTorrent 的用途

虽然种子网站已成为数字盗版者和侵权者的聚集地,但它们可能很有用

  • 用于同步大型文件块和共享您拥有版权的媒体。
  • FacebookTwitter这样的社交媒体巨头使用类似的协议将大文件上传到他们的服务器以节省带宽。
  • 种子客户端也可以集成到游戏中以部署软件更新,例如在 Starcraft 的案例中。
  • 一些政府机构也使用种子向公众分享大型图像和文档,否则这些图像和文档可能会给他们的服务器带来压力。

什么是 Torrent Tracker?

Torrent Tracker 是一个服务器,它通过监控哪些对等节点拥有特定文件来帮助用户更快地与其他对等节点通信。它就像 Tinder 和其他约会应用程序一样,根据用户输入的偏好来匹配用户。所以当两个人决定见面或通过其他平台交流时,他们就可以做到,而无需 Tinder。

同样,当一个种子用户请求特定文件时,种子跟踪器会将他或她连接到合适的对等节点。一旦 P2P 下载开始,对跟踪器的连接就不再必要。

如何使用 Torrents

您可以通过以下简单步骤使用 Torrent,例如

步骤 1:选择并下载 Torrent 客户端

在开始共享或下载文件之前,您需要选择并安装一个种子客户端。仔细选择,因为有些客户端会附带广告软件,这可能会导致您的计算机或设备出现问题。

最好直接从客户端网站下载,这样可以避免从第三方网站下载恶意软件。虽然有免费下载的客户端,但如果您想要安全功能,最好选择付费客户端。

步骤 2:安装 Tracker 站点

安装完种子客户端后,您还需要下载一个包含种子文件列表的跟踪器站点。但是,它们只是种子文件的存储库,并不在其服务器上托管内容。

有两种类型的跟踪器站点。一种是公共跟踪器站点,所有用户都可以访问。另一种是私人跟踪器站点,其中包含托管独特文件细分市场的专用种子网站。私有跟踪器站点的注册通常是独占的,并且仅限邀请。它还要求用户在每次下载后进行种子上传。

步骤 3:搜索要下载的内容

接下来,您可以搜索要下载的内容。搜索结果通常会返回多个文件。选择拥有许多种子的文件,这样您的下载速度会更快。下载前,请检查您是否可以运行该文件。

步骤 4:下载内容

一旦您知道文件是否与您安装的程序兼容,您就可以下载内容。您也可以下载多个文件。

BitTorrent 的优点

BitTorrent 具有以下优点

  • 分发大型文件,如 Linux iSO 映像。
  • 分发软件补丁和更新。
  • 就像 Blizzard Entertainment Inc 所做的那样,分发《魔兽世界》的更新。
  • 分发在相对较短时间内具有高流量的流行文件。
  • 与传统的服务器或客户端下载不同,高流量通过 BitTorrent 实现更高效的文件共享。

BitTorrent 的缺点

BitTorrent 具有以下缺点,并且还存在一些安全问题,例如

  • 盗版或非法内容的简便分发方法。
  • 一旦种子分发,就无法修改或更新文件到较新版本。
  • 所有对等节点的 IP 以及他们正在下载的文件信息在跟踪器上是公开可用的。
  • 跟踪器是一个关键组件,如果它发生故障,可能会中断它所跟踪的所有文件的分发。

什么是 BitTorrent v2?

BitTorrent v2 旨在与 BitTorrent 协议的先前版本无缝协作。更新的主要原因是旧的加密哈希函数 SHA-1 已不再被开发者认为是安全的,免受恶意攻击,因此 v2 使用 SHA-256。

为确保向后兼容,v2 .torrent 文件格式支持混合模式,其中种子通过新方法和旧方法进行哈希处理,目的是与 v1 和 v2 种子群中的对等节点共享文件。

规范的另一项更新是添加了一个哈希树,以加快从添加种子到下载文件的时间,并允许更细粒度地检查文件损坏。此外,每个文件现在都单独哈希,使得种子群中的文件可以被复制,即使多个种子包含重复文件。然而,种子只从其中一些种子上传播文件,其他种子的下载者仍然可以下载文件。v2 的磁力链接也支持混合模式,以确保对传统客户端的支持。


下一个主题什么是 DVT