磁力链接Magnet URI下载方法 与BitTorrent下载的关系

什么是磁力链接(Magnet URI)?

简单的说:类似下面这样以“magnet:?”开头的字符串,就是一条“磁力链接”

【magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIIV4WNAE52SJUQCZO5C】

magnet

确切的说:“磁力链接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。

这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称(例如:http://www.xxxxyyz.com/xyz.exe)。

这就类似生活中消费品包装上常见的条码。不同的是这个“数字指纹”可以被任何人从任何文件上生成,这也就注定了“磁力链接”不需要任何“中心机构”的支持(例如:BT Tracker服务器),且识别准确度极高。

因此任何人都可以生成一个Magnet链接并确保通过该链接下载的文件准确无误。

磁力链接(Magnet URI)扮演什么角色?

在传统的BT下载方式中让各个下载者之间相互联系,有2种途径:

1、通过连接BT种子中记录的BT Tracker服务器,获取下载者列表

2、利用BT种子中记录的“数字指纹”通过DHT网络进行搜索,获取下载者列表。

如果存活的BT Tracker服务器越来越少或者消失,通过第一种方法BT将无法下载。就是说BT种子文件需要服务器来保存。如果“BT Tracker服务器被干掉了,BT种子文件服务器也被干掉了。而“磁力链接”的主要作用就是把“数字指纹”告诉DHT网络,你需要寻找什么。

简单地说,DHT可以让你在连不上Tracker服务器时仍然可BT下载;在Tracker服务器可用时可找到更多的用户;让BT下载更难以封锁。

什么是DHT网络?

DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。新版BitComet允许同行连接DHT网络和Tracker,也就是说在完全不连上[Tracker服务器的情况下,也可以很好的下载,因为它可以在DHT网络中寻找下载同一文件的其他用户。BitComet的DHT网络协议和BitTorrent测试版的协议完全兼容,也就是说可以连入一个同DHT网络分享数据。

这种网络不需要中心节点服务器,而是每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。和中心节点服务器不同,DHT网络中的各节点并不需要维护整个网络的信息,而是只在节点中存储其临近的后继节点信息,大幅减少了带宽的占用和资源的消耗。DHT网络还在与关键字最接近的节点上复制备份冗余信息,避免了单一节点失效问题。

形象地,我们可以把整个DHT网络想象成一个大城市,那么每个客户端,就好比城市里各个角落的地图,上面绘制了附近区域的地形情况,把这些地图一汇总,城市的全貌就出来了。

而DHT 所采用的算法中最出名的是Kademlia,eMule很早就开始采用,Bitcomet、Azureu***itTorrent只是步其后尘,同样使用Kademlia算法的DHT。不过它们各自的实现协议不尽相同,因此不能相互兼容(BitComet与BitTorrent兼容, Azureus更像eMule,但与其它都不兼容)

详细请参看百度百科 http://baike.baidu.com/view/757010.htm

如何使用迅雷下载“磁力链接”?(迅雷5.9.17及后续版本支持)

1、你可以像下载普通任务一样,左键点击网页上“磁力链接”的下载按钮,或右键点击下载按钮,选择“使用迅雷下载”然后迅雷就会启动并建立任务。

2、如果你在网页上看到一段明文显示“磁力链接”

2.1、如果你的迅雷开着,只要复制该链接,迅雷会弹出“正在获取磁力链接信息”的提示,稍等一会,就会弹出新建面板。

2.2、如果你的迅雷没有开启,只能打开迅雷,点击新建按钮旁的“箭头”,选择“磁力链接任务”把复制的“磁力链接”填入弹出的输入框内,点击“立即下载”即可。

“磁力链接”是通过DHT网络来索引需要下载的文件的,因此在某些环境下可能出现“获取磁力链接信息”时间较长,或者获取失败的问题。由于目前相关问题经验的积累很少,因此除了重试还没有明确的解决办法。

留下评论

电子邮件地址不会被公开。 必填项已用*标注