torrent种子搜索引擎 torrent种子怎么打开( 二 )


【torrent种子搜索引擎 torrent种子怎么打开】本文所说的 P2P 是一种架构模式,就和我们之前说过的 C/S(客户端/服务端)架构类似 。
在 P2P 模式中,服务和资源分布化,资源不集中存储在某些设备上,而是分散存储在运行 P2P 程序的设备上,每一个对等方都可以为其他对等方提供服务 。
还是拿抄作业这个例子来说,学霸的第二个方案就是一个很典型的 P2P 模式 。他将自己的作业分成填空、选择、单选、多选等部分,然后分别送给 6 个人,这样当每个人都有自己的一部分副本后,就可以不用再找学霸本人要作业了,直接找其他拥有和自己副本不同的人索取然后互换资源即可 。
在互联网,P2P 模式也有一个非常重要的,乃至影响了所有 LSP 的应用,即 BitTorrent,也就是本文开篇所说的种子 。
BitTorrent 协议 维基百科对 BitTorrent 的解释是:

BitTorrent 协议(简称 BT,俗称比特洪流、BT 下载)是用在对等网络中文件分享的网络协议程序 。和点对点(point-to-point)的协议程序不同,它是用户群对用户群(peer-to-peer) 。
BitTorrent 协议是架构于 TCP/IP 协议之上的一个 P2P文件传输通信协议,处于 TCP/IP 结构的应用层 。
简而言之就是 BitTorrent 是一个用来传输文件的协议,和第二个抄作业案例的特性类似,该协议的特点是,用户越多,即下载同一文件的人越多,下载该文件的速度越快 。且下载后,继续维持上传的状态,就可以“分享”,成为其用户端节点下载的种子文件(.torrent),同时上传及下载 。
在大多数人感觉中 BitTorrent 与 P2P 成了对等的一组概念,而它也的确将 P2P 技术发展到了近乎完美的地步 。
原理 介绍完 BitTorrent 协议后,我们来说说他的原理吧 。
其实和学霸将作业分成选择题、填空题等给其他人抄的道理一样,BitTorrent 协议也是将需要下载的文件虚拟分成大小相等的块,这些块的大小被要求成 2k 的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和 Hash 验证码写入 .torrent 文件(即种子文件,也简称为“种子”)中,作为被下载文件的“索引” 。下载者要下载文件内容,需要先得到相应的 .torrent 文件,然后使用 BT 客户端软件进行下载 。
而.torrent 文件其本质就是一张信息清单,存储了一些信息,如下图所示,其中就包括了文件大小、哈希值、tracker 地址等信息 。
下载时,BT 客户端首先解析 .torrent 文件得到 Tracker 地址,然后连接 Tracker 服务器 。Tracker 服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的 IP 。或者,BT 客户端也可解析 .torrent 文件得到 nodes 路由表,然后连接路由表中的有效节点,由网络节点提供下载者其他下载者的 IP 。

推荐阅读