之前一直对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文件里的对照,假设一样则说明块正确,不一样则须要又一次下载这个块。这样的规定是为了解决下载内容准确性的问题。

參考资料:

BT下载

迅雷离线下载原理

关于BT下载的一点事儿的更多相关文章

  1. Transmission : 如何在Fedora下使用BT下载

    先讲讲BT协议的名词: Glossary of BitTorrent terms Transmission 介绍 BT下载客户端 特点: 支持BT下载(.torrent 种子) 或者 磁链( magn ...

  2. 【转】与BT下载相关的概念

    1. DHT DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法.在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整 ...

  3. NAS4Free 配置BT下载

    NAS4Free 9.3.0.2 开启BT下载功能 Services|BitTorrent 选中右上角的复选框 Peer port 是监听端口,用于接受外部连接,需要在路由器配置该端口到服务器,才能提 ...

  4. 搭建自己的BT下载平台服务器

    [原理基础] BT(Bit Torren比特流)是由国外的一名叫Bram Cohen的程序员开发的下载软件,可以说它是目前网络是非常流行的一个多点下载的P2P软件,它最显著的特点就是:下载的人越多,速 ...

  5. vs2017_enterprise正式版离线安装包bt下载

    vs2017_enterprise正式版离线安装包bt下载 点击这里下载种子 磁力链接 安装前请先打开certificates目录,安装里面的三个证书 离线下载教程 : https://docs.mi ...

  6. 常用下载方式的区别-BT下载、磁力链接、电驴

    出处:https://www.jianshu.com/p/72b7a64e5be1 打开 115 离线下载的窗口,看到支持这么多种链接,你都清楚他们是什么原理嘛?接下来我们一个一个说. 一.HTTP( ...

  7. BT下载原理分析

    版权声明:本文为博主原创文章,未经博主允许不得转载. BitTorrent协议. BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload, ...

  8. BT下载的原理 和疑问

    我心中有几个疑问,同时也搜索了点素材,肯能对理解问题有帮助. BT下载,即P2P下载,是一种不需要中心化服务器的下载,实现原理是,每个客户端在下载的时候也作为服务器. 我的疑问是,P2P各个节点是如何 ...

  9. 基于Linux下Iptables限制BT下载的研究

    基于Linux下Iptables限制BT下载的研究   摘要:     当前BT下载技术和软件飞速发展,给人们网上冲浪获取资源带来了极大的便利, 但同时BT占用大量的网络带宽等资源也给网络和网络管理员 ...

随机推荐

  1. UIWebView取消长按放大(用于长按识别二维码)

    禁用长按UIWebView时放大镜及选择功能: //通过js调用 - (void)webViewDidFinishLoad:(UIWebView*)webView { // Disable user ...

  2. 你好,C++(9)坐216路公交车去买3.5元一斤的西红柿——C++中如何表达各种数值数据 3.3 数值数据类型

    3.3  数值数据类型 从每天早上睁开眼睛的那一刻开始,我们几乎每时每刻都在与数字打交道:从闹钟上的6点30分,到上班坐的216路公共汽车:从新闻中说的房价跌到了100元每平米到回家买菜时的西红柿3. ...

  3. 初涉JavaScript模式 (6) : 原型模式 【二】

    原型与in操作符 有两种方式使用in操作符:单独使用和在for-in循环中使用. 在单独使用时,in操作符会遍历实例公开(可枚举)的属性,如果找到该指定属性则返回true,无论该指定属性是存在与实例中 ...

  4. JS笔记1

    1.每个函数对象都有一个length属性,表示该函数期望接收的参数个数.它与函数的arguments不同,arguments.length表示函数实际接收的参数个数. 2.javascript 中有五 ...

  5. 实用iPhone Cydia插件

      BadgeClear(角标清除):可以清除App推送所在图标右上角出现的红色角标.在桌面长按图标后,图标开始左右摇动,再双击图标即可清除点击的图标角标.   Bitesms(短信):收费插件,具有 ...

  6. PHP图形计算器(计算三角形矩形周长面积)

    运用PHP面向对象的知识设计一个图形计算器,同时也运用到了抽象类知识,这个计算器可以计算三角形的周长和面积以及矩形的周长和面积.本图形计算器有4个页面:1.PHP图形计算器主页index.php;   ...

  7. Nginx源码研究四:NGINX的内存管理

    关于nginx的内存使用,我们先看代码,下面是nginx_cycle.c中对全局数据结构cycle的初始化过程 pool = ngx_create_pool(NGX_CYCLE_POOL_SIZE, ...

  8. win7 IIS7.0 【IIS 管理器无法验证此内置帐户是否有访问权】

    异常信息: 服务器配置为将传递身份验证和内置帐户一起使用,以访问指定的物理路径.但是,IIS 管理器无法验证此内置帐户是否有访问权.请确保应用程序池标识具有该物理路径的读取访问权.如果此服务器加入到域 ...

  9. A题

    A - A Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%I64d & %I64u   Descriptio ...

  10. POJ2299 Ultra-QuickSort(归并排序求逆序数)

    归并排序求逆序数   Time Limit:7000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u   Descri ...