BT简单说就是一个下载软件
BT是一个P2P文件分发工具,由程序员Bram Cohen编写,在2002年CodeCon上初次登台。参考书的实行是在Python写的并在BT开放资源许可下发放,版本是4.0
使用BT,文件可以被分成小块,基本分成4份。当这一小份被奋发给peers以后,他们就能够在要求的机器上重新自由装配。任何一个peer当对已有的部分提供了一个上传连接时,他们都会充分利用连接来找到失去的部分。这个行为已经实际证明了它擅长传送大型文件诸如视频和软件的资源代码。传统的下载,其高需求对于在主机上使用宽带下载造成了频颈。而用BT下载,其高需求反而能够加快速度,使人们能够拿到其他文件的“种子”。Cohen宣称每一个流行的文件,BT都能够支持比HTTP多1000倍的下载。
共享文件
使用BT来分享一个文件,使用者创建一个.torrent文件,一个小“pointer”文件包含了:
文件名,大小,以及每一个文件的hash(允许使用者确保他们所下载的是真实的东西),跟踪器地址(下面会讨论) 其他数据。
Torrent文件然后就能被分发到其他使用者那,经常是借助email或者网站。BT客户然后启动一个“种子节点”,允许其他使用者连接并开始下载。当其他使用者下载完所有文件后,他们就会有选择的重新“播种”,成为文件的另一个资源。这一方式的一个结果就是所有种子都下线,文件再也不能被下载,即使torrent文件被拥有。然而,即使每哟种子,只要有一个被分发的文件副本,那么每个人都能够最终获得完整的文件。
用BT下载是很直接的。每个想要下载文件的人都会先下载torrent并在BT客户软件里打开它。Torrent文件会告诉客户一个跟踪地址,相反地,也保留了用户下载什么文件以及文件和其分块在哪里的记录。对于每一个可获得的资源,客户都认为其文件的所有部分都是可获得的,然后就会要求获得他们至今仍未获得的最稀有的那部分。这就使得peers来交换他们已获得的部分。一旦客户完成了一个重要的部分,就会迫使他确信这一部分与torrent文件所说的想符合。然后就开始寻找别人来上传这个部分。
BT为那些上传最多的人提供了最好的下载途径,那些人被称作“leech resistance”但是它不支持那些只下载不上传的“leech”,“leecher”仅仅意味着那些至今未下载一个完整文件的人。
尽管BT对宽带使用者是件好事情,但是它对拨号连接却没有什么效果,因为拨号连接经常会断线。
与其他文件共享系统做比较
BT使用的文件分发方式很大程度上等同于人们使用的eDonkey2000网络,但是在eDonkey分件共享网络里的节点通常会分享并下载更大数量的文件,是宽带到每一个传送者那里变的更小。BT的传送速度是非常快的,因为所有的节点都在传送或接收一个单独的文件。当最初的eDonkey2000客户提供极少的“leech resistance”,大多数新的客户就会用某种系统来鼓励上传者。比如说eMule有一个信用系统,在那里一个存储了他上传以及从每一个客户那下在的大量数据并按照秩序提供给客户上传的优先权。然而,eDonkey2000概念的本质是下载速度要更具有可变动性,尽管可下载的文件数量更大。
与BT相似的一个方式是由KaZaA在2002年提供引荐的“参与水平”。“参与水平”在你上传的时候会增加,在你下载的时候会减少。当你上传一个文件给其他人,那么拥有最高“参与水平”的人就会最先得到她,然后这个人就把文件上传给下一个拥有最高“参与水平”的人,依次类推。想象一个金字塔,拥有最多上传宽带的人在最顶端,以下每一层都要比上一层少一些,一直到最底端。这对于把一个文件分发给众多用户而言是最有效的方式:甚至在金字塔最底层的人有可能得到文件的速度要比没有使用使用P2P方式的人快。不幸的是,由KaZaA所采纳的这个系统被某些人认为是糟粕,因为它要依靠客户精确报道他们的“参与水平”,因此它很容易欺骗许多“非正式”客户。
礼节
因为BT依靠使用者的上游带宽,并且使用者更多,就有越多的带宽可以用来分享文件。一个好的礼节就是在下载完毕之后能留下一个客户为了使其它人能够继续从他那获得分发的文件。
然而,有点不是很清楚,客户在完成下载后要留下多长时间。许多客户通报了上游和下游的比特,因此用户可以看到他们在网络里已经贡献回去了多少。它通常被认为是一种好的形式,至少已经共享回去了与原始文件大小相等的量。
本文来自网络转载,仅供学习参考!不代表趣典故立场,本站不拥有所有权,不承担相关法律责任。如发现本站有抄袭侵权/违规的内容,请发送邮件至@qq.com进行反馈,一经查实,本站将立刻删除。