BT下载的未来:: y' `+ F& \/ m- i* z
BT下载模式已经在潜移默化中改变着,这跟网络版权问题有很大关系。那么BT下载的未来是什么呢?BT下载的未来Magnet URI!什么是Magnet URI?Magnet URI模式与以往的BT下载有什么区别?请看本文详解。
7 D* c* p9 p1 m j/ [! n 5 \* M# a e, _& G8 k
你是如何使用BT下载* ^; c, i& Q. [) k: D5 I! X
4 d" e3 y% A9 p e2 n3 J" i
首先,你从浏览器中找到你感兴趣的内容,下载相应的torrent文件。然后,你用一个BT下载客户端软件,打开这个文件。这时,客户端软件就会根据torrent文件中的网址,自动连接Tracker服务器,从它那里接收到其他正在下载该文件的人的网址名单。下一步,软件就一一与名单上的网址取得联系,从他们那里获取文件的片段,直到整个下载完成。2 C: [& ]% t q5 H* j
# ?9 p6 P7 a2 J. A$ b& @/ ] 从这个过程中,我们可以看到,Tracker服务器是整个BT下载的灵魂,文件可以不存在,但是Tracker服务器却不能不存在。要是连不上它,BT下载根本没法启动,因为你无从知道,找谁索要文件。就是由于这个原因,Tracker服务器成为了版权组织打击的重点。他们的想法很明确,只要除掉了Tracker,BT下载就完了。他们的理由是,虽然Tracker本身不传递内容,但是为传播盗版提供了便利,是犯罪的协助者。更何况,Tracker服务器的网址是公开的,很容易找到它的所有者,逃都逃不掉。: X8 O! `/ f) W' a
. q! R- Z7 _+ R( n; x- ^ ]
在这种形势下,Tracker提供者的日子都很难过。海盗湾是世界排名第一的Tracker提供者,它已经在被追杀了。排名第二的 Demonoid从今年9月15日起,就一直处于维护状态,不知道何时重新开放。其他的Tracker提供者基本上也是在法律诉讼的阴影下度日。那些不提供Tracker服务,只提供torrent文件索引服务的网站,比如Mininova、Torrentz、isoHunt,日子稍微好过一点。但是明摆着,版权组织收拾完Tracker以后,就要收拾它们了。比如,今年8月,Mininova就在一场官司中败诉,荷兰法官判决,该网站必须移除所有侵权内容的torrent文件。4 t: G$ j; Z7 i
& J- j+ u7 h8 x& [: A, [ v
既然,Tracker服务器在法律上很难立足,那么有没有办法,在不使用Tracker的情况下,依然使用BT下载呢?' z; t1 `6 ~- H' t- i* s* H' Y
6 d. N8 g' x( Q! A5 V# a 2002年,纽约大学的两个教授Petar Maymounkov和David Mazières发表了一篇论文,提出了一种真正去中心化的“点对点”下载模型,他们把它叫做Kademlia方法。Emule率先在软件中支持这种方法,KAD网络就是这样来的。到了2005年,BT软件也开始跟进了。目前,所有主流的BT下载客户端软件都支持这种方法。在BT下载中,这被叫做DHT 协议(Distributed hash table,分布式哈希表)。5 ]! n2 {7 }( A! ?5 B. }
6 I# ?1 N: F: C8 z0 a1 j8 a9 ]$ j" J
为什么有了DHT协议以后,就不再需要Tracker服务器了,真正实现了去中心化的点对点下载?
$ j$ y8 E( g5 k' o0 M+ G3 O
; z/ M. d5 M n 根据我对这个协议有限的理解,它是这样做的:4 A0 C5 X; N4 W9 B+ j
3 s" S0 K/ _7 s
每一台加入BT下载的计算机,都被称为一个节点(node),有一个自己的ID。这个ID是一个哈希函数值,通过对要分享的文件内容或它的元数据进行哈希运算而得到。这就是说,如果两台计算机正在下载同一个文件,那么它们的ID应该是彼此相似的。于是,每一台计算机就通过寻找与自己相似的 ID,来找到自己可以与之交换数据的其他节点。' R' C$ P% S/ j2 u" R8 P% y
' U8 J. b7 |. _9 A, G DHT协议的另一个巧妙之处在于,每一台计算机只保留自己附近的一部分节点信息。因此,为了得到更多的节点信息,就必须采用接龙方式,在一个个节点之间跳跃,逐步得到全网的节点分布图。这种信息获取方式,就保证了整个网络没有单个的中心,即使一个节点下线了,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方了。
# W2 l# z0 G) I
/ f% V4 I5 k- s/ t; d9 e, h 我对这个协议有一个细节还不是很清楚,我不知道,当BT下载刚刚启动的时候,如何获得第一个外部节点的位置?需不需要有人告诉你,你首先应该去找谁?如果需要的话,那么这个协议或多或少还是有一个中央服务器的。但是,如果不需要的话,那就真的是纯粹的去中心化的分布式下载协议了。
, X* U: o# l5 v( E2 [- b' S
* I* q1 P4 y& b2 H 现在所有主流的BT下载客户端,都支持DHT协议,也就是说,它们都能在没有Tracker的情况下完成下载。事实证明,它们不仅能完成,而且还能完成得很好!海盗湾和Demonoid的Tracker服务器都已经关掉了,但是如果你使用它们以前的torrent文件,依然能够完成下载。为什么?这就是DHT协议在发挥作用啊。所以,正是由于DHT可以取代Tracker,海盗湾才会宣布放弃Tracker模式。
+ L5 h7 j9 v4 }9 V! B& ]" J
: |9 o+ S! ?8 _4 R8 Y8 N9 c" d 什么是 Magnet URI
4 b; f! h% P: O. I 4 F u. K' v9 [( Z. m
magnet: URI 计划主要是用来鉴别p2p网络中的可用资源,是基于内容或元数据而非名字或位置,尽管它可以被其它应用程序使用,但主要的用途还是在p2p这一部分,已支持的软件包括 Azureus, BearShare, DC++, gtk-gnutella, Kazaa, LimeWire, FrostWire, Morpheus, Shareaza, TrustyFiles 和 uTorrent。3 ~% ^. h1 V5 ]& R1 J
M" T) R* j. _ 它会根据文件内容的hash生成一个独特的指纹,有点类似于ISBN。这样,任何拥有此文件的人可以生成基于文件内容的指纹。它的另一个优势就是跨平台性,因为它是以普通文本存在,你可以简单的复制粘贴即可完成分享。9 O- a7 y4 q& O, ]
- M3 ?3 B7 N- j3 E3 N5 ^1 J; J Magnet 链接由一组参数组成,它们之间的顺序不是很重要。最普通的是 “xt”,下面是一个示例( Y( m8 ~2 ]$ x- y+ V. B. \" R# }8 ^
# D2 A- a1 {% u
magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C4 p( k) \/ h3 a# g6 T9 G
7 k- O# B3 M" I0 t* @
其它的参数初步是这样定义的:$ t/ D/ S5 j' O
& Q" q9 @+ m# P% ]9 h: f- f “dn” (“显示名称”):显示此文件名
) N/ h( Z( ?: g8 c+ Y9 F 8 Q& ~2 a5 F9 t m. S- @2 N, d
“kt” (“关键词”):指定搜索方式而非特定文件" h g# c& L! r( U, |
' A5 }8 ?. Q! ~- R \
“mt” (“其它文件列表”):用一个URI指向一个列表,如其它的一些项目) g# x: ~ ]$ y* P: a) Z- l+ P
- y% p5 X9 m' b1 z- W* u" N# p
特定程序的参数,必须以“x.”开头8 V* U! c$ J$ i: s* f- B s0 ~2 O
4 \- X7 I7 h5 h( s, z/ A5 L
标准还建议2个同种类的参数最好在后面加上数字1、2等,如:0 M4 b1 P6 G, Q% A0 S& L
d. `3 i' F0 T T7 d, |
magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7
: q' f- w$ j, p! C
' R. [; t; U8 k; x( G1 g5 ~ Magnet URI这样做有什么好处?
% q% }5 }- C! ?2 v9 B5 q% t* ] {7 G1 V6 h. s, C# j4 d
显而易见的好处是,整个下载网络的可靠性提高了,每一个节点都是可以被替代的。另一个好处是,审查变得更困难了,因为每次下载的路径都是不一样的,而且每个节点都是动态变化的,导致实际上无法追踪谁在下载。此外,magnet URI只是一个字符串,非常容易传播,根本无法禁止。
+ m% y& f& ~+ ~, e4 X% \ 3 W/ E! t6 n9 M" Q8 B1 O4 y9 g4 b
因此,从这些方面考虑,magnet URI取代Tracker模式是大势所趋,迟早成为主流的BT下载方式。0 A ~/ L- ^/ S" p
& l' n$ v# r; w3 g. B; D* J 根据TorrentFreak的消息,下一步,海盗湾连Torrent文件也不打算支持了,将彻底放弃传统的BT下载模式,只提供Magnet URI。当然,这样一来,BT下载和emule下载就是同一种东西了,因此很可能这两者最终也会统一起来 |