BT中的磁力链接(转)
2020双十一晚会BT中的磁⼒链接(转)
接收频道信息失败
注意:磁⼒链接不是迅雷的,⽽是BT⽹络中的⼀种协议。
磁⼒链接与种⼦⽂件
磁⼒链接并不是⼀个新概念,早在2002年,相关的标准草稿就已经制定了。但直到2012年海盗湾为规避版权问题删除了站点上的所有Torrent⽂件停⽌了下载服务,并将之前所有的种⼦转换为磁⼒链接之后,磁⼒链接技术才真正的飞速发展起来。说起磁⼒链接,不能不提BT;⽽说起BT,则不能不提P2P。在很早的⽹络时代,下载都是简单的集中式客户端/服务器模式,⼀个或多个服务器⽀撑成千上万的客户端连接下载,不仅带宽遇到了瓶颈,⽽且太容易出现单点故障。这时P2P被提出来解决这个问题,P2P也不是⼀经提出就完美⽆缺的,在经过了Napster到Gnutella到BitTorrent三代的P2P技术的发展才渐进成熟。(这⾥有对)上对BT做了详细的说明:
空间歌曲链接根据BitTorrent协议,⽂件发布者会根据要发布的⽂件⽣成提供⼀个.torrent⽂件,即种⼦⽂件,也简称为“种⼦”。种⼦⽂件本质上是⽂本⽂件,包含Tracker信息和⽂件信息两部分。Tracker信息主要是BT下载中需要⽤到的Tracker服务器的地址和针对
Tracker服务器的设置,⽂件信息是根据对⽬标⽂件的计算⽣成的,计算结果根据BitTorrent协议内的Ben
code规则进⾏编码。它的主要原理是需要把提供下载的⽂件虚拟分成⼤⼩相等的块,块⼤⼩必须为2k的整数次⽅(由于是虚拟分块,硬盘上并不产⽣各个块⽂件),并把每个块的索引信息和Hash验证码写⼊种⼦⽂件中;所以,种⼦⽂件就是被下载⽂件的“索引”。下载者要下载⽂件内容,需要先得到相应的种⼦⽂件,然后使⽤BT客户端软件进⾏下载。下载时,BT客户端⾸先解析种⼦⽂件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据种⼦⽂件,两者分别告知对⽅⾃⼰已经有的块,然后交换对⽅所没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。下载者每得到⼀个块,需要算出下载块的Hash验证码与种⼦⽂件中的对
⽐,如果⼀样则说明块正确,不⼀样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。⼀般的HTTP/FTP下载,发布⽂件仅在某个或某⼏个服务器,下载的⼈太多,服务器的带宽很易不胜负荷,变得很慢。⽽BitTorrent协议下载的特点是,下载的⼈越多,提供的带宽也越多,下载速度就越快。同时,拥有完整⽂件的⽤户也会越来越多,使⽂件的“寿命”不断延
长。
综上所述,可以看出Tracker服务器在BT⽹络中充当着⾮常重要的作⽤,和传统的客户端/服务器模式⼀样,Tracker服务器同样会存在单点故障问题。所以在BT技术的基础上,后来⼜衍⽣出DHT⽹络和
手工纸抽盒磁⼒链接技术,DHT全称为分布式哈希表(Distributed Hash Table),是⼀种分布式存储⽅法。DHT⽹络是Tracker-less的,不依赖于其他的Tracker服务器。在这种情况下,每个客户端负责⼀个⼩范围的路由,并负责存储⼀⼩部分数据,从⽽实现整个DHT⽹络的寻址和存储。使⽤⽀持该技术的BT下载软件,⽤户⽆需连上Tracker就可以下载,因为软件会在DHT⽹络中寻下载同⼀⽂件的其他⽤户并与之通讯,开始下载任务。在⽹络中定位资源最简单的⽅法是URL(统⼀资源定位符),它是通过资源的位置来进⾏定位。⽽在DHT⽹络中,则是使⽤URN(统⼀资源名称)来进⾏定位,磁⼒链接就是基于⽂件内容的散列函数值来链接到特定⽂件,⽣成⼀个唯⼀的⽂件识别符,从⽽在DHT⽹络中定位并下载⽂件。⼀个最简单的磁⼒链接格式如下:
武汉天兴洲大桥magnet:?xt=urn:btih:51df6808c739174c8f264701ba94460c5238d6ce
其中urn为统⼀资源名称,btih是BitTorrent Info Hash的缩写,是BitTorrent使⽤的Hash函数。除了btih还可以是其他类型的Hash函数,但不
如btih⽤的多。这⼀串长度为40的字符串正是⽂件内容的Hash,BT下载⼯具就根据这个Hash在DHT⽹络中定位下载⽂件。
BT种⼦转磁⼒链接
上⾯讲了这么多,⼤家会发现磁⼒链接的下载原理其实就是先根据磁⼒链接获取种⼦⽂件,然后再根据种⼦⽂件进⼀步下载。这是因为种⼦⽂件才有分⽚信息,⽂件⼤⼩,⽂件名等必要的信息,所以种⼦是必不可少的。那么既然有了种⼦⽂件,我们为什么还需要磁⼒链接呢?这是因为现在对BT的封锁太严重,传播种⼦并不是那么简单的事了,动不动就被和谐了,所以磁链的作⽤就是便于传输,因为磁链就是⼀个⼩⼩的⽂本,⽽种⼦确是⼀个⽂件。所以总结⼀下他们的优缺点:
A. 种⼦:稳定性⾼,信息多,不便于传播扩散
B. 磁⼒链接:仍需要先获得种⼦,不稳定,可能在某时刻不能获取,但是很便于扩散。
总结
综上,其BT发展历史应该是这样的:Tracker->DHT;⽽种⼦⽂件->磁⼒链接;同样,磁⼒链接也可以转换成种⼦⽂件,种⼦⽂件同样也可以通过DHT⽹络进⾏查⽂件,DHT和Tracker是可以同时并存的。
孝道名言
参考:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。