今天你想看什么

惊!变态下载背后的秘密大揭秘

  (注:本篇文章属学生写作科普知识,与大家一起学习增长知识,并非专业人士写作。)

  不少小伙伴在使用某些下载软件的时候应该见到过bt这两个字,bt读起来的感觉莫名就跟变态搭上了关系,但是此bt非那bt,bt指的是bit torrent是一种信息技术。为了方便理解原理,下文我将举些例子跟大家谈一谈。本文章分三部分内容。

  One:bt的定义

  Two:软件的操作和bt的原理

  Three:迅雷的车队下载

  一.对于bt技术,我们先它的定义说起。BT是一种互联网上新兴的P2P传输协议。(在这里得引出一个专业名词,传输协议,我们在网页下载东西的时候都得依靠这种协议,所谓的协议是基于服务器和客户端之间的传输协议。但在这里要注意,Bt是名词,是一种技术的定义,p2p是协议,两者并不能划等于号),P2P下载就是点对点下载,那什么是点对点下载呢?与我们平时的下载有什么区别呢?我们先说一下我们的普通下载方式,普通方式的下载一般就是我们到应用商店下载软件或者到网页下载东西,这种下载方式是有人将文件放在一个服务器上,当用户要下载这个文件的时候,服务器将这个文件传输到用户电脑上,但这样就会出现一个问题,如果同一时刻下载的用户数量太多,服务器会处理不过来,就会因此影响到用户的下载速度,即使你办理的100兆网络,也可能只有几百k的网速,而bt下载的方式就是为解决这个问题而诞生的。举个例子助理解一下点对点下载(也就是p2p下载传输协议),比如你想下载一个几十个g的游戏软件,但是访问这个普通下载服务器的人很多,导致速度很慢,从而影响你的下载速度。可是采用点对点下载后,如果刚好我前两天下载过这个资源,你就不但可以从这个原本的服务器上下载电影,还可以从我这里下载,两个下载地址供你下载这个资源,速度就快很多。所以下载人数越多,下载速度越快。为什么越多人下载速度就会越快?为了更容易理清文章逻辑,下文再解释这个问题。这里我们得认识一下bt下载的构成,先看着这些以下的名词,下文会通过解释这些成分是怎么分工合作的

  tracker:tracker是个收集下载信息的服务器,简单的理解就是将信息收集起来提供给下载者,让下载者互相链接传输数据

  种子:这个概念在网上有很多种说法,但我总结了这两点:

  1. 是拥有完全文件的上传者

  2.提供你下载的人也可以称为种子。

  种子文件:都以torrent结尾,一个种子文件中包含了发布信息、服务器信息、文件信息等相关内容的文件。这种文件通常很小,但是我们可以下载到几个g的文件,甚至更大(有兴趣的话可以自行百度,下文可能不会提到)

  客户端:bittorrent软件,用于下载或者上传文件。就比如比特彗星或者迅雷

  (当然bt中不止这些术语,作为科普我们只要大概知道这几个就好了)

  二.该如何操作呢,我们以比特彗星为例子,当有一个用户想要通过bt下载电影美国队长3,用户需要通过能找到种子文件的网页或者种子文件的搜索器,如下图

  搜索美国队长3,搜索出来的是一个磁力链(也可以是种子文件,但这里只说磁力链这个例子),磁力链就类似于网址,是一串由英文、数字、符号组成的代码,网友复制该代码(磁力链)到bt软件点击“磁链”下载种子文件,如下图

  复制黏贴完点确定,点完确定后你讲看到这个界面,如下图

  点立即下载即可。这时就会感觉到一股截然不同的速度了

  但能够快速下载是建立在一定条件上的(后面我会说到这个一定条件是什么,对应下方划横线字体)

  上文说完大概的操作后,我们先来说在一定条件情况下的bt下载过程。我们把下载用户1、2、3、4、5,分别定义为第一、第二、第三、第四、第五个下载者,这样子,下载用户1从上传文件者的下载地址下载好了电影,而轮到用户二第二位下载者可以从上传文件者和第一个下载用户1那里下载,以此类推,下载人数越多,下载速度越快。(但当然,下载速度跟你的宽带网速还是有直接的联系的,这种下载方式只是单纯解决了服务器频宽的问题)

  当第一个下载这个电影的人,他在下载这个电影时,在下载的同时会有上传。后面下载的人下载时候也同样会有上传

  如图,简单粗暴理解一下是什么上传,就是上传到网络,上传完后,客户端软件(也就是我们用的bt下载工具)会把下载过的用户计算机当作下载地址,当别人也要下载这个电影的时候,他就会有两个下载地址,这样大大提高了下载的速度。回过头来解答一下我们第一个问题,为什么多个下载地址就会提高速度,这里其实多个下载地址就是多了一个服务器,多个服务器下载就等于多个端口同时给你传输文件,也可以理解为如果是普通下载,只有一个服务器给你传文件,而且这个服务器还可能爆满导致速度变慢,而用bt下载,会有多个服务器同时给你传文件,那就快了很多了。上文也讲到了,如果我们是在普通的网页下载软件,全部人挤在同一个服务器,会塞满服务器频宽,导致速度减慢了许多,而bt下载采用了多点的下载方式,解决上述的问题,bt下载的原则口号正是“人人为我,我为人人”,每个人都要下载和上传,如果每人都只上传不下载,那bt下载跟普通下载就没有什么不一样,上面所说的一定条件也正是下载的种子必须是热门的种子,就是下载上传的人多,如果选择下载次数为0的种子,也就没有那么多的服务器和下载地址供我们加速,那速度也不会提升多少了

  三.迅雷的车队下载:对于bt还有另一种方式,当有几个人在下载同一个资源的时候,处理器会把该资源通过算法分成几个部分,让其中的不同的人下载不同的部分文件,就比如有甲乙两个人下载一部电影,甲下载前百分之50的电影,而乙下载后百分之50的电影,在下载的同时,甲乙的电脑也在互相上传文件,甲上传给乙的文件正式乙没有下载的前百分之50,而乙上传给甲的文件也正是甲没有下载的后百分之50,这样也大大提高了下载速度,迅雷的下载中有个邀请好友一起下载,就是类似这种原理,在下载时你们并不是下载同一部分文件,而是分工下载不同部分的文件,但下载好自己部分的文件后你朋友的电脑就会把你自己当作服务器,从你电脑下载他没有下载的那部分文件,也可以理解为你传输给他文件。这样子,你越多朋友一起下载,就能从越多的电脑里得到部分文件,从而达到邀请好友一起下载达到加速的效果。

  大概知道原理了之后我们再来理解一下这个tracker的作用,tracker会通过计算把文件分成块,不同的用户下载不同的块,分工合作。在我们使用bt软件下载的时候,bt会首先解析资源,然后链接tracker服务器,接着tracker服务器处理下载者请求,将其他的下载者(包括发布文件的人)的ip地址提供给下载者,下载者再通过ip地址链接其他下载者,再根据torrent文件信息,tracker通过计算分别告知对方自己下载的是哪一个块,当这些铺垫工作都做好后,就可以根据其他下载者的ip地址进行传输自己没有的块了,这就是tracker服务器的作用。这样子进行分工下载,大大提高了工作效率。

  结尾:在这里最后声明一下,文章仅仅作为一个科普知识,bt在以前为家庭上网用户和普通宽带用户大大提高下载速度提供了一个极好的方法,但现在宽带网和5g的将要带来,这种技术的使用可能对我们普通网友来说作用将会逐渐暗淡,跟何况现在网盘的下载也是很方便的

  整篇文章比较绕,但连起来。。差不多就是bt的原理。以上就是对bt下载的一些个人的理解,作为一个科普知识,内容不专业,只是大概的过程。如果你通过这篇文章大概了解了一下bt技术且有所收获,求赞求转发~