如何提高冷门资源下载速度?

小笨 实用文章 技术分享评论11,466 views3阅读模式

前言

传统下载我们使用IDM,而BT,磁力链还是首选迅雷。为了提高下载速度,我们先要弄清楚下载原理,然后才有针对性进行解决。BitTorrent协议(简称BT,BT下载)是用在对等网络中文件分享的网络协议程序,区别于点对点(point-to-point),它是用户群对用户群(peer-to-peer),而且用户越多,下载同一文件的人越多,下载该档案的速度越快。而且下载后,继续维持上传的状态,就可以“分享”。

下面这个网站使用Javascript编写了一个BT工作原理演示动画程序:

网站:http://mg8.org/processing/bt.html

按热键S来加入一个下载完了的结点,热键P加入一下空结点,热键R删除一个结点。每个圆代表一个结点,其会通过其它结点下载需要的文件段。结点中间的那个Bar有点类似于eDonkey中的下载进度条。至于为什么要用像彩虹一样的颜色,主要是为了让你看到不同的段是从不同的结点下载的。

 

如何提高冷门资源下载速度?

下面是被玩坏的:

如何提高冷门资源下载速度?

 

BT

普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输通信协议,处于TCP/IP结构的应用层。BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。

种子文件本质上是文本文件,包含Tracker信息文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的Bencode规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入种子文件中;所以,种子文件就是被下载文件的“索引”。

下载者要下载文件内容,需要先得到相应的种子文件,然后使用BT客户端软件进行下载。下载时,BT客户端首先解析种子文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据种子文件,两者分别告知对方自己已经有的块,然后交换对方所没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。

 

如何提高冷门资源下载速度?

下载者每得到一个块,需要算出下载块的Hash验证码与种子文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

如何提高冷门资源下载速度?

一般的HTTP/FTP下载,发布文件仅在某个或某几个服务器,下载的人太多,服务器的带宽很易不胜负荷,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,下载速度就越快。同时,拥有完整文件的用户也会越来越多,使文件的“寿命”不断延长。

 

DHT

讲磁力链接之前,我们先看一下DHT网络技术。DHT全称分布式哈希表。在不需服务器的情况下,每个客户端负责一个小范围路由,并存储小部分数据,从而实现DHT网络的寻址和存储。使用支持该技术的BT下载软件,用户无需连上Tracker即可下载,因为软件会在DHT网络中寻找下载同一文件的其他用户并与之通讯,开始下载任务。这种技术减轻了Tracker负担(甚至不需要),用户之间可以更快速创建通讯(特别是与Tracker连接不上时)。

 

磁力链

至于磁力链接,它是通过不同文件内容的Hash结果生成一个纯文本的数字指纹,用来识别文件。从2009年开始,很多BT服务器被关,不仅很多种子文件无法找到,Tracker服务器也断开解析工作,使得BT下载成为很大难题,而磁力链接很好地解决了这个问题,它利用BT种子中记录的数字指纹通过DHT网络进行搜索,获取下载者列表,与其他下载者通讯。

 

优化操作

提高BT下载速度的方式有很多,例如增加操作系统和BT客户端软件的并发网络连接数量等等。但是,在BT源(BT种子和BT当前下载者)有限的情况下,再怎么提高“并发网络连接数量”也于事无补的。如果能够有效地提高BT源的数量,则可以使得BT下载更高速、更可靠地完成。

两个BT用户之间建立初始连接时是靠“tracker服务器”上面的“tracker URL”进行的。“tracker服务器”决定了BT下载者能够和哪些别的BT源建立联系、并从这些BT源进行下载。一般来讲,一个BT种子文件往往只和某一个BT网站的“tracker服务器”关联起来,也就是说,该BT种子文件内置只有一个“tracker URL”。但事实上,同一个BT种子文件可能在多个网站被重复发布了,区别仅仅在于其内置的“tracker URL”不同。

 

添加tracker服务器

因此,当我们下载(大的)BT文件的时候,如果在其BT种子文件中多加几条“tracker URL”,则极可能可以增加BT源数量、提高下载速度(毕竟有很多好事者喜欢转载种子),我以我在使用的迅雷极速版下载某红字文件为例加以说明,其他bt下载软件通用。

使用tracker提高下载速度方法(特别是冷门资源):

1.首先你需要可用的tracker服务器,这里我提供两个每日更新的tracker列表,复制里面最新可用的tracker。

tracker:https://github.com/ngosang/trackerslist

2.浏览器打开一个torrent种子,或手动开启一个torrent种子,不要急这按手动下载,点开属性设置。

如何提高冷门资源下载速度?

3.然后开始下载

如何提高冷门资源下载速度?

 

weinxin
小笨
  • 本文由 发表于 2017年9月26日 15:29:13
  • 转载请务必保留本文链接:https://zhouxiaoben.info/post-1300.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定