作者skyman1999 (skyman1999)
看板P2PSoftWare
標題[BT] BT下載的未來:Magnet URI計劃
時間Mon Dec 28 09:56:04 2009
BT下載模式已經在潛移默化中改變著,這跟網絡版權問題有很大關係。那麼BT下載的未來是什麼呢?
BT下載的未來Magnet URI!什麼是Magnet URI?Magnet URI模式與以往的BT下載有什麼區別?
2002年,紐約大學的兩個教授Petar Maymounkov和David Mazieres發表了一篇論文,提出了一種真正去中心化的「點對點」下載模型,他們把它叫做Kademlia方法。Emule率先在軟件中支持這種方法,KAD網絡就是這樣來的。到了2005年,BT軟件也開始跟進了。目前,所有主流的BT下載客戶端軟件都支持這種方法。在BT下載中,這被叫做DHT 協議(Distributed hash table,分佈式哈希表)。
有了DHT協議以後,就不再需要Tracker服務器了,真正實現了去中心化的點對點下載:
(一)每一台加入BT下載的計算機,都被稱為一個節點(node),有一個自己的ID。這個ID是一個哈希函數值,通過對要分享的文件內容或它的元數據進行哈希運算而得到。這就是說,如果兩台計算機正在下載同一個文件,那麼它們的ID應該是彼此相似的。於是,每一台計算機就通過尋找與自己相似的 ID,來找到自己可以與之交換數據的其他節點。
(二)DHT協議的另一個巧妙之處在於,每一台計算機只保留自己附近的一部分節點信息。因此,為了得到更多的節點信息,就必須採用接龍方式,在一個個節點之間跳躍,逐步得到全網的節點分佈圖。這種信息獲取方式,就保證了整個網絡沒有單個的中心,即使一個節點下線了,依然可以通過其他節點來獲取文件,因此也就不需要Tracker服務器來告訴你,其他節點在什麼地方了。
現在所有主流的BT下載客戶端,都支持DHT協議,也就是說,它們都能在沒有Tracker的情況下完成下載。
什麼是 Magnet URI?
magnet: URI 計劃主要是用來鑒別p2p網絡中的可用資源,是基於內容或元數據而非名字或位置,儘管它可以被其它應用程序使用,但主要的用途還是在p2p這一部分,已支持的軟件包括 Azureus, BearShare, DC++, gtk-gnutella, Kazaa, LimeWire, FrostWire, Morpheus, Shareaza, TrustyFiles 和 uTorrent。
它會根據文件內容的hash生成一個獨特的指紋,有點類似於ISBN。這樣,任何擁有此文件的人可以生成基於文件內容的指紋。它的另一個優勢就是跨平台性,因為它是以普通文本存在,你可以簡單的複製粘貼即可完成分享。
Magnet 鏈接由一組參數組成,它們之間的順序不是很重要。最普通的是 「xt」,下面是一個示例
magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
其它的參數初步是這樣定義的:
「dn」 (「顯示名稱」):顯示此文件名
「kt」 (「關鍵詞」):指定搜索方式而非特定文件
「mt」 (「其它文件列表」):用一個URI指向一個列表,如其它的一些項目
特定程序的參數,必須以「x.」開頭
標準還建議2個同種類的參數最好在後面加上數字1、2等,如:
magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7
Magnet URI這樣做有什麼好處?
顯而易見的好處是,整個下載網絡的可靠性提高了,每一個節點都是可以被替代的。另一個好處是,審查變得更困難了,因為每次下載的路徑都是不一樣的,而且每個節點都是動態變化的,導致實際上無法追蹤誰在下載。此外,magnet URI只是一個字符串,非常容易傳播,根本無法禁止。
因此,從這些方面考慮,magnet URI取代Tracker模式是大勢所趨,遲早成為主流的BT下載方式。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.179.122
1F:推 john0628 :感覺是類似SMG? 12/28 09:59
2F:→ knives :可是在bt的client上面還是看得到做種者的ip阿,其實 12/28 10:03
3F:推 yshinri :我個人是把它看成ed2k連結的BT版 12/28 10:03
4F:→ yshinri :ed2k連結也是利用 hash 值去搜檔案 和這其實完全一樣 12/28 10:05
5F:→ knives :若說要做到真正完全隱藏下載蹤跡還是很長久的事阿 12/28 10:05
6F:→ knives :而且之後的下載設定也沒有獨立torrent便利 12/28 10:09
7F:推 minshi :hash翻成哈希....Orz 12/28 10:14
8F:→ sivid :不用標明出處嗎 12/28 10:35
9F:推 abccbaandy :感覺是為了論文發明的... 12/28 11:39
10F:推 yshinri :七樓那個翻法是大陸翻法... 12/28 11:45
11F:推 icemango :不是應該翻成雜湊嗎XD... 12/28 11:55
12F:推 littlecut :台灣勢翻雜湊 哈希就....... 12/28 13:26
13F:→ knives :如果不懂的人,還真的會以為哈希是個人名的咧,簡直 12/28 13:27
14F:→ knives :是亂翻嘛,到底是那個天兵翻 12/28 13:28
16F:→ leepeter121 :只是把種子檔弄成網址而已 其他根本沒差多少 12/28 13:49
17F:→ ithildin :差在不會tracker被抄家就不用抓東西? 12/28 15:33
18F:推 erase2004 :借轉謝謝 12/28 15:39
19F:→ hafor :tracker掛了後會不會全死就差很多了... 12/28 18:05
20F:→ JackONeilll :PT一樣是靠tracker 其他的也早都是靠DHT了 影響不大 12/28 18:28
21F:推 kcl0801 :PT通常是禁DHT的 12/28 19:28
22F:推 Kenqr :有些網路會擋torrent檔 用magnet也可以避開 12/28 22:56
23F:推 xvid :這多久以前的文章.... 12/28 23:57
24F:→ dsin :還好吧 不過就是採用音譯而以阿 12/29 00:39
25F:→ dsin : 已 12/29 00:40
26F:→ Norther :翻雜湊也不懂含意阿 倒不如音譯為 "哈噓" 12/29 08:15
27F:→ bajiqa :倒不如都不要翻,哈噓也沒意義啊 12/29 10:30
28F:推 mstar :之前修 amule 語系時用雜湊,後來直翻成「hash 值」 12/29 14:14
29F:推 melisma :這本來就是大陸的文章 哪來亂翻... 12/29 14:35
30F:推 Yanten :網路負擔會很大...HUB請保重 12/29 23:07
31F:→ jyuny1 :kad n年前就用了... 12/30 02:17
32F:→ ithildin :跑P2P本身就是讓網路負擔很大的行為 DHT有更大嗎=_= 12/30 08:58
33F:→ ithildin :而且不管是連線數還是流量都是照原本的設定去跑啊 12/30 08:59
34F:→ erotic :翻成雜湊才難聽好不好? = = 哈希多直觀啊 12/30 13:30
35F:推 abccbaandy :專有名詞不要翻更好... 12/30 14:37
36F:推 andy199113 :樓上 可是很多電腦專有名詞都是直接音譯喔... 12/30 14:53
37F:→ Bellkna :翻"驗證數值(HASH)" 類似這樣中+英感覺會好一點 12/30 15:16
38F:推 Modchip :大推樓上!! 12/30 18:52
39F:推 captdavince :我比較想問..現在如果是分享torrent檔有足夠證據起訴 12/31 13:29
40F:→ captdavince :嗎.. 12/31 13:29
41F:→ JackONeilll :霹靂那個案子有兩個重點:1.有人檢舉(IP) 2.人贓俱獲 12/31 20:04
42F:推 Modchip :霹靂那個應該是因為,長期固定IP分享... 12/31 20:49