美女鉴定家220全本txt:BT下载是怎么回事

来源:百度文库 编辑:高考问答 时间:2024/05/05 20:02:54
BT下载是怎么回事,,什么意思

能不能详细的给说一下

一、BT原理及优越性简析

  一般来讲,下载是把文件由服务器端传送到客户端,例如FTP、HTTP、PUB等等。但是,这种下载方法存在三个主要问题:

  1、带宽的限制。随着下载用户的增多,下载流量必然随之而上升,这对网络带宽提出更高的要求。假设带宽是1M,理论上来说,如果只有一个用户,他的最高下载速度可以达到1M;如果有10个用户,那么他们下载的总的速度最多也只有1M。因此,用户越多下载越慢,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,下载速度的限制,这样就给用户造成了诸多的不便。

  2、时间的限制。如果要成功下载,有一个条件,就是服务器端和下载端用户同时在线。这对于HTTP下载还不是什么问题,服务器端一般都在线,只要客户端去下载就行了。但对于FTP,由于服务器就是个人电脑,机主开机的时间不定,这就可能会造成机主开机了但没有人下载,或者有人想下载但机主没有开机。

  3、流动性的限制。FTP、HTTP下载方式都是一对多的方式,就是一个服务器端可以同时容纳多个客户端下载,而客户端之间没有联系,这样就造成文件流动的局限,有多少人下载就上传多少,服务器端成了文件的唯一来源。

  但BT下载就截然不同,它是通过一种近似传销的方式来达到共享的,同时包括上传端上传和客户端互传两种方式:
  1、上传端上传。BT首先在上传者端把一个文件(文件夹)分成了n个部分(假设有A、B、C、D、E、F、G7个部分),然后作为服务器对客户进行上传。上传时并非按照文件顺序逐步上传,而是随机上传,因而客户端之间下载的部分可能各不相同,甲在服务器随机下载了第C部分,乙在服务器随机下载了第F部分,丙在服务器随机下载了第A部分。当有某一个客户端成功下载了所有的7个部分后,他就成为了种子,具有和上传端完全一样的地位,这时,就有了两个种子了(第一个上传端和这位下载完毕的客户端)。

  2、客户端互传。BT的最大特点就是客户端之间可以互相传递。前已述及,各客户端之间所下载的部分可能各不相同,甲的BT会根据情况到乙的电脑上去拿乙已经下载好的F部分和到丙的电脑上拿A部分;乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的C部分和丙的A部分;丙亦然。这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙丙)的下载速度。对于HTTP、FTP下载,客户端只能从一个源头下载;而BT却能从n个源头下载。因此大大提高了下载效率。

  二、BT速度问题简析

  大家和Kelvin一起了解了BT的基本原理以后,现在讨论一下BT的速度问题。

  按道理来说,越多人下载,源头就越多,下载速度也就越快,上传的速度也越快,但这也不是绝对的,Kelvin认为有以下几个因素会影响BT的速度。

  1、tracker的位置。每一个torrent文件都有一个或多个tracker,tracker 是指运行于服务器上的一个程序,能够追踪到底有多少人以及是哪些ip地址在同时下载这一个文件。客户端必须连上tracker服务器,获得一份下载人员名单, BT根据这个名单自动连上别人的机器进行下载。Tracker实质上是一个中介,把上传端和客户端以及客户端之间连接起来。但是,既然tracker是服务器上的一个程序,那么这个服务器就有国内服务器和国外服务器之分了,这就产生了地域限制。例如,教育网的用户不用代理是不能访问国外的服务器的,而即使是用了代理,也是很难使用BT的,换言之,如果tracker是国外服务器,由于教育网的用户无法访问它,那么也就无法得到下载人员的名单,所以基本上教育网的用户是很难下载这一个torrent所代表的那个文件(文件夹),那么也就没有速度可谈了。

  教育网的用户要检验一个tracker是否属于国外服务器的方法很简单,Kelvin想了一个办法和大家分享。Tracker的形式一般如下:http//bt.abc.net:6969/announce
  当教育网用户要验证这个tracker的时候,只要把http//bt.abc.net这一段复制下来,然后不使用代理访问它,能访问的就是国内tracker,不能访问的一般就是国外tracker了。如果要进一步验证,那么就使用一个代理再访问一下,如果能访问,就更加证明这个是国外tracker了。

  2、网络的类型。Kelvin简单地把网络类型分为教育网和公众网,以及国内网和国外网两大系统。先分析教育网和公网。由于教育网和公网之间有一个连接的出口,而这个出口往往形成数据传输的瓶颈,使得教育网和公网之间的数据传输很慢。一般来说,速度视网络带宽的不同而不同,教育网内数据的传输从100KBs-1Ms不等,甚至更高;公网内数据传输也比较快;而教育网和公网之间的数据传输少则只有1KBs,多也不多到哪里去。因此,当教育网用户和公网用户同时用BT的话,他们之间的速度就会很慢。国内网和国外网也有相似的情况,同理可知。(c原创,首发F6论坛,转载请注明出处)

  3、下载的时机。一个torrent文件是有其生命周期的:刚刚被发布出来-渐渐很多人下载-最终没人下载而消亡。而下载的客户也是有其生命周期的:刚刚开始下载-下载了很多-下载完毕当种子。这就产生了下载的时机问题。如果Kelvin是头批下载的客户,那么可以说,能够下载的源头主要是从发布者那里了。渐渐下载的人多了,而Kelvin也已经下载得很多了,那么就会出现我下载的源头只有少数几个,但需要我的数据的人却有很多,那么Kelvin就会出现上传很大,而下载却相对来说很慢的情况了。
  这里往往有一个下载的技巧。当下载先锋是比较吃亏的(但总是需要这样一部分角色),下载慢而上传多;第二批和第三批是最幸运的,种子一大堆,上传和下载的速度基本持平,他们充当着延续种子的角色;第四批和第五批有一定风险,虽然他们以后就没有什么人要下载,因而上传速度不大,但是,他们要冒没有种子而导致下载失败的风险。

  4、软件因素。如果你同时连着10个客户,BT软件会自动优先从某个客户处下载数据,有时会拒绝从某个客户处下载数据;有时会自动优先给某个客户上传数据,有时也会拒绝给某个客户提供上传。这些都是软件使用者所不能控制的,Kelvin也不懂其中的原因。这时候,如果你正在上传数据给我,但我的软件又拒绝给你上传数据,那么你就以为我限速了,其实不然。这里推荐使用BitTorrent S-5.8.7 Plus! 4.0 Beta2,这个软件可以提供很多的参考数据,是我目前见过的数据最全面的BT软件。

  5、抢占带宽。电脑传输数据的带宽都是一定的,而BT又不是平均分配这些带宽,因而速度就受到不同客户端抢占带宽能力不同的影响。假如Kelvin有1M的带宽,下载用了400K,上传用了600K。我和A用户属于同一网络类型,抢占带宽的能力比较强,他从我这里下载是450K,那么我可以上传给其他用户的带宽就剩下150K了。如果这是我从B用户那里下载是300KBs,而上传给他最多只能是150KBs了,那么B可能就以为我在限速,其实不然。

  6、限速。限速对于速度的影响相信不用Kelvin来分析了吧,但我在这里只想说,限速的人也不一定都是BT的败类。
  情况一:BT败类,只想收获不想付出,我最痛恨这些人,鄙视这些人!

  情况二:我一边下载一边工作,例如是使用photoshop编辑图片。那么,如果下载和上传占据了我的机器的大量的CPU、硬盘和内存资源,以致我无法正常使用软件来工作,我就不得不对BT进行限速,腾出一点资源让我能两者都兼顾。

  情况三:我在下载A文件的同时还在做B文件的种子,那么对于我来说,我为BT作出了贡献,只不过得到A文件的数据,但为B文件作出贡献。于是,我就有可能对A文件限速,腾出带宽给B文件,让两者同时可以上传。这样,虽然我限速,但问心无愧。