展会动态

该追踪器负责维护参与一个特定文件分发的所有

日期:2020-07-15 18:41 作者:旧版尊龙人生就是博

  声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。详情

  一种电脑“.torrent”文件,装有BT(BitTorrent)下载必须的文件信息,作用相当于HTTP下载里的URL链接。

  一个用户要利用BitTorrent协议下载文件之前,先要从某个网站下载一个包含该文件相关信息的“.torrent”文件。

  该种子文件包含一个称为“追踪器(tracker)”的服务器节点(因特网上有很多追踪器)的地址,该追踪器负责维护参与一个特定文件分发的所有对等方的信息。

  Peer to Peer点对点网络,简称 P2P,是指网络用户之间可以直接通信的网络结构。简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。使得网络上的沟通变得容易、更直接共享和交互,线P使用户可以直接连接到其他用户的计算机,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态,重返“非中心化”,把权力交还给用户。

  BitTorrent(简称 BT,比特洪流)是一个多点下载的的 P2P文件共享软件。它由程序员 Bram Cohen使用Python语言编写,并且还是代码开源的专利软件,可以自由地下载和传播。它采用高效的软件分发系统和点对点技术共享大体积文件(如一部电影或电视节目),使多个用户同时下载一个文件的时候,他们之间互相为对方提供自己所拥有的文件部分的下载。这样就把文件下载的带宽开销分摊到每个用户那里,理论上 BT下载可以支持无限多个用户来下载同一个文件。因此,BT被人们称之为“群集、散布、集中”的文件传输协议。目前,各种支持 BT下载的软件层出不穷,BT技术已经被广泛的应用于文件下载中。

  (2)一个静态元信息文件,即BT种子文件( 以.torrent 结尾, 包含了文件的基本属性);

  (3)一个追踪器(Tracker);Tracker实际上是一台服务器,它负责帮助peer之间相互建立连接;

  种子是一个形象的比喻。BT下载的原理从某种意义上说就像春天种下一粒种子,到了秋天就会收获万粒稻菽一样的滚雪球般的越来越大。于是人们就把发出的下载文件叫做种子。而种子文件就是记载下载文件的存放位置、大小、下载服务器的地址、发布者的地址等数据的一个索引文件。这个种子文件并不是你最终要下载的东西(如电影,软件等等),但是有了种子文件,你就能高速下载到你需要的文件。种子文件的扩展名是:*.torrent。

  BT种子可称为比特流种子,主要是因为很多下载软件解析种子后下载速度很快。

  BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端的负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。

  BT把提供完整文件的档案称为种子(SEED),正在下载的人称为客户(Client),某一个文件有多少种子多少客户是可以看到的,只要有一个种子,就可以放心地下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快,下载以后的种子可能会因目标文件不存在而失效。

  BT 是通过BT种子文件进行下载部署的,BT种子文件放在一个普通的网络服务器上,它包含了要共享的文件的信息,包括文件名、大小、文件的分块信息和一个指向追踪器的超级链接Url。被下载文件的拥有者也可以看成这个文件的“原始”下载者。要求文件下载的用户通过BT客户端软件分解.torrent 文件,取得文件的信息和指向追踪器服务器的 Url,同 Tracker进行通讯。

  全部内容必须都为Bencoding编码类型。整个文件为一个字典结构,包含如下关键字:

  (可选):种子创建的时间,Unix 标准时间格式,从 1970 1 月1 日 00:00:00 到创建时间的秒数(整数);

  (可选):备注(字符串) created by(可选):创建人或创建程序的信息(字符串);

  :一个字典结构,包含文件的主要信息。分为二种情况,单文件结构或多文件结构。

  (可选):长 32 个字符的文件的 MD5 校验和,BT 不使用这个值,只是为了兼容一些程序所保留!(字符串);

  :文件的路径和名字,是一个列表结构,如\test\test。txt 列表为l4:test8test。txte;

  首先,客户端用户访问BT发布站点,通过站点上的信息找到想要的资源文件。其中Bt发布站点上显示共享文件的信息和每个文件的共享用户信息,并为每个文件提供一个种子文件的下载链接。

  客户端下载了该种子后,与BT种子文件中的跟踪服务器(Tracker)通讯。跟踪服务器首先记录该客户端的用户信息,同时将其它共享用户的信息提供给该客户端,该客户端根据这些信息与其他共享用户的客户端软件发生通讯,从其中找出下载速率最快的40~50个客户端进行下载;其中每个客户端都按照种子文件中的规定对文件进行分块。文件的上传和下载都是按块进行的。

  完成整个共享文件的下载后客户端就只上传,不下载,成为共享文件的种子;在一些人气很旺的下载中,原始下载者经常可以在较短的时间内退出上传,由其它已经下载到整个文件的下载者继续提供上传。

  Tracker即时接收所有peer信息,并且给每个peer一份随机的peers列表。Tracker通过HTTPGET参数获得信息,然后返回一个Bencoding编码后的信息。peer每隔一段时间连一次Tracker,告知自己的进度,并和那些已经直接连接上的peer进行数据的上传下载。这些连接遵循BitTorrent peer协议,通过TCP协议进行通信。seed和tracker,peers之间通讯连接的步骤如右图。

  上面讲过,同一个资源,下载的人越多,下载的速度也就越快。经常用BT下载的电脑,一般都默认共享了不止一个资源,因此想办法让拥有你想要的资源的那些电脑连入网络,就是很有必要的。具体办法就是发布一个大家也都需要的资源,这也充分体现了BT下载模式最重要的精神——分享。

  要想发布一个资源,要经过2个步骤:制作种子文件、传播种子文件。当然还要把该种子文件对应的资源所在电脑开机连入网络一段时间,具体时间不定,主要看该种子下载的情况,最好至少要保证有一部分人下载成功。

  (1)选择一个BT发布站点,这个站点运行普通的网络服务器端程序,如Apache、IIS 等。通过网站帮助信息找到Tracer的Url。

  (2)用要发布的完整文件和Tracker的URL创建一个种子文件(.torrent 文件);

  (4)在网络服务器的网页上发布种子文件(.torrent 文件)链接和对这个文件的一些简单的描述;

旧版尊龙人生就是博