打印

[教程] 关于磁链的应用教程和技术介绍

0

关于磁链的应用教程和技术介绍

开始前请先查看下载客户端是否支持磁链,若否的话请先升级软件版本..
下面我们以BitTorrent和uTorrent为例,简单谈谈如何使用磁力链接,其他BT客户端也可以参考使用:

BitTorrent

首先确保您的下载客户端已经打开了DHT网络。选项中选中“启用DHT网络”和“新建Torrent时启用DHT” 。



关联磁力链接。


找到磁力链接的下载位置,点击即可。


或者复制链接地址添加到bt客户端里。



uTorrent


点击文件选项卡,选择从链接添加Torrent选项。



之后就来看看添加完Magnet连接之后的运作情况任务列表中出现了新添加的任务。


并没有track服务器。


但是用户正在不断增加。


最后文件生成完毕,开始下载,并且任务标题也更正了。


最后要提醒一下的是使用这种方法添加的任务不会出现对话框,所以会直接下载到默认路径,请下载前自行在设置中修改。


制作MAGNET URI链接文件也非常简单,以uTorrent为例,按照以往的方式制作完种子之后,添加到UT的任务中,然后右击这个任务,点击复制Magnet连接:

之后剪贴板中就有这个任务的Magnet连接了。黏贴到需要的地方就可以了!


至于tracker服务器,当然填了也无所谓,对于磁链来说相当于多了一个DHT网络节点,以下提供一些可以使用的tracker,对于现阶段解决链接种子慢的问题会有所帮助。
需要注意的是!
请确认你能正常连接上DHT网络,磁力链接是完全基于DHT的,无法连接DHT就无法获取文件与下载信息。
如果DHT无法正常工作,请向你的网络管理员确认你所在的网络有打开UPNP或者有正确的端口映射。如果是家庭用的ADSL路由器拨号上网,请登录路由器管理页面打开UPNP。

事实上,DHT没有完全工作也是可以下载的,但是你只能获得用户信息回馈的客户端,也就是说只能依靠你已经连接上的客户端告诉你其他的客户端,而无法从自己客户端主动连接上其他客户端。
另外要强调一点的是,磁力链接(Magnet链接)点击后,会自动的添加任务,如果您只是想下载一部分的档而不是所有的文件需要在任务添加后选中该任务,在文件页面中选择您需要的档。
使用磁力链接(Magnet链接)下载的时候刚开始可能会没有速度,请您稍安勿躁,待程序在DHT网络中寻找到用户后,任务就会迅速的开始下载了。


[ 本帖最后由 shijijunnan 于 2010-5-5 19:06 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

0

关于磁链技术的介绍

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

      PEX:是Peer Exchange的简写,我们可以将其理解为“节点信息交换”。虽然DHT解决了去中心化的问题,但要在没有“中心协调员”(Tracker)的情况下实现高效寻址,就要借助PEX。PEX所提供的功能有点类似于以前的Tracker服务器,但工作方式却非常不同。

      Magnet links:有网友将其称为磁链。DHT+PEX解决了BT“寻址”的问题,但是如何告诉BT客户端找(寻)什么又是另外一个问题。在.torrent文件中包含的内容就是用户真正要下载的文件的特征信息,或称为“电子指纹”,BT客户端知道了要找什么,也知道如何去找,于是P2P方式的下载、上传就实现了。以前BT客户端通过.torrent文件得知“要找什么”,现在,文件的“电子指纹”不再存放于.torrent中,而被放在了Magnet links中。


你是如何使用BT下载?

      传统的BT下载过程是这样的,用户通过网络下载到相应资源的Torrent种子文件,使用BT下载客户端软件打开这个文件。BT下载客户端软件就会根据 Torrent文件中的网址,自动连接BT Tracker服务器,从BT Tracker服务器接收到其他正在下载该文件的用户网址节点列表。然后BT下载客户端软件会与其他网址节点建立连接,从而获取所需文件资源的片段,直到整个下载完成。

      从整个下载过程可以看到,在传统的BT下载中,BT Tracker服务器是BT下载必不可少的中心灵魂。两个BT用户之间建立初始连接时,是靠BT Tracker服务器上面的Tracker URL(网络资源路径)进行的。BT Tracker服务器决定了BT下载者能够和别的其他BT源建立联系,并从这些BT源进行下载。BTTracker 服务器就像一个中央节点,它为BT下载的用户彼此间建立连接,如果少了BT Tracker服务器,无法建立下载连接,因此BT下载根本无法启动。


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

  每一台加入BT下载的计算机,都被称为一个节点(node),有一个自己的ID。这个ID是一个哈希函数值,通过对要分享的文件内容或它的 元数据进行哈希运算而得到。这就是说,如果两台计算机正在下载同一个文件,那么它们的ID应该是彼此相似的。于是,每一台计算机就通过寻找与自己相似的 ID,来找到自己可以与之交换数据的其他节点。
  DHT协议的另一个巧妙之处在于,每一台计算机只保留自己附近的一部分节点信息。因此,为了得到更多的节点信息,就必须采用接龙方式,在一 个个节点之间跳跃,逐步得到全网的节点分布图。这种信息获取方式,就保证了整个网络没有单个的中心,即使一个节点下线了,依然可以通过其他节点来获取文 件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方了。
  我对这个协议有一个细节还不是很清楚,我不知道,当BT下载刚刚启动的时候,如何获得第一个外部节点的位置?需不需要有人告诉你,你首先应该去找谁?如果需要的话,那么这个协议或多或少还是有一个中央服务器的。但是,如果不需要的话,那就真的是纯粹的去中心化的分布式下载协议了。


什么是Magnet URI?

  MagNet协议,也就是哈希分布。现在的BT下载服务是需要一个tracker服务器来储存BT种子文件,但是MagNet URI协议是不需要tracker服务器的,原理类似于电驴,但不完全是电驴的翻版。MagNet每次连接的源头都是不固定的,也就没法查封源头。在BT 被封锁以后MagNet将是主流下载方式。
  它会根据文件内容的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
  在网页中,“磁力链接”的下载按钮,通常具有类似下面这样的图标
  
    “磁力链接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。
  这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称
  这就类似生活中消费品包装上常见的条码。不同的是这个“数字指纹”可以被任何人从任何文件上生成,这也就注定了“磁力链接”不需要任何“中心机构”的支持(例如:BT Tracker服务器),且识别准确度极高。
  因此任何人都可以生成一个Magnet链接并确保通过该链接下载的文件准确无误。


Magnet URI的优点?

  显而易见的好处是,整个下载网络的可靠性提高了,每一个节点都是可以被替代的。另一个好处是,审查变得更困难了,因为每次下载的路径都是不一样的,而且每个节点都是动态变化的,导致实际上无法追踪谁在下载。此外,magnet URI只是一个字符串,非常容易传播,根本无法禁止。因此,从这些方面考虑,magnet URI取代Tracker模式是大势所趋,迟早成为主流的BT下载方式。

TOP

当前时区 GMT+8, 现在时间是 2024-4-28 05:18