扫描二维码关注官方公众号
返回列表 发布新帖

[家庭影院/碟机] 扫盲贴,关于磁力下载(Magnet URI)不懂的雷友可以看看

5538 9
发表于 2010-5-6 13:53:23 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
b&t下载的未来
b&t下载模式已经在潜移默化中改变着,这跟网络版权问题有很大关系。那么b&t下载的未来是什么呢?b&t下载的未来Magnet URI!什么是Magnet URI?Magnet URI模式与以往的b&t下载有什么区别?请看本文详解。

     你是如何使用b&t下载

     首先,你从浏览器中找到你感兴趣的内容,下载相应的torrent文件。然后,你用一个b&t下载客户端软件,打开这个文件。这时,客户端软件就会根据torrent文件中的网址,自动连接Tracker服务器,从它那里接收到其他正在下载该文件的人的网址名单。下一步,软件就一一与名单上的网址取得联系,从他们那里获取文件的片段,直到整个下载完成。

     从这个过程中,我们可以看到,Tracker服务器是整个b&t下载的灵魂,文件可以不存在,但是Tracker服务器却不能不存在。要是连不上它,b&t下载根本没法启动,因为你无从知道,找谁索要文件。就是由于这个原因,Tracker服务器成为了版权组织打击的重点。他们的想法很明确,只要除掉了Tracker,b&t下载就完了。他们的理由是,虽然Tracker本身不传递内容,但是为传播盗版提供了便利,是犯罪的协助者。更何况,Tracker服务器的网址是公开的,很容易找到它的所有者,逃都逃不掉。

     在这种形势下,Tracker提供者的日子都很难过。海盗湾是世界排名第一的Tracker提供者,它已经在被追杀了。排名第二的 Demonoid从今年9月15日起,就一直处于维护状态,不知道何时重新开放。其他的Tracker提供者基本上也是在法律诉讼的阴影下度日。那些不提供Tracker服务,只提供torrent文件索引服务的网站,比如Mininova、Torrentz、isoHunt,日子稍微好过一点。但是明摆着,版权组织收拾完Tracker以后,就要收拾它们了。比如,今年8月,Mininova就在一场官司中败诉,荷兰法官判决,该网站必须移除所有侵权内容的torrent文件。

     既然,Tracker服务器在法律上很难立足,那么有没有办法,在不使用Tracker的情况下,依然使用b&t下载呢?

     2002年,纽约大学的两个教授Petar Maymounkov和David Mazières发表了一篇论文,提出了一种真正去中心化的“点对点”下载模型,他们把它叫做Kademlia方法。Emule率先在软件中支持这种方法,KAD网络就是这样来的。到了2005年,b&t软件也开始跟进了。目前,所有主流的b&t下载客户端软件都支持这种方法。在b&t下载中,这被叫做DHT 协议(Distributed hash table,分布式哈希表)。

     为什么有了DHT协议以后,就不再需要Tracker服务器了,真正实现了去中心化的点对点下载?

     根据我对这个协议有限的理解,它是这样做的:

     每一台加入b&t下载的计算机,都被称为一个节点(node),有一个自己的ID。这个ID是一个哈希函数值,通过对要分享的文件内容或它的元数据进行哈希运算而得到。这就是说,如果两台计算机正在下载同一个文件,那么它们的ID应该是彼此相似的。于是,每一台计算机就通过寻找与自己相似的 ID,来找到自己可以与之交换数据的其他节点。
     DHT协议的另一个巧妙之处在于,每一台计算机只保留自己附近的一部分节点信息。因此,为了得到更多的节点信息,就必须采用接龙方式,在一个个节点之间跳跃,逐步得到全网的节点分布图。这种信息获取方式,就保证了整个网络没有单个的中心,即使一个节点下线了,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方了。

     我对这个协议有一个细节还不是很清楚,我不知道,当b&t下载刚刚启动的时候,如何获得第一个外部节点的位置?需不需要有人告诉你,你首先应该去找谁?如果需要的话,那么这个协议或多或少还是有一个中央服务器的。但是,如果不需要的话,那就真的是纯粹的去中心化的分布式下载协议了。

     现在所有主流的b&t下载客户端,都支持DHT协议,也就是说,它们都能在没有Tracker的情况下完成下载。事实证明,它们不仅能完成,而且还能完成得很好!海盗湾和Demonoid的Tracker服务器都已经关掉了,但是如果你使用它们以前的torrent文件,依然能够完成下载。为什么?这就是DHT协议在发挥作用啊。所以,正是由于DHT可以取代Tracker,海盗湾才会宣布放弃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:YNCKHTQCWb&tRNJIV4WNAE52SJUQCZO5C

     其它的参数初步是这样定义的:

     “dn” (“显示名称”):显示此文件名

     “kt” (“关键词”):指定搜索方式而非特定文件

     “mt” (“其它文件列表”):用一个URI指向一个列表,如其它的一些项目

     特定程序的参数,必须以“x.”开头

     标准还建议2个同种类的参数最好在后面加上数字1、2等,如:

     magnet:?xt.1=urn:sha1:YNCKHTQCWb&tRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7

     Magnet URI这样做有什么好处?

     显而易见的好处是,整个下载网络的可靠性提高了,每一个节点都是可以被替代的。另一个好处是,审查变得更困难了,因为每次下载的路径都是不一样的,而且每个节点都是动态变化的,导致实际上无法追踪谁在下载。此外,magnet URI只是一个字符串,非常容易传播,根本无法禁止。

     因此,从这些方面考虑,magnet URI取代Tracker模式是大势所趋,迟早成为主流的b&t下载方式。

评论9

G大调的悲伤楼主Lv.8 发表于 2010-5-6 13:54:22 | 查看全部
b&t的日子最近实在比较难过,国内b&t的老大b&tchina倒下了,随后各大b&t发布站也相继将自己保护了起来,转型的转型,关门的关门,歇业的歇业,一片萧条。但是,哪里有压迫,哪里就有反抗!每一次技术的更新,都有河蟹的影子,于是磁力链接(Magnet URI)来了。。。

b&t的进化:

最早期的b&t就是一个种子(seed),它是由一个待发布文件外加一些tracker经过计算得到的一个文件,通过b&t的网络吸收营养,最后长成一棵大树。这个种子需要水壶(tracker服务器)不断的浇灌才能成长。

Tracker服务器是早期下载中必须的角色。它工作的过程是这样的:

Client向tracker发一个HTTP的GET请求,并把它自己的信息放在GET的参数中;这个请求的大致意思是:我是[已屏蔽](一个唯一的ID),我想下载yyy文件,我的IP是aaa,我用的端口是bbb。

tracker对所有Client的信息进行维护,当它收到一个请求后,首先把Client的信息记录下来(如果已经记录在案,那么就检查是否需要更新),然后将一部分参与下载同一个文件(一个Tracker服务器可能同时维护多个文件的下载)的另一个Client的信息返回给对方。

Client在收到Tracker的响应后,就能获取其它Client的信息,那么它就可以根据这些信息,与其它Client建立连接,从它们那里下载文件片断。

水壶不总是会工作,偶尔也罢工偷懒,偶尔也会被人惦记上,于是,为了摆脱对水壶的依赖,DHT(Distributed Hash Table,分布式哈希表)和PEX(Peer Exchange,节点信息交换)技术就出现了。

2005年,b&t软件开始引入这种技术,在b&t中被称为DHT协议。DHT是一种分布式存储方法。DHT的作用是找到那些与本机正在下载(上传)相同文件的对端主机(Peer),当然,实现这一过程并不依赖 Tracker服务器。在DHT网络中的每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。这种信息获取方 式保证了整个网络没有单个的中心,即使一个节点下线,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方。

虽然DHT解决了去中心化的问题,但要在没有“中心协调员”(Tracker)的情况下实现高效寻址,就要借助PEX。PEX所提供的功能有点类似于以前的Tracker服务器,但工作方式却非常不同。举个例子,我叫D,我有A需要的东西,但是A不认识我,A只认识B,B只认识C,我只认识C,这样A就可以通过B--C,从而找到我。隐约记得看过一篇文章写的,PEX使用的是hash逼近算法,由于本文仅作入门,不做深究,喜欢的自己研究吧,总之,现在Tracker服务器的功能已经可以被DHT+PEX所取代。

水壶退出了舞台,于是,种子又被人惦记上了。。。现在就轮到我们的主角,磁力链接(Magnet URI)出场了。如果说现实中,待发布的文件就是一个人,我们如何找到他?指纹,是的,每个人都有一个独一无二的指纹,指纹所蕴含的信息,足以找到这个人,而磁力链接(Magnet URI)就是描述这个指纹的一段信息,注意,是一段信息而已,仅仅存在于精神世界的信息。所以,没有人能消灭它!

于是我们看到了现在一个全新的b&t世界,DHT+PEX网络和 Magnet Link取代了种子和Tracker服务器,没有了中心协调员,连根源都没有了,它实现了真正的人人平等。最重要的是,河蟹的大棒也失去了目标。
回复 点赞

使用道具 举报

dj8899 发表于 2010-5-6 14:25:49 | 查看全部
学习了。在这里第一次知道Magnet Link。
回复 点赞

使用道具 举报

dreamlazuriteLv.8 发表于 2010-5-6 15:21:22 | 查看全部
Vuze用过这功能,迅雷没用过。只知道这种种子不需要tracker,所以封锁站点的方法就不奏效了,特别是TPB这种“众人“喊打的b&t站,TO b&t OR PT, THIS IS A QUESTION.Demonoid现在倒是恢复了,可惜曾经的Mininova啊,多么辉煌的时代也想b&tChina一样卷入历史的洪流一去不复返了。
向楼主学习了。
回复 点赞

使用道具 举报

qt15 发表于 2010-6-7 10:23:20 | 查看全部
嘿嘿,学习了。
回复 点赞

使用道具 举报

liuchang213 发表于 2010-6-8 19:08:43 | 查看全部
嗯,这个听说过了,我们现在真是望bt兴叹……河蟹……全面河蟹……
回复 点赞

使用道具 举报

tudanmengLv.4 发表于 2010-6-8 19:38:28 | 查看全部
学习了,学习了。。。
回复 点赞

使用道具 举报

ohyegaoqingLv.6 发表于 2010-6-9 15:55:30 | 查看全部
有压迫就有反抗。反抗吧。悲剧同学们
回复 点赞

使用道具 举报

rko 发表于 2010-7-20 08:08:32 | 查看全部
学习了{:3_216:}
回复 点赞

使用道具 举报

yaofei 发表于 2010-7-22 17:18:00 | 查看全部
多谢LZ分享!
回复 点赞

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表