磁力链接这个“
数字指纹”可以被任何人从任何文件上生成,这也就注定了磁力链接不需要任何“中心机构”的支持(例如:BT Tracker服务器),且识别准确度极高。
因此任何人都可以生成一个Magnet链接并确保通过该链接下载的文件准确无误。
在传统的BT下载方式中让各个
下载者之间相互联系,有2种途径:
1、通过连接BT种子中记录的BT Tracker服务器,获取下载者列表
2、利用BT种子中记录的“数字指纹”通过DHT网络进行搜索,获取下载者列表
(不过现实是,存活的BT Tracker服务器越来越少。而BT
种子文件也需要服务器保存。)
我们假设
“BT Tracker服务器连接不上了,BT种子文件服务器也被干掉了。。”
那么显而易见的是第1种途径完全走不通,第2种途径只能帮你“寻找”,却没办法知道你在寻找什么。
“磁力链接”的主要作用就是把“数字指纹”告诉DHT网络,你需要寻找什么。
磁力下载原理
“磁力链接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。
这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称。 这就类似生活中消费品包装上常见的条码。不同的是这个“数字指纹”可以被任何人从任何文件上生成,这也就注定了“磁力链接”不需要任何“中心机构”的支持(例如:BT Tracker服务器),且识别准确度极高。
因此任何人都可以生成一个Magnet链接并确保通过该链接下载的文件准确无误。
磁力链接(Magnet URI)扮演什么角色?
在传统的BT下载方式中让各个下载者之间相互联系,有2种途径:
1、通过连接BT种子中记录的BT Tracker服务器,获取下载者列表
2、利用BT种子中记录的“数字指纹”通过DHT网络进行搜索,获取下载者列表
(噢,不过现实是,存活的BT Tracker服务器越来越少。而BT种子文件也需要服务器保存。)
我们假设“BT Tracker服务器被干掉了,BT种子文件服务器也被干掉了。。”
那么显而易见的是第1种途径完全走不通,第2种途径只能帮你“寻找”,却没办法知道你在寻找什么。
“磁力链接”的主要作用就是把“数字指纹”告诉DHT网络,你需要寻找什么。
下载举例
举例来说,今天的热门下载文件是Inglourious.Basterds.DVDRip.XviD-iMBT.avi,按照以前的方式,我们需要 下载它的torrent文件,然后才能下载这部电影本身。但是,在新的模式下面,我们不需要下载torrent文件,我们只需要知道它的magnet URI,就可以了。只要把这个地址告诉下载软件,软件就会开始自动下载。这和emule下载非常相似,只需要一个资源定位信息,其他都不需要。
Inglourious.Basterds.DVDRip.XviD-iMBT.avi的magnet URI如下:
magnet: ?xt=urn:btih:60c423137f453492ca34c2d69f6f573408dca35a &dn=Inglourious.Basterds.DVDRip.XviD-iMBT.avi &tr=http%3A%2F%2Ftracker.publicbt.com%2Fannounce
分解一下这个网址:
magnet :协议名。
xt :exact topic的缩写,表示资源定位点。BTIH(BitTorrent Info Hash)表示哈希方法名,这里还可以使用SHA1和MD5。这个值是文件的标识符,是不可缺少的。
dn :display name的缩写,表示向用户显示的文件名。这一项是选填的。
tr :tracker的缩写,表示tracker服务器的地址。这一项也是选填的。
简单说,只要知道
magnet:?xt=urn:btih:60c423137f453492ca34c2d69f6f573408dca35a这个地址,不用下载torrent文件,也不用再了解其他信息,就能开始BT下载这个文件了。
编辑本段对于可能出现的问题
前面我们说过,“磁力链接”是通过DHT网络来索引需要下载的文件的,因此在某些环境下可能出现“获取磁力链接信息”时间较长,或者获取失败的问题。由于目前相关问题经验的积累很少,因此除了重试还没有明确的解决办法。
编辑本段BT的历史与“命门”
20世纪60年代,
美国国防部高级研究计划署(ARPA)提出要研制一种崭新的、能够适应现代战争的、生存性很强的网络,目的是对付来自前
苏联的核进攻威胁。翻看一下历史就能知道,苏联当时把全球第一颗人造卫星送上了太空,美国感觉到了压力,于是他们随后也搞出了另一个足以改变未来世界的东西——ARPANET,当今互联网的雏形。
ARPANET的宗旨之一是去中心化,原因很简单,存在中央节点无异于存在致命节点,单点失效,将导致整个网络功能失效。互联网上依靠中央节点才能正常工作的应用其实不在少数,比如我们再熟悉不过的BT。也许你会说:BT不是P2P下载吗?而P2P是没有中心节点的,我们所下载的文件实际上存放在每个网友的电脑中,像FTP这样的应用才是经典的中央节点应用——这话只说对了一半,BT是P2P应用没错,但如果说BT没有中心节点,不会出现“单点失效”,这种看法其实是错误的。仔细想一想,BT真的不需要中心节点吗?如果是,那为什么国内BT站点关闭后会给下载BT资源带来不便,甚至出现BT客户端无法工作的情况?答案只有一个,BT并非一个去中心化的应用。
那BT的“命门”在哪呢?也许你听说过BT Traker服务器。而这个BT Traker服务器也就是目前我朝有司大力打击BT下载站的重要和主要罪证之一,因为这个服务器的存在,且不管技术手段如何,从表面特征上看来,这些网站如同直接提供视频内容一样。正是因为这个服务器的存在,成了这些BT站点供认不讳的证据。滔天罪恶,证据确凿:“你们提供中心下载的服务器,上面全是未经许可的视频内容”。
编辑本段BT的发展与新纪元
海盗湾关闭跟踪服务器的消息BT Tracker服务器关闭将会产生怎样的后果?(海盗湾,英国电信江湖排名第一,Mininova排名第二)
海盗湾(The Pirate Bay),自称“世界上最大的电信分享网站“,是一个专门存储,分类及搜索电信资源的网站,同时它也运行着世界上最大的BTTracker服务器。2008年11月15日,海盗湾称其规模已经达到了2500万独立Peers,注意不是种子,Peer可以认为是参与海盗湾“分享计划”的实际用户(电脑)数量,截至2009年12月,海盗湾注册用户已经达到400万,尽管下载资源是不需要注册的。但它的名声似乎不是很好,洛杉矶时报(Los AngelesTimes)称其是世界上最大的非法下载辅助者(帮凶?)之一。海盗湾正式成立于2004年10月,除了拥有辉煌的“业绩”,同时也麻烦缠身。根据记录,控告海盗湾的案件有34起之多,其中涉及音乐行业的21起、电影行业9起、游戏行业4起。2009年成为斗争最激烈的一年,2009年4月17日,瑞典斯德哥尔摩的法院以侵犯版权罪判处海盗湾4名创始人各1年的监禁,并处以约3000万瑞典克朗的罚金。随后发生的事情更让人感觉BT的“大限”终于还是到了。11月17日,海盗湾决定永久关闭他们的Tracker服务器,12月初全球第二大BT服务网站Mininova删除了网站上大部分非法文件的BT Tracker。Mininova表示,为了避免支付罚款,除了删除所有侵权文件的BT Tracker之外,他们别无选择。有人比喻,一个时代结束了,MPAA(
美国电影协会)和RIAA(美国唱片行业协会)成了这场斗争的赢家。表面上看确实如此,在这场斗争中MPAA和RIAA最想“除掉”的就是BT Tracker服务器,而且他们做到了。
也许一个时代结束了,但BT时代真的结束了吗?答案是否定的。MPAA和RIAA“除掉”了BT Tracker服务器,卡死了当前BT工作方式的“命门”,但随着新技术的引入,BT Tracker对于BT分享已经变得不再重要,甚至有些多余,事物的发展结果有时就像是开了一个玩笑,而这次的玩笑就开在了MPAA和RIAA身上。为什么会这样?想搞明白这些,我们必须先梳理一下BT分享的实现方式。
用户是怎样通过BT下载文件的?基本过程应该是这样:一、找到Torrent文件,二、使用BT下载客户端软件打开这个文件。三、对于用户来讲,只要花时间去等就可以了。而对于客户端软件来讲,它会根据Torrent文件中的网址自动连接Tracker服务器,从它那里接收到其他正在下载该文件的人的网址名单。下一步,软件就一一与名单上的网址取得联系,从它们那里获取文件的片段,直到整个下载完成。从整个过程不难看出,BT Tracker服务器是一个中央节点,任何客户端都可以在其上找到“同伴”——只要其他人也在下载或分享同一个文件。所以MPAA和RIAA盯上了BT Tracker,因为消灭所有Torrent文件几乎是不可能的,但通过一些“努力”,消灭BT Tracker服务器则完全有可能实现。官司赢了,一个时代结束了,我们不妨称其为是BT1.0时代,BT1.0时代致命的缺点是因为其存在中央节点,也就是BTTracker服务器。然而,官司输了,并不代表整个BT时代的终结,一个新的时代已经悄然开始,我们可以称其为BT2.0时代。
在BT2.0时代,Magnet(意译:磁铁、吸铁石)成为未来BT的发展方向,Magnet真的可以挽救BT吗?经笔者亲身试用,在支持Magnet URI之后,海盗湾似乎获得了新生,下载速度并非越来越慢,相反,速度表现让人满意。最关键的是,Magnet不需要Tracker服务器,也不需要Torrent文件,仅需要一串字符就可以进行文件下载。海盗湾LOGO与未来BT的“图腾”,海盗湾上的BT资源已经加入了Magnet下载方式Worlds most resilient tracking——节选自海盗湾博客博文的题目是“世界上最稳定的tracking”,文中提到:“随着DHT+ PEX技术的不断成熟,发现对端(Peer)并协调通信已经变得容易实现,而Tracker服务器变得不再重要,甚至显得有些多余,所以我们将关闭服务器。”文中还说服务器现在被安置在了一家博物馆中。看来,关闭Tracker服务器是计划之内的事情。一切尽在掌握?Tracker服务器和“BT种子”即将双双退役,取而代之的是DHT+ PEX网络和Magnet Link,DHT网络是分布式存在的,所以不存在“被拔线”的问题,而Magnet Link仅是一串字符,所以也不再需要Torrent文件。
这里出现了三个关键词:DHT、PEX和Magnet Link,这三点是未来BT的核心,下面我们就来说一说它们都可以实现怎样的功能。
DHT:2002年,纽约大学的两个教授Petar Maymounkov和David Mazières发表了一篇论文,提出了一种真正去中心化的“点对点”下载模型,他们将其称为Kademlia方法。2005年,BT软件开始引入这种技术,在BT中被称为DHT协议(Distributed HashTable,分布式哈希表)。DHT是一种分布式存储方法。DHT的作用是找到那些与本机正在下载(上传)相同文件的对端主机(Peer),当然,实现这一过程并不依赖Tracker服务器。在DHT网络中的每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。这种信息获取方式保证了整个网络没有单个的中心,即使一个节点下线,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方。
PEX:是Peer Exchange的简写,我们可以将其理解为“节点信息交换”。虽然DHT解决了去中心化的问题,但要在没有“中心协调员”(Tracker)的情况下实现高效寻址,就要借助PEX。PEX所提供的功能有点类似于以前的Tracker服务器,但工作方式却非常不同,我们可以打个比方来说明。小赵在A班,她不认识B班的小何,也不认识C班的小温,但小赵认识同班的小王,而小王认识B班的小何,也可能还认识C班的小温,或者小王仅认识B班的小何,但小何认识C班的小温,而小温又认识同班的所有同学,结果就是小赵可以“无限”地延伸自己的关系网,不管怎样,总有一条沟通途径可以将这些同学联系在一起,待小赵“认识”了小温后,他们就可以直接沟通了,在P2P世界里,就是进行上传与下载。
Magnet links:有网友将其称为磁链。DHT+ PEX解决了BT“寻址”的问题,但是如何告诉BT客户端找(寻)什么又是另外一个问题。在Torrent文件中包含的内容就是用户真正要下载的文件的特征信息,或称为“电子指纹”,BT客户端知道了要找什么,也知道如何去找,于是P2P方式的下载、上传就实现了。以前BT客户端通过Torrent文件得知“要找什么”,现在,文件的“电子指纹”不再存放于Torrent中,而被放在了Magnetlinks中。 magnet:?xt=urn:btih:36684b463ca2aa2f9347b18e9f6b1a9090bdb073上面是笔者打算下载的一个文件,Microsoft iSCSI Initiator,按照以前的方式,我们需要下载它的Torrent文件,然后才能下载这个文件本身。但是,在新的模式下,我们不需要下载Torrent文件,只需知道它的Magnet URI,一个资源定位信息,其他都不需要。只要把这个地址告诉下载软件,软件就会开始自动下载。我们来分解一下这个地址:magnet:协议名。xt:exact topic的缩写,表示资源定位点。BTIH(BitTorrent Info Hash)表示哈希方法名,这里还可以使用SHA1和MD5。这个值是文件的
标识符,是不可缺少的。dn:display name的缩写,表示向用户显示的文件名。这是一个可选项。tr:tracker的缩写,表示tracker服务器的地址。这是一个可选项,本例中并未出现。精简一下上例,仅需要magnet:?xt=urn:btih:36684b463ca2aa2f9347b18e9f6b1a9090bdb073就够用了,如果附加dn(displayname),在使用上会更加方便一些。MagnetLink的好处就不用笔者多说了,至少包括两点:网络的可靠性得到了极大的增强;不存在“被拔线”的风险。由于不存在所谓的中央节点,审查将变得更加困难,“单点失效”的问题也就不存在了。此外,MagnetURI只是一个字符串,非常容易传播,根本无法禁止。因此,Magnet URI取代Tracker模式将是大势所趋,迟早会成为主流BT下载方式。
细心的网友可能看出了DHT+PEX+Magnet Link模式中的一个问题——BT客户端的“第一步是如何迈出的”,套用在介绍PEX时使用的例子,那就是小赵是怎么“加入”A班的呢?这确实是个问题。解决这个问题依然需要一台服务器(boots trap node),不过这台服务器所起的作用与Tracker不同,它仅负责接纳小赵进入A班,当小赵与A班中的同学“搭上了话”,之后这台服务器就没有什么用处了。boots trap node可以是不同BT客户端厂商独立运营的,也可以是几家联合共用,总之,它是分散的,只要在客户端软件中内置一张表单,那客户端就将有非常多的入口可供选择。 说了这么多,到底Magnet这块“吸铁石”表现如何?是骡子是马总要拉出来溜溜。于是笔者找来了目前已经支持Magnet的BT客户端
μTorrent。μTorrent 是众多BT客户端之一,在安装过程中我们可以看到,它已经支持Magnet URIs。μTorrent 下载BT资源,速度144.4KB/s 我们下载的资源来自海盗湾,所以对端资源都来自国外,如果有一天Magnet被彻底“本土化”,且用户量达到一定规模,其表现应该可以完全媲美传统的BT下载方式。看到这里相信您已经明白了,海盗湾为什么会乖乖地关掉他们的BT Tracker服务器,看来这次MPAA和RIAA与海盗湾斗法虽然胜了第一回合,但接下来要如何对付DHT+PEX+Magnet Link模式,这应该是个比较让人头疼的问题。 在《猫鼠游戏》这部电影中,警察与“盗版者”之间玩的是
游击战。海盗湾的BTTracker服务器也曾有过类似的经历——在几个国家间迁来迁去,在不同的IDC中东躲西藏,但版权组织始终对其“不离不弃”,并最终得手。事后我们在同一时间,很巧合地听到了三种声音,版权组织说,我们赢了;海盗湾说,我们不跟你玩了;广大围观群众说,BT还好好的啊,这些年那两个家伙到底在搞什么?放弃Tracker模式,改用Magnet,对于网友来讲几乎没有任何成本,仅需将当前BT软件升级即可,甚至连操作习惯都不会发生任何变化,因为你无需换用其它BT软件,在国内,
比特精灵、比特彗星都已经开始支持Magnet。所以,您可能已经进入了BT2.0时代,只是您自己还不知道。“我们并不提供实体下载资源,所有资源都是网友自发上传的……”相信您经常会听到类似的辩解,这句话看似有理,从技术角度讲也没有任何漏洞,但多少感觉属于狡辩。事物在不停发展,这就造成了监管上的缺失,待监管手段日趋完善时,事物可能又一次向前发展,导致监管手段再次落伍。新的BT分享方式将传统Tracker服务器所提供的功能进行了“分解”,所有BT用户成为Tracker服务器的一份子,核心消失了,在这种情况下,版权组织又该将反盗版的大棒挥向谁呢?