磁力鏈接

標籤: 暫無標籤

0

更新時間: 2019-04-18

廣告

磁力鏈接

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

中文名:磁力鏈接英文名:Magnet URI scheme
用 途:識別文件所屬領域:計算機 互聯網
基 礎:不同文件內容的Hash結果

廣告

1 特點/磁力鏈接 編輯

眾所周知,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所示,像一塊磁鐵,很容易辨別。  

廣告

2 角色/磁力鏈接 編輯

在傳統的BT下載方式中讓各個下載者之間相互聯繫,有2種途徑:

1、通過連接BT種子中記錄的BT Tracker伺服器,獲取下載者列表

2、利用BT種子中記錄的「數字指紋」通過DHT網路進行搜索,獲取下載者列表

(不過現實是,存活的BT Tracker伺服器越來越少。而BT種子文件也需要伺服器保存。)

我們假設「BT Tracker伺服器連接不上了,BT種子文件伺服器也被幹掉了。。」

那麼顯而易見的是第1種途徑完全走不通,第2種途徑只能幫你「尋找」,卻沒辦法知道你在尋找什麼。

「磁力鏈接」的主要作用就是把「數字指紋」告訴DHT網路,你需要尋找什麼。

3 下載/磁力鏈接 編輯

下載舉例

舉例來說,開源的動畫短片大雄兔的視頻文件是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下載這個文件了。  

廣告

4 問題/磁力鏈接 編輯

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

5 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站點供認不諱的證據。滔天罪惡,證據確鑿:「你們提供中心下載的伺服器,上面全是未經許可的視頻內容」。

6 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伺服器的一份子,核心消失了,在這種情況下,版權組織又該將反盜版的大棒揮向誰呢?

廣告