BT扩展协议:magnet协议 |
发布: 2010-04-07 23:20 |
BT下载模式已经在潜移默化中改变着,这跟网络版权问题有很大关系。那么BT下载的未来是什么呢?BT下载的未来Magnet URI!什么是Magnet URI?Magnet URI模式与以往的BT下载有什么区别?请看本文详解。 你是如何使用BT下载 首先,你从浏览器中找到你感兴趣的内容,下载相应的torrent文件。然后,你用一个BT下载客户端软件,打开这个文件。这时,客户端软 件就会根据torrent文件中的网址,自动连接Tracker服务器,从它那里接收到其他正在下载该文件的人的网址名单。下一步,软件就一一与名单上的 网址取得联系,从他们那里获取文件的片段,直到整个下载完成。 从这个过程中,我们可以看到,Tracker服务器是整个BT下载的灵魂,文件可以不存在,但是Tracker服务器却不能不存在。要是连 不上它,BT下载根本没法启动,因为你无从知道,找谁索要文件。就是由于这个原因,Tracker服务器成为了版权组织打击的重点。他们的想法很明确,只 要除掉了Tracker,BT下载就完了。他们的理由是,虽然Tracker本身不传递内容,但是为传播盗版提供了便利,是犯罪的协助者。更何 况,Tracker服务器的网址是公开的,很容易找到它的所有者,逃都逃不掉。 在这种形势下,Tracker提供者的日子都很难过。海盗湾是世界排名第一的Tracker提供者,它已经在被追杀了。排名第二的 Demonoid从今年9月15日起,就一直处于维护状态,不知道何时重新开放。其他的Tracker提供者基本上也是在法律诉讼的阴影下度日。那些不提 供Tracker服务,只提供torrent文件索引服务的网站,比如Mininova、Torrentz、isoHunt,日子稍微好过一点。但是明摆 着,版权组织收拾完Tracker以后,就要收拾它们了。比如,今年8月,Mininova就在一场官司中败诉,荷兰法官判决,该网站必须移除所有侵权内 容的torrent文件。 既然,Tracker服务器在法律上很难立足,那么有没有办法,在不使用Tracker的情况下,依然使用BT下载呢? 2002年,纽约大学的两个教授Petar Maymounkov和David Mazières发表了一篇论文,提出了一种真正去中心化的“点对点”下载模型,他们把它叫做Kademlia方法。Emule率先在软件中支持这种方 法,KAD网络就是这样来的。到了2005年,BT软件也开始跟进了。目前,所有主流的BT下载客户端软件都支持这种方法。在BT下载中,这被叫做DHT 协议(Distributed hash table,分布式哈希表)。 为什么有了DHT协议以后,就不再需要Tracker服务器了,真正实现了去中心化的点对点下载? 根据我对这个协议有限的理解,它是这样做的: 每一台加入BT下载的计算机,都被称为一个节点(node),有一个自己的ID。这个ID是一个哈希函数值,通过对要分享的文件内容或它的 元数据进行哈希运算而得到。这就是说,如果两台计算机正在下载同一个文件,那么它们的ID应该是彼此相似的。于是,每一台计算机就通过寻找与自己相似的 ID,来找到自己可以与之交换数据的其他节点。 DHT协议的另一个巧妙之处在于,每一台计算机只保留自己附近的一部分节点信息。因此,为了得到更多的节点信息,就必须采用接龙方式,在一 个个节点之间跳跃,逐步得到全网的节点分布图。这种信息获取方式,就保证了整个网络没有单个的中心,即使一个节点下线了,依然可以通过其他节点来获取文 件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方了。 我对这个协议有一个细节还不是很清楚,我不知道,当BT下载刚刚启动的时候,如何获得第一个外部节点的位置?需不需要有人告诉你,你首先应 该去找谁?如果需要的话,那么这个协议或多或少还是有一个中央服务器的。但是,如果不需要的话,那就真的是纯粹的去中心化的分布式下载协议了。 现在所有主流的BT下载客户端,都支持DHT协议,也就是说,它们都能在没有Tracker的情况下完成下载。事实证明,它们不仅能完成, 而且还能完成得很好!海盗湾和Demonoid的Tracker服务器都已经关掉了,但是如果你使用它们以前的torrent文件,依然能够完成下载。为 什么?这就是DHT协议在发挥作用啊。所以,正是由于DHT可以取代Tracker,海盗湾才会宣布放弃Tracker模式。---www.002pc.com 什么是 Magnet URI magnet: URI 计划 主要是用来鉴别p2p网络中的可用资源,是基于内容或元数据而非名字或位置,尽管它可以被其它应用程序使用,但主要的用途还是在p2p这一部分,已支持的 软件包括 Azureus, BearShare, DC++, gtk-gnutella, Kazaa, LimeWire, FrostWire, Morpheus, Shareaza, TrustyFiles 和 uTorrent。 它会根据文件内容的hash生成一个独特的指纹,有点类似于ISBN。这样,任何拥有此文件的人可以生成基于文件内容的指纹。它的另一个优势就是跨平台性,因为它是以普通文本存在,你可以简单的复制粘贴即可完成分享。 Magnet 链接由一组参数组成,它们之间的顺序不是很重要。最普通的是 “xt”,下面是一个示例 magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C 其它的参数初步是这样定义的: “dn” (“显示名称”):显示此文件名 “kt” (“关键词”):指定搜索方式而非特定文件 “mt” (“其它文件列表”):用一个URI指向一个列表,如其它的一些项目 特定程序的参数,必须以“x.”开头 标准还建议2个同种类的参数最好在后面加上数字1、2等,如: magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7 Magnet URI这样做有什么好处? 显而易见的好处是,整个下载网络的可靠性提高了,每一个节点都是可以被替代的。另一个好处是,审查变得更困难了,因为每次下载的路径都是不 一样的,而且每个节点都是动态变化的,导致实际上无法追踪谁在下载。此外,magnet URI只是一个字符串,非常容易传播,根本无法禁止。 因此,从这些方面考虑,magnet URI取代Tracker模式是大势所趋,迟早成为主流的BT下载方式。 根据TorrentFreak的消息,下一步,海盗湾连Torrent文件也不打算支持了,将彻底放弃传统的BT下载模式,只提供Magnet URI。当然,这样一来,BT下载和emule下载就是同一种东西了,因此很可能这两者最终也会统一起来。 magnet协议,也就是哈希分布。现在的BT下载服务是需要一个tracker服务器来储存BT种子文件,但是magnet URI协议是不需要tracker服务器的,原理类似于电驴,但不完全是电驴的翻版。magnet每次连接的源头都是不固 定的,也就没法查封源头。在BT被封锁以后magnet将是主流下载方式。 |
原文: http://qtchina.tk/?q=node/419 |
Powered by zexport
|