作者skyman1999 (skyman1999)
看板P2PSoftWare
标题[BT] BT下载的未来:Magnet URI计划
时间Mon Dec 28 09:56:04 2009
BT下载模式已经在潜移默化中改变着,这跟网络版权问题有很大关系。那麽BT下载的未来是什麽呢?
BT下载的未来Magnet URI!什麽是Magnet URI?Magnet URI模式与以往的BT下载有什麽区别?
2002年,纽约大学的两个教授Petar Maymounkov和David Mazieres发表了一篇论文,提出了一种真正去中心化的「点对点」下载模型,他们把它叫做Kademlia方法。Emule率先在软件中支持这种方法,KAD网络就是这样来的。到了2005年,BT软件也开始跟进了。目前,所有主流的BT下载客户端软件都支持这种方法。在BT下载中,这被叫做DHT 协议(Distributed hash table,分布式哈希表)。
有了DHT协议以後,就不再需要Tracker服务器了,真正实现了去中心化的点对点下载:
(一)每一台加入BT下载的计算机,都被称为一个节点(node),有一个自己的ID。这个ID是一个哈希函数值,通过对要分享的文件内容或它的元数据进行哈希运算而得到。这就是说,如果两台计算机正在下载同一个文件,那麽它们的ID应该是彼此相似的。於是,每一台计算机就通过寻找与自己相似的 ID,来找到自己可以与之交换数据的其他节点。
(二)DHT协议的另一个巧妙之处在於,每一台计算机只保留自己附近的一部分节点信息。因此,为了得到更多的节点信息,就必须采用接龙方式,在一个个节点之间跳跃,逐步得到全网的节点分布图。这种信息获取方式,就保证了整个网络没有单个的中心,即使一个节点下线了,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什麽地方了。
现在所有主流的BT下载客户端,都支持DHT协议,也就是说,它们都能在没有Tracker的情况下完成下载。
什麽是 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下载方式。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.69.179.122
1F:推 john0628 :感觉是类似SMG? 12/28 09:59
2F:→ knives :可是在bt的client上面还是看得到做种者的ip阿,其实 12/28 10:03
3F:推 yshinri :我个人是把它看成ed2k连结的BT版 12/28 10:03
4F:→ yshinri :ed2k连结也是利用 hash 值去搜档案 和这其实完全一样 12/28 10:05
5F:→ knives :若说要做到真正完全隐藏下载踪迹还是很长久的事阿 12/28 10:05
6F:→ knives :而且之後的下载设定也没有独立torrent便利 12/28 10:09
7F:推 minshi :hash翻成哈希....Orz 12/28 10:14
8F:→ sivid :不用标明出处吗 12/28 10:35
9F:推 abccbaandy :感觉是为了论文发明的... 12/28 11:39
10F:推 yshinri :七楼那个翻法是大陆翻法... 12/28 11:45
11F:推 icemango :不是应该翻成杂凑吗XD... 12/28 11:55
12F:推 littlecut :台湾势翻杂凑 哈希就....... 12/28 13:26
13F:→ knives :如果不懂的人,还真的会以为哈希是个人名的咧,简直 12/28 13:27
14F:→ knives :是乱翻嘛,到底是那个天兵翻 12/28 13:28
16F:→ leepeter121 :只是把种子档弄成网址而已 其他根本没差多少 12/28 13:49
17F:→ ithildin :差在不会tracker被抄家就不用抓东西? 12/28 15:33
18F:推 erase2004 :借转谢谢 12/28 15:39
19F:→ hafor :tracker挂了後会不会全死就差很多了... 12/28 18:05
20F:→ JackONeilll :PT一样是靠tracker 其他的也早都是靠DHT了 影响不大 12/28 18:28
21F:推 kcl0801 :PT通常是禁DHT的 12/28 19:28
22F:推 Kenqr :有些网路会挡torrent档 用magnet也可以避开 12/28 22:56
23F:推 xvid :这多久以前的文章.... 12/28 23:57
24F:→ dsin :还好吧 不过就是采用音译而以阿 12/29 00:39
25F:→ dsin : 已 12/29 00:40
26F:→ Norther :翻杂凑也不懂含意阿 倒不如音译为 "哈嘘" 12/29 08:15
27F:→ bajiqa :倒不如都不要翻,哈嘘也没意义啊 12/29 10:30
28F:推 mstar :之前修 amule 语系时用杂凑,後来直翻成「hash 值」 12/29 14:14
29F:推 melisma :这本来就是大陆的文章 哪来乱翻... 12/29 14:35
30F:推 Yanten :网路负担会很大...HUB请保重 12/29 23:07
31F:→ jyuny1 :kad n年前就用了... 12/30 02:17
32F:→ ithildin :跑P2P本身就是让网路负担很大的行为 DHT有更大吗=_= 12/30 08:58
33F:→ ithildin :而且不管是连线数还是流量都是照原本的设定去跑啊 12/30 08:59
34F:→ erotic :翻成杂凑才难听好不好? = = 哈希多直观啊 12/30 13:30
35F:推 abccbaandy :专有名词不要翻更好... 12/30 14:37
36F:推 andy199113 :楼上 可是很多电脑专有名词都是直接音译喔... 12/30 14:53
37F:→ Bellkna :翻"验证数值(HASH)" 类似这样中+英感觉会好一点 12/30 15:16
38F:推 Modchip :大推楼上!! 12/30 18:52
39F:推 captdavince :我比较想问..现在如果是分享torrent档有足够证据起诉 12/31 13:29
40F:→ captdavince :吗.. 12/31 13:29
41F:→ JackONeilll :霹雳那个案子有两个重点:1.有人检举(IP) 2.人赃俱获 12/31 20:04
42F:推 Modchip :霹雳那个应该是因为,长期固定IP分享... 12/31 20:49