什么是磁力链接?磁力链接工作原理是什么?
磁力链接可以看成是BT下载的2.0版本,是一个去中心化服务器的分布式下载文件的方式!首先你要知道最早的BT下载首先网络中有BT种子,还要需要Tracker服务器的指引交互,才能进行P2P的下载。随着时代的发展,磁力链接的产生,一种不需要中心服务器和中介服务器(如Tracker服务器),使BT下载更加方便于快捷,只要知道磁力链接就可以从DHT网络中自动寻找多个下载源进行下载。
为了更好的让大家了解磁力链接,首先来回顾一下下载方式的3个阶段:
1、原始的下载(http下载和ftp下载)只能从一个服务器 上下载,耗时,且又极消耗目标服务器宽带资源和高并发性能弱和不稳定!
打个比喻 : 就像学生时代的抄作业,原始下载链接就好像直接告诉大家 你的家庭地址和作业名,谁要去抄你的作业,谁就要去你那儿抄写,几个人去一般还能承受,全校甚至全市、全国的同年级学生都到你那儿去抄作业,你家里就堵塞,甚至崩溃啦!
2、第一代BT下载的出现,就是在那个宽带比较匮乏(光纤还没普及)而且那是版权意识还很薄弱的时代,大量Tracker服务器的上线,是BT下载,P2P下载逐渐火热起来,用户下载文件的同时也作为种子给还没有下载的人进行下载,那是的口号的人人为我,我为人人!其工作思路就是,首先由电影制作者发布制作电影种子,一个torrent后缀的文件,大家应该都下载过的,这个torrent文件包含电影文件信息和Tracker服务器信息,由Tracker服务器指引用户去哪里下载,随着下载用户的不断增多,电影种子数量也变的多起来,下载速度也显著提升。只要BT网络中还有活跃的种子,下载就可以进行下去!
3、进入新世纪后,版权意识的崛起,随着大批BT下载平台的相继倒闭,大量Tracker服务器也相继下线!没有了大量Tracker服务器的指引,BT下载进入了冰河时期,速度明显下降。这时磁力链接应运而生,它不需要中心服务器和中介服务器,所有附近用户的路由器之间都会交互传递和存储最近活跃的种子信息,只要有了磁力链接就可以从DHT网络中迭代自动不停的寻找多个下载源进行下载。这就是磁力链接的工作原理!
那么磁力链接是什么呢?它是由什么构成的?又代表什么含义呢?
拿个简单常见的磁力链接来看 : magnet:?xt=urn:btih:4D9FA761D69964B00DF0B3B0C9C1F968EA6C47D0
magnet 是协议名
xt:exact topic的缩写,包含文件哈希值的统一资源名称。BTIH(BitTorrent Info Hash)表示哈希方法名,这里还可以使用ED2K,AICH,SHA1和MD5等。这个值是文件的标识符,是不可缺少的。
urn:(Uniform Resource Name, URN 表示资源名
btih:BitTorrent info hash,种子散列函数
dn:display name的缩写,表示向用户显示的文件名。这一项是选填的。
magnet:?xt=urn:btih:后面的一串字符串就像是人的DNA,是一个文件在网络中的唯一身份代码。
磁力链接完整版后面还可以带参数,比如:
tr:tracker的缩写,表示tracker服务器的地址。这一项也是选填的。
ws:webseed的缩写,表示网络种子。
下面列出一个完整版的磁力链接:
magnet:?xt=urn:btih:4D9FA761D69964B00DF0B3B0C9C1F968EA6C47D0&xt=urn:ed2k:7655dbacff9395e579c4c9cb49cbec0e&dn=bbb_sunflower_2160p_30fps_stereo_abl.mp4&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&ws=http%3a%2f%2fdistribution.bbb3d.renderfarming.net%2fvideo%2fmp4%2fbbb_sunflower_2160p_30fps_stereo_abl.mp4
应用程序定义的实验参数,必须以"x."开头。
标准还建议同类的多个参数可以在参数名称后面加上".1", ".2"等来使用,例如:
magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7
有了磁力链接,就可以通过BT下载软件bitcomet、bittorrent、utorrent、迅雷、网际快车、比特精灵下载,也可以通过具有离线功能的网盘云盘离线下载,比如百度网盘、迅雷云盘等