标签:style http color ar 使用 sp 文件 数据 div
之前一直对BT下载很的好奇,今天迅雷出现了一些问题,于是上网了解了一下BT下载的原理,果然还是有所收获的。
1.为什么BT下载用户越多下载,速度越快?
答:BT全名为BitTorrent。
在传统下载方式中,通常是把文件由server端传送到client,比如FTP,HTTP,PUB等等。因为是从一台server下载,server所提供的带宽是一定的,因而随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,并且搞不好还会让server陷入瘫痪,所以非常多的server对用户人数和下载速度进行限制。
BT下载原理与传统下载不同,BT用的是一种传销的方式来达到共享的。BT首先在上传端把一个文件分成了若干个部分,甲在server随机下载了第N个部分,乙在server随机下载了第M个部分,这样甲的BT就会依据情况到乙的电脑上去下载乙已经下载好的M部分,乙的BT就会依据情况到甲的电脑上去下载甲已经下载好的N部分,这样不但减轻了server端的负荷,也加快了用户方(甲乙)的下载速度,更降低了地域之间的限制。比方说丙要连到server去下载的话可能才几K,可是要是到甲和乙的电脑上去下载就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。并且,在你下载的同一时候,你也在上传(别人从你的电脑上下载那个文件的某个部分),所以说在享受别人提供的下载的同一时候,你也在贡献。
简单来说,就是我们在下载的同一时候,不仅仅是在从server上下载数据,而是从server和其它全部正在下载的用户机器组成的一个巨大数据集中同一时候下载,这样能够突破server带宽和地域限制等限制。
2.为什么有一些人建议在BT工具中上传限速能够提高下载速度?
答:由1可知,我们在下载的同一时候也在为其它用户贡献数据,于是产生了上传的流量,这样就会占掉我们带宽中的一部分,因此要对其进行限制。可是这样做不好,没有贡献精神啊。
3.为什么有时候下载到达99.9%的时候停了?
答:有些用户下载速度快,非常快就完毕了下载任务,在下载完毕后便关掉下载任务,造成提供给其它用户的数据量较小。为尽量避免这样的行为,在非官方BitTorrent协议中存在超级种子的算法。这样的算法同意文件公布者分几步公布文件,公布者不须要一次提供文件全部内容,而是慢慢开放的下载内容的比例,延长下载时间。此时,速度快的人因为未下载完必须提供给他人数据,速度慢的人有很多其它机会得到数据。由此往往造成用户卡在任务的99%,下载1G的任务要上传3G之多。
简单来说,就是有一个叫做超级种子的算法,让我们的下载任务卡在99.9%,从而继续向其它用户提供数据。实际上在下载到99.9%的时候文件已经下载好了,仅仅是BTclient有益卡住我们的任务而已。或者尝试先暂停再下载,任务就完毕了,推測是超级种子算法被破坏了,我们被当成是一个新的BT下载用户。
4.迅雷离线下载的原理是什么?
答:离线下载,即利用server“替”网友的电脑下载的方式。具快速、不用挂机的长处而颇受欢迎。假设用户要下载一些电影或者游戏资源,往往要长时间挂机,不仅浪费时间并且消耗大量的带宽。 离线下载事实上就是下载工具的server取代用户先行下载,多用于冷门资源。比方,用户的正常下载最大速度能达到200KB/S,可是某个资源是冷门资源,下载速度仅仅能达到10KB/S,用户就得下非常久,假设用户使用离线下载技术,就能够让服务商的server取代用户下载,用户就能够关掉下载工具或者机器,节约时间和电费。等到离线下好了,用户再从下载工具的server上以200KB/S(理论上会员等级越高越快,但最快速度仍然受限制于你的本身宽带)的速度下到自己的电脑上。即使对于热门资源,离线下载也能省却很多挂机等待的时间,最重要的是能够腾出电脑宽带做其它的事情。
操作过程:(1)用户通过client或Web界面提交一个下载请求。 (2)公司server端接受请求,server首先查询用户提交的下载链接是否被下载过;假设没有,开启多线程实施下载(或用迅雷自己特有的P2P方式);假设有,直接把已下载的数据文件(或仅仅是文件的链接)放入用户server端的在线空间。 (3)下载完毕后,用户在线登录到在线空间,取回下载的文件。其间也能够採用迅雷自己的P2P方式,从已下载或正在下载同样文件的用户那里取得数据。 (4)离线下载多针对冷门资源,或资源少的文件。待server端不是替用户下载完毕后,用户还须要利用下载软件从server上下载文件。相比直接下载,添加了下载资源速度,节约了时间。
简单来说,就是假设要下载的资源已经存在于迅雷的server中,那么直接用P2P的方式从迅雷的server中取回。假设下载的资源尚未下载,那么能够将下载任务交由server代为完毕(托付模式啊,哈哈),因为server的带宽性能等远胜于普通用户,所下面载效率更高,最重要的是server是365 * 7 * 24小时在线的,能够用时间堆死它。
5.迅雷快速通道的原理是什么?
答:以下是一些推測。
推測一:server将对用户带宽的限制放宽到一定程度。
推測二,如这位老兄所言:近期下载迅雷时发现速度越来越慢了..曾经下载热门资源.速度起码800K/S..高峰时甚至能够稳上1.3M/S。而如今下载的速度从来就没有高过500K/S.特别是用了迅雷7以后。本人发现速度更是掉到了可怜的450K左右。就拿一个BT资源来说。相同是上下载DNFclient..迅雷仅仅有500K不到...而快车却达到了760K左右...于是本人开通了一个会员,试试了快速通道的速度。几经周折.本人再下载了一些破解版本号..最终知道了迅雷快速通道的秘密!!!!!!快速通道的本质就是。P2P是须要资源的!!迅雷在接受你的下载后!自己主动把几个最快速上传的资源屏蔽了!!我最终知道为什么破解版本号再怎么破解也无法破解快速通道了。快速通道的原理是.当你用VIP账户登录时.迅雷确认你是VIP账户..然后你假设不用快速通道..他就自己主动屏蔽了几个最快速上传的用户.这样他就能够明目张胆的说.快速通道!!!然后你假设想用快速通道.他的server就会扣除流量值..然后悄悄的把一个文件发送给你!这个文件中有着被屏蔽的资源连接.然后你本地的迅雷软件会自己主动载入这个文件.所以你的链接资源多了!!!!由于是几个最快速上传的!所以你的速度也添加了!我说怎么相同是下载!下载同一个资源!曾经800多如今500多..由于迅雷把最快速上传的几个用户屏蔽了!!同一个热门资源...用迅雷下!或者是用快车或旋风下!!速度根本不一样!!这就是为什么迅雷搞快速通道的原因。
已和谐部分激进文字,简单来说就是迅雷对我们屏蔽了上传速度最高的几个用户,于是我们难以从其它BT客户中快速获取数据,从而速度受限于原来的server,这就和传统下载差点儿相同了。当然,都是推測而已。
6.种子文件(.torrent文件)和其Hash值的作用是什么?
答:BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。BitTorrent协议本身也包括了非常多详细的内容协议和扩展协议,并在不断扩充中。依据BitTorrent协议,文件公布者公布的文件生成提供一个.torrent文件,即种子文件,简称为“种子”。torrent文件本质上是文本文件,包括Tracker信息和文件信息两部分。Tracker信息主要是BT下载中须要用到的Trackerserver的地址和针对Trackerserver的设置,文件信息是依据对目标文件的计算生成的,计算结果依据BitTorrent协议内的B编码规则进行编码。它的主要原理是须要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(因为是虚拟分块,硬盘上并不产生各个块文件),并把每一个块的索引信息和Hash验证码写入.torrent文件里;所以,.torrent文件就是被下载文件的“索引”。下载者要下载文件内容,须要先得到对应的.torrent文件,然后使用BTclient软件进行下载。下载时,BTclient首先解析.torrent文件得到Tracker地址,然后连接Trackerserver。Trackerserver回应下载者的请求,提供下载者其它下载者(包括公布者)的IP。下载者再连接其它下载者,依据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。此时不须要其它server參与,分散了单个线路上的数据流量,因此减轻了server负担。下载者每得到一个块,须要算出下载块的Hash验证码与.torrent文件里的对照,假设一样则说明块正确,不一样则须要又一次下载这个块。这样的规定是为了解决下载内容准确性的问题。
參考资料:
标签:style http color ar 使用 sp 文件 数据 div
原文地址:http://www.cnblogs.com/lcchuguo/p/4040836.html