下载者再连接其他下载者,根据 .torrent 文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据 。此时不需要其他服务器参或者其他网络节点的参与,分散了单个线路上的数据流量,因此减轻了服务器负担 。
下载者每得到一个块,需要算出下载块的 Hash 验证码与 .torrent 文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块 。
因此,下载的人越多,提供的带宽也越多,种子也会越来越多,下载速度就越快 。
如下图所示:
从 BT 客户端角度考虑,下载原理分为以下几步:
1.根据 BitTorrent 协议,文件发布者会根据要发布的文件生成提供一个 .torrent 文件 。客户端可从 Web 服务器上下载种子文件,并从中得到 Tracker 服务器 URL 。2.根据 Tracker URL 与 Tracker 服务器建立连接,并从服务器上得到 Peers 信息 。3.根据 Peers 信息与一个 Peer 建立连接,依据 Peer wire 协议完成握手,并从 Peer 端下载数据文件 。同时监听 Peer 的连接,并给 Peer 上传数据文件 。
Tracker 没了怎么办? 从上面的分析中我们得知,想要利用种子下载资源,第一步就是根据种子里的信息获取到 Tracker 地址,那么这时候问题就来了,如果运营商掐断了你和 Tracker 服务器间的连接了怎么办?
有两种解决方案:
PT 第一种是采用一种不会被运营商掐断的 Tracker 服务器,PT(英语:Private Tracker),即私有种子服务器 。他与 BT 最大的不同点为:可进行私密范围下载 。由于是私有的,所以一般的 PT 网站都是采用的邀请制,由已注册的用户向自己所信任的人发送邀请,以确保用户质量 。例如紫荆站就是南大人专属的网络资源的 PT 站点(需要在连接到校园网的状态下登录) 。
说个题外话,紫荆花的花语是矢志不渝,而这个网站之所以叫紫荆,是因为开发者曾约定和他的女朋友一起在南大种一朵紫荆花,虽然最后因为学校的原因没有种成,但意外诞生了紫荆 PT 来纪念他们的爱情 。就像紫荆的作者说的,紫荆是胡同写给他的领导“紫荆 MM”的一封情书,即“你的心里,刻着我的名字” 。DHT 网络第二种解决方案便是 DHT 网络了,维基百科对他的解释是:
不说了,这就去吃柠檬 。
DHT 全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法 。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个 DHT 网络的寻址和存储 。使用支持该技术的 BT 下载软件,用户无需连上 Tracker 就可以下载,因为软件会在 DHT 网络中寻找下载同一文件的其他用户并与之通讯,开始下载任务 。推荐阅读
- 花种子怎么泡
- 仙人球如何采取种子
- 花生种子有没有种脐
- 碗莲种子泡出芽后怎么办
- 花生播种前种子的几种处理方法
- 苹果种子盆栽种植方法 苹果种子盆栽怎么晒太阳
- 水稻怎么催芽 水稻种子催芽的五种方法
- 甘蔗种植是苗还是种子
- 柚子籽怎么种
- 百日草种子怎么种