磁力連結(磁力鏈)

磁力連結

磁力鏈一般指本詞條

磁力連結,簡單的說(Magnet URI scheme):類似下面這樣以“magnet:?xt=urn:btih:”開頭的字元串,就是一條磁力連結;確切的說:“磁力連結”的主要作用是識別【能夠通過“點對點技術(即:P2P)”下載的檔案】。這種連結是通過不同檔案內容的Hash結果生成一個純文本的“數字指紋”,來識別檔案的。而不是基於檔案的位置或者名稱。

基本介紹

  • 中文名:磁力連結
  • 外文名:Magnet URI scheme
  • 用途:識別檔案
  • 所屬領域:計算機 網際網路
  • 基礎:不同檔案內容的Hash結果
特點,角色,下載,問題,BT歷史,BT發展,

特點

眾所周知,BT下載速度不夠穩定,當中斷時則無法完整下載。但是,這還不是最嚴重的。
從2009年開始,BT下載遭遇到了“更大的困難”——很多的BT伺服器被關,不僅很多種子檔案無法找到,BT Tracker伺服器也斷開解析工作,這就使得BT下載成為很大的難題。
磁力連結很好地解決了這個問題。磁力連結的問世與大行其道,標誌著BT 1.0時代已經過去,BT 2.0 時代已經到來。
深刻理解磁力連結
簡單地說,磁力連結是一種特殊連結,但是它與傳統基於檔案的位置或名稱的普通連結(如http://xxx)不一樣,它只是通過不同檔案內容的Hash結果生成一個純文本的“數字指紋”,並用它來識別檔案。
它類似於生活消費品包裝上常見的條碼,不同的是這個“數字指紋”可以被任何人從任何檔案上生成,這也就注定了磁力連結不需要任何“中心機構”的支持(例如:BT Tracker伺服器),且識別準確度極高。
因此任何人都可以生成一個Magnet 連結並確保通過該連結下載的檔案準確無誤。
更簡單地說:類似【magnet:?xt=urn:btih:88594AAACBDE40EF3E2510C47374EC0AA396C08E&dn=bbb_sunflower_1080p_30fps_normal.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_1080p_30fps_normal.mp4】這樣以“magnet:?”開頭的字元串,就是一條磁力連結,其在網頁上的圖示通常如圖1所示,像一塊磁鐵,很容易辨別。

角色

在傳統的BT下載方式中讓各個下載者之間相互聯繫,有2種途徑:
1、通過連線BT種子中記錄的BT Tracker伺服器,獲取下載者列表
2、利用BT種子中記錄的“數字指紋”通過DHT網路進行搜尋,獲取下載者列表
(不過現實是,存活的BT Tracker伺服器越來越少。而BT種子檔案也需要伺服器保存。)
我們假設“BT Tracker伺服器連線不上了,BT種子檔案伺服器也被幹掉了。。”
那么顯而易見的是第1種途徑完全走不通,第2種途徑只能幫你“尋找”,卻沒辦法知道你在尋找什麼。
“磁力連結”的主要作用就是把“數字指紋”告訴DHT網路,你需要尋找什麼。

下載

下載舉例
舉例來說,開源的動畫短片大雄兔的視頻檔案是bbb_sunflower_2160p_30fps_stereo_abl.mp4,按照以前的方式,我們需要 下載它的torrent檔案,然後才能下載這部電影本身。但是,在新的模式下面,我們不需要下載torrent檔案,我們只需要知道它的magnet URI,就可以了。
只要把這個地址告訴下載軟體,軟體就會開始自動下載。這和emule下載非常相似,只需要一個資源定位信息,其他都不需要。
bbb_sunflower_2160p_30fps_stereo_abl.mp4的magnet URI如下:
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
分解一下這個網址:
magnet :協定名。
xt :exact topic的縮寫,包含檔案哈希值的統一資源名稱。BTIH(BitTorrent Info Hash)表示哈希方法名,這裡還可以使用ED2K,AICH,SHA1和MD5等。這個值是檔案的標識符,是不可缺少的。
dn :display name的縮寫,表示向用戶顯示的檔案名稱。這一項是選填的。
tr :tracker的縮寫,表示tracker伺服器的地址。這一項也是選填的。
ws : webseed的縮寫,表示網路種子。
urn:(Uniform Resource Name, URN 表示資源名
btih:BitTorrent info hash,種子散列函式
簡單說,只要知道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這個地址,不用下載torrent檔案,也不用再了解其他信息,就能開始BT下載這個檔案了。

問題

前面我們說過,“磁力連結”是通過DHT網路來索引需要下載的檔案的,因此在某些環境下可能出現“獲取磁力連結信息”時間較長,或者獲取失敗的問題。由於相關問題經驗的積累很少,因此除了重試還沒有明確的解決辦法。

BT歷史

20世紀60年代,美國國防部高級研究計畫署(DARPA)提出要研製一種嶄新的、能夠適應現代戰爭的、生存性很強的網路,目的是對付來自前蘇聯的核進攻威脅。翻看一下歷史就能知道,蘇聯當時把全球第一顆人造衛星送上了太空,美國感覺到了壓力,於是他們隨後也搞出了另一個足以改變未來世界的東西——ARPANET,當今網際網路的雛形。
ARPANET的宗旨之一是去中心化,原因很簡單,存在中央節點無異於存在致命節點,單點失效,將導致整個網路功能失效。
網際網路上依靠中央節點才能正常工作的套用其實不在少數,比如我們再熟悉不過的BT。也許你會說:BT不是P2P下載嗎?而P2P是沒有中心節點的,我們所下載的檔案實際上存放在每個網友的電腦中,像FTP這樣的套用才是經典的中央節點套用——這話只說對了一半,BT是P2P套用沒錯,但如果說BT沒有中心節點,不會出現“單點失效”,這種看法其實是錯誤的。
仔細想一想,BT真的不需要中心節點嗎?如果是,那為什麼國內BT站點關閉後會給下載BT資源帶來不便,甚至出現BT客戶端無法工作的情況?答案只有一個,BT並非一個去中心化的套用。
那BT的“命門”在哪呢?也許你聽說過BT Tracker伺服器。而這個BT Tracker伺服器也就是我國大力打擊BT下載站的重要和主要罪證之一,因為這個伺服器的存在,且不管技術手段如何,從表面特徵上看來,這些網站如同直接提供視頻內容一樣。正是因為這個伺服器的存在,成了這些BT站點供認不諱的證據。滔天罪惡,證據確鑿:“你們提供中心下載的伺服器,上面全是未經許可的視頻內容”。

BT發展

海盜灣關閉跟蹤伺服器的訊息BT Tracker伺服器關閉將會產生怎樣的後果?(海盜灣,英國電信江湖排名第一,Mininova排名第二)
海盜灣(The Pirate Bay),自稱“世界上最大的電信分享網站“,是一個專門存儲,分類及搜尋電信資源的網站,同時它也運行著世界上最大的BTTracker伺服器。2008年11月15日,海盜灣稱其規模已經達到了2500萬獨立Peers,注意不是種子,Peer可以認為是參與海盜灣“分享計畫”的實際用戶(電腦)數量,截至2009年12月,海盜灣註冊用戶已經達到400萬,儘管下載資源是不需要註冊的。但它的名聲似乎不是很好,洛杉磯時報(Los AngelesTimes)稱其是世界上最大的非法下載輔助者(幫凶?)之一。海盜灣正式成立於2004年10月,除了擁有輝煌的“業績”,同時也麻煩纏身。根據記錄,控告海盜灣的案件有34起之多,其中涉及音樂行業的21起、電影行業9起、遊戲行業4起。2009年成為鬥爭最激烈的一年,2009年4月17日,瑞典斯德哥爾摩的法院以侵犯著作權罪判處海盜灣4名創始人各1年的監禁,並處以約3000萬瑞典克朗的罰金。隨後發生的事情更讓人感覺BT的“大限”終於還是到了。11月17日,海盜灣決定永久關閉他們的Tracker伺服器,12月初全球第二大BT服務網站Mininova刪除了網站上大部分非法檔案的BT Tracker。Mininova表示,為了避免支付罰款,除了刪除所有侵權檔案的BT Tracker之外,他們別無選擇。有人比喻,一個時代結束了,MPAA(美國電影協會)和RIAA(美國唱片行業協會)成了這場鬥爭的贏家。表面上看確實如此,在這場鬥爭中MPAA和RIAA最想“除掉”的就是BT Tracker伺服器,而且他們做到了。
也許一個時代結束了,但BT時代真的結束了嗎?答案是否定的。MPAA和RIAA“除掉”了BT Tracker伺服器,卡死了當前BT工作方式的“命門”,但隨著新技術的引入,BT Tracker對於BT分享已經變得不再重要,甚至有些多餘,事物的發展結果有時就像是開了一個玩笑,而這次的玩笑就開在了MPAA和RIAA身上。為什麼會這樣?想搞明白這些,我們必須先梳理一下BT分享的實現方式。
用戶是怎樣通過BT下載檔案的?基本過程應該是這樣:一、找到Torrent檔案,二、使用BT下載客戶端軟體打開這個檔案。三、對於用戶來講,只要花時間去等就可以了。而對於客戶端軟體來講,它會根據Torrent檔案中的網址自動連線Tracker伺服器,從它那裡接收到其他正在下載該檔案的人的網址名單。下一步,軟體就一一與名單上的網址取得聯繫,從它們那裡獲取檔案的片段,直到整個下載完成。從整個過程不難看出,BT Tracker伺服器是一個中央節點,任何客戶端都可以在其上找到“同伴”——只要其他人也在下載或分享同一個檔案。所以MPAA和RIAA盯上了BT Tracker,因為消滅所有Torrent檔案幾乎是不可能的,但通過一些“努力”,消滅BT Tracker伺服器則完全有可能實現。官司贏了,一個時代結束了,我們不妨稱其為是BT1.0時代,BT1.0時代致命的缺點是因為其存在中央節點,也就是BTTracker伺服器。然而,官司輸了,並不代表整個BT時代的終結,一個新的時代已經悄然開始,我們可以稱其為BT2.0時代。
在BT2.0時代,Magnet(意譯:磁鐵、吸鐵石)成為未來BT的發展方向,Magnet真的可以挽救BT嗎?經筆者親身試用,在支持Magnet URI之後,海盜灣似乎獲得了新生,下載速度並非越來越慢,相反,速度表現讓人滿意。最關鍵的是,Magnet不需要Tracker伺服器,也不需要Torrent檔案,僅需要一串字元就可以進行檔案下載。海盜灣LOGO與未來BT的“圖騰”,海盜灣上的BT資源已經加入了Magnet下載方式Worlds most resilient tracking——節選自海盜灣部落格博文的題目是“世界上最穩定的tracking”,文中提到:“隨著DHT+ PEX技術的不斷成熟,發現對端(Peer)並協調通信已經變得容易實現,而Tracker伺服器變得不再重要,甚至顯得有些多餘,所以我們將關閉伺服器。”文中還說伺服器被安置在了一家博物館中。看來,關閉Tracker伺服器是計畫之內的事情。一切盡在掌握?Tracker伺服器和“BT種子”即將雙雙退役,取而代之的是DHT+ PEX網路和Magnet Link,DHT網路是分散式存在的,所以不存在“被拔線”的問題,而Magnet Link僅是一串字元,所以也不再需要Torrent檔案。
這裡出現了三個關鍵字:DHT、PEX和Magnet Link,這三點是未來BT的核心,下面我們就來說一說它們都可以實現怎樣的功能。
DHT:2002年,紐約大學的兩個教授Petar Maymounkov和David Mazières發表了一篇論文,提出了一種真正去中心化的“點對點”下載模型,他們將其稱為Kademlia方法。2005年,BT軟體開始引入這種技術,在BT中被稱為DHT協定(Distributed HashTable,分散式哈希表)。DHT是一種分散式存儲方法。DHT的作用是找到那些與本機正在下載(上傳)相同檔案的對端主機(Peer),當然,實現這一過程並不依賴Tracker伺服器。在DHT網路中的每個客戶端負責一個小範圍的路由,並負責存儲一小部分數據,從而實現整個DHT網路的定址和存儲。這種信息獲取方式保證了整個網路沒有單個的中心,即使一個節點下線,依然可以通過其他節點來獲取檔案,因此也就不需要Tracker伺服器來告訴你,其他節點在什麼地方。
PEX:是Peer Exchange的簡寫,我們可以將其理解為“節點信息交換”。雖然DHT解決了去中心化的問題,但要在沒有“中心協調員”(Tracker)的情況下實現高效定址,就要藉助PEX。PEX所提供的功能有點類似於以前的Tracker伺服器,但工作方式卻非常不同,我們可以打個比方來說明。小趙在A班,她不認識B班的小何,也不認識C班的小溫,但小趙認識同班的小王,而小王認識B班的小何,也可能還認識C班的小溫,或者小王僅認識B班的小何,但小何認識C班的小溫,而小溫又認識同班的所有同學,結果就是小趙可以“無限”地延伸自己的關係網,不管怎樣,總有一條溝通途徑可以將這些同學聯繫在一起,待小趙“認識”了小溫後,他們就可以直接溝通了,在P2P世界裡,就是進行上傳與下載。
Magnet links:有網友將其稱為磁鏈。DHT+ PEX解決了BT“定址”的問題,但是如何告訴BT客戶端找(尋)什麼又是另外一個問題。在Torrent檔案中包含的內容就是用戶真正要下載的檔案的特徵信息,或稱為“電子指紋”,BT客戶端知道了要找什麼,也知道如何去找,於是P2P方式的下載、上傳就實現了。以前BT客戶端通過Torrent檔案得知“要找什麼”,檔案的“電子指紋”不再存放於Torrent中,而被放在了Magnetlinks中。 magnet:?xt=urn:btih:CBCDEFGHIJKLMNOPQRSTUVWXYZ12345678上面是筆者打算下載的一個檔案,Microsoft iSCSI Initiator,按照以前的方式,我們需要下載它的Torrent檔案,然後才能下載這個檔案本身。但是,在新的模式下,我們不需要下載Torrent檔案,只需知道它的Magnet URI,一個資源定位信息,其他都不需要。只要把這個地址告訴下載軟體,軟體就會開始自動下載。我們來分解一下這個地址:magnet:協定名。xt:exact topic的縮寫,表示資源定位點。BTIH(BitTorrent Info Hash)表示哈希方法名,這裡還可以使用SHA1和MD5。這個值是檔案的標識符,是不可缺少的。dn:display name的縮寫,表示向用戶顯示的檔案名稱。這是一個可選項。tr:tracker的縮寫,表示tracker伺服器的地址。這是一個可選項,本例中並未出現。精簡一下上例,僅需要magnet:?xt=urn:btih:DBCDEFGHIJKLMNOPQRSTUVWXYZ12345678就夠用了,如果附加dn(displayname),在使用上會更加方便一些。MagnetLink的好處就不用筆者多說了,至少包括兩點:網路的可靠性得到了極大的增強;不存在“被拔線”的風險。由於不存在所謂的中央節點,審查將變得更加困難,“單點失效”的問題也就不存在了。此外,MagnetURI只是一個字元串,非常容易傳播,根本無法禁止。因此,Magnet URI取代Tracker模式將是大勢所趨,遲早會成為主流BT下載方式。
細心的網友可能看出了DHT+PEX+Magnet Link模式中的一個問題——BT客戶端的“第一步是如何邁出的”,套用在介紹PEX時使用的例子,那就是小趙是怎么“加入”A班的呢?這確實是個問題。解決這個問題依然需要一台伺服器(boots trap node),不過這台伺服器所起的作用與Tracker不同,它僅負責接納小趙進入A班,當小趙與A班中的同學“搭上了話”,之後這台伺服器就沒有什麼用處了。boots trap node可以是不同BT客戶端廠商獨立運營的,也可以是幾家聯合共用,總之,它是分散的,只要在客戶端軟體中內置一張表單,那客戶端就將有非常多的入口可供選擇。 說了這么多,到底Magnet這塊“吸鐵石”表現如何?是騾子是馬總要拉出來溜溜。於是筆者找來了已經支持Magnet的BT客戶端μTorrent。μTorrent 是眾多BT客戶端之一,在安裝過程中我們可以看到,它已經支持Magnet URIs。μTorrent 下載BT資源,速度144.4KB/s 我們下載的資源來自海盜灣,所以對端資源都來自國外,如果有一天Magnet被徹底“本土化”,且用戶量達到一定規模,其表現應該可以完全媲美傳統的BT下載方式。看到這裡相信您已經明白了,海盜灣為什麼會乖乖地關掉他們的BT Tracker伺服器,看來這次MPAA和RIAA與海盜灣鬥法雖然勝了第一回合,但接下來要如何對付DHT+PEX+Magnet Link模式,這應該是個比較讓人頭疼的問題。 在《貓鼠遊戲》這部電影中,警察與“盜版者”之間玩的是游擊戰。海盜灣的BTTracker伺服器也曾有過類似的經歷——在幾個國家間遷來遷去,在不同的IDC中東躲西藏,但著作權組織始終對其“不離不棄”,並最終得手。事後我們在同一時間,很巧合地聽到了三種聲音,著作權組織說,我們贏了;海盜灣說,我們不跟你玩了;廣大圍觀民眾說,BT還好好的啊,這些年那兩個傢伙到底在搞什麼?放棄Tracker模式,改用Magnet,對於網友來講幾乎沒有任何成本,僅需將當前BT軟體升級即可,甚至連操作習慣都不會發生任何變化,因為你無需換用其它BT軟體,在國內,比特精靈、比特彗星都已經開始支持Magnet。所以,您可能已經進入了BT2.0時代,只是您自己還不知道。“我們並不提供實體下載資源,所有資源都是網友自發上傳的……”相信您經常會聽到類似的辯解,這句話看似有理,從技術角度講也沒有任何漏洞,但多少感覺屬於狡辯。事物在不停發展,這就造成了監管上的缺失,待監管手段日趨完善時,事物可能又一次向前發展,導致監管手段再次落伍。新的BT分享方式將傳統Tracker伺服器所提供的功能進行了“分解”,所有BT用戶成為Tracker伺服器的一份子,核心消失了,在這種情況下,著作權組織又該將反盜版的大棒揮向誰呢?

熱門詞條

聯絡我們