20世紀(jì)60年代,美國(guó)國(guó)防部高級(jí)研究計(jì)劃署(ARPA)提出要研制一種嶄新的、能夠適應(yīng)現(xiàn)代戰(zhàn)爭(zhēng)的、生存性很強(qiáng)的網(wǎng)絡(luò),目的是對(duì)付來(lái)自前蘇聯(lián)的核進(jìn)攻威脅。翻看一下歷史就能知道,蘇聯(lián)當(dāng)時(shí)把全球第一顆人造衛(wèi)星送上了太空,美國(guó)感覺(jué)到了壓力,于是他們隨后也搞出了另一個(gè)足以改變未來(lái)世界的東西——APRANET,當(dāng)今互聯(lián)網(wǎng)的雛形。APRANET的宗旨之一是去中心化,原因很簡(jiǎn)單,存在中央節(jié)點(diǎn)無(wú)異于存在致命節(jié)點(diǎn),單點(diǎn)失效,將導(dǎo)致整個(gè)網(wǎng)絡(luò)功能失效。
互聯(lián)網(wǎng)上依靠中央節(jié)點(diǎn)才能正常工作的應(yīng)用其實(shí)不在少數(shù),比如我們?cè)偈煜げ贿^(guò)的BT。也許你會(huì)說(shuō):BT不是P2P下載嗎?而P2P是沒(méi)有中心節(jié)點(diǎn)的,我們所下載的文件實(shí)際上存放在每個(gè)網(wǎng)友的電腦中,像FTP這樣的應(yīng)用才是經(jīng)典的中央節(jié)點(diǎn)應(yīng)用——這話只說(shuō)對(duì)了一半,BT是P2P應(yīng)用沒(méi)錯(cuò),但如果說(shuō)BT沒(méi)有中心節(jié)點(diǎn),不會(huì)出現(xiàn)“單點(diǎn)失效”,這種看法其實(shí)是錯(cuò)誤的。
仔細(xì)想一想,BT真的不需要中心節(jié)點(diǎn)嗎?如果是,那為什么國(guó)內(nèi)BT站點(diǎn)關(guān)閉后會(huì)給下載BT資源帶來(lái)不便,甚至出現(xiàn)BT客戶端無(wú)法工作的情況?答案只有一個(gè),BT并非一個(gè)去中心化的應(yīng)用。那BT的“命門”在哪呢?也許你聽說(shuō)過(guò)BT Traker服務(wù)器。
而這個(gè)BT Traker服務(wù)器也就是目前我朝有司大力打擊BT下載站的重要和主要罪證之一,因?yàn)檫@個(gè)服務(wù)器的存在,且不管技術(shù)手段如何,從表面特征上看來(lái),這些網(wǎng)站如同直接提供視頻內(nèi)容一樣。正是因?yàn)檫@個(gè)服務(wù)器的存在,成了這些BT站點(diǎn)供認(rèn)不諱的證據(jù)。滔天罪惡,證據(jù)確鑿:“你們提供中心下載的服務(wù)器,上面全是未經(jīng)許可的視頻內(nèi)容”。
BTTraker服務(wù)器關(guān)閉將會(huì)產(chǎn)生怎樣的后果?請(qǐng)看下圖:
海盜灣(The PirateBay),自稱“世界上最大的BT分享網(wǎng)站”,是一個(gè)專門存儲(chǔ)、分類及搜索BT資源的網(wǎng)站,同時(shí)它也運(yùn)行著世界上最大的BTTracker服務(wù)器。2008年11月15日,海盜灣稱其規(guī)模已經(jīng)達(dá)到了2500萬(wàn)獨(dú)立Peers,注意不是種子,Peer可以認(rèn)為是參與海盜灣“分享計(jì)劃”的實(shí)際用戶(電腦)數(shù)量,截至2009年12月,海盜灣注冊(cè)用戶已經(jīng)達(dá)到400萬(wàn),盡管下載資源是不需要注冊(cè)的。但它的名聲似乎不是很好,洛杉磯時(shí)報(bào)(Los Angeles Times)稱其是世界上最大的非法下載輔助者(幫兇?)之一。
海盜灣正式成立于2004年10月,除了擁有輝煌的“業(yè)績(jī)”,同時(shí)也麻煩纏身。根據(jù)記錄,控告海盜灣的案件有34起之多,其中涉及音樂(lè)行業(yè)的21起、電影行業(yè)9起、游戲行業(yè)4起。2009年成為斗爭(zhēng)最激烈的一年,2009年4月17日,瑞典斯德哥爾摩的法院以侵犯版權(quán)罪判處海盜灣4名創(chuàng)始人各1年的監(jiān)禁,并處以約3000萬(wàn)瑞典克朗的罰金。
隨后發(fā)生的事情更讓人感覺(jué)BT的“大限”終于還是到了。11月17日,海盜灣決定永久關(guān)閉他們的Tracker服務(wù)器,12月初全球第二大BT服務(wù)網(wǎng)站Mininova刪除了網(wǎng)站上大部分非法文件的BTTraker。Mininova表示,為了避免支付罰款,除了刪除所有侵權(quán)文件的BT Traker之外,他們別無(wú)選擇。
有人比喻,一個(gè)時(shí)代結(jié)束了,MPAA(美國(guó)電影協(xié)會(huì))和RIAA(美國(guó)唱片行業(yè)協(xié)會(huì))成了這場(chǎng)斗爭(zhēng)的贏家。表面上看確實(shí)如此,在這場(chǎng)斗爭(zhēng)中MPAA和RIAA最想“除掉”的就是BT Tracker服務(wù)器,而且他們做到了。
也許一個(gè)時(shí)代結(jié)束了,但BT時(shí)代真的結(jié)束了嗎?答案是否定的。MPAA和RIAA“除掉”了BT Tracker服務(wù)器,卡死了當(dāng)前BT工作方式的“命門”,但隨著新技術(shù)的引入,BTTraker對(duì)于BT分享已經(jīng)變得不再重要,甚至有些多余,事物的發(fā)展結(jié)果有時(shí)就像是開了一個(gè)玩笑,而這次的玩笑就開在了MPAA和RIAA身上。為什么會(huì)這樣?想搞明白這些,我們必須先梳理一下BT分享的實(shí)現(xiàn)方式。
用戶是怎樣通過(guò)BT下載文件的?基本過(guò)程應(yīng)該是這樣:一、找到.torrent文件,二、使用BT下載客戶端軟件打開這個(gè)文件。三、對(duì)于用戶來(lái)講,只要花時(shí)間去等就可以了。
而對(duì)于客戶端軟件來(lái)講,它會(huì)根據(jù).torrent文件中的網(wǎng)址自動(dòng)連接Tracker服務(wù)器,從它那里接收到其他正在下載該文件的人的網(wǎng)址名單。下一步,軟件就一一與名單上的網(wǎng)址取得聯(lián)系,從它們那里獲取文件的片段,直到整個(gè)下載完成。從整個(gè)過(guò)程不難看出,BTTracker服務(wù)器是一個(gè)中央節(jié)點(diǎn),任何客戶端都可以在其上找到“同伴”——只要其他人也在下載或分享同一個(gè)文件。所以MPAA和RIAA盯上了BTTracker,因?yàn)橄麥缢?torrent文件幾乎是不可能的,但通過(guò)一些“努力”,消滅BT Tracker服務(wù)器則完全有可能實(shí)現(xiàn)。
官司贏了,一個(gè)時(shí)代結(jié)束了,我們不妨稱其為是BT1.0時(shí)代,BT1.0時(shí)代致命的缺點(diǎn)是因?yàn)槠浯嬖谥醒牍?jié)點(diǎn),也就是BTTracker服務(wù)器。然而,官司輸了,并不代表整個(gè)BT時(shí)代的終結(jié),一個(gè)新的時(shí)代已經(jīng)悄然開始,我們可以稱其為BT2.0時(shí)代。
在BT2.0時(shí)代,Magnet(意譯:磁鐵、吸鐵石)成為未來(lái)BT的發(fā)展方向,Magnet真的可以挽救BT嗎?經(jīng)筆者親身試用,在支持Magnet URI之后,海盜灣似乎獲得了新生,下載速度并非越來(lái)越慢,相反,速度表現(xiàn)讓人滿意。最關(guān)鍵的是,Magnet不需要Tracker服務(wù)器,也不需要.torrent文件,僅需要一串字符就可以進(jìn)行文件下載。
博文的題目是“世界上最穩(wěn)定的tracking”,文中提到:“隨著DHT+PEX技術(shù)的不斷成熟,發(fā)現(xiàn)對(duì)端(Peer)并協(xié)調(diào)通信已經(jīng)變得容易實(shí)現(xiàn),而Tracker服務(wù)器變得不再重要,甚至顯得有些多余,所以我們將關(guān)閉服務(wù)器。”文中還說(shuō)服務(wù)器現(xiàn)在被安置在了一家博物館中??磥?lái),關(guān)閉Tracker服務(wù)器是計(jì)劃之內(nèi)的事情。一切盡在掌握?
Tracker服務(wù)器和“BT種子”即將雙雙退役,取而代之的是DHT+PEX網(wǎng)絡(luò)和Magnet Link,DHT網(wǎng)絡(luò)是分布式存在的,所以不存在“被拔線”的問(wèn)題,而MagnetLink僅是一串字符,所以也不再需要.torrent文件。這里出現(xiàn)了三個(gè)關(guān)鍵詞:DHT、PEX和MagnetLink,這三點(diǎn)是未來(lái)BT的核心,下面我們就來(lái)說(shuō)一說(shuō)它們都可以實(shí)現(xiàn)怎樣的功能。
DHT:2002年,紐約大學(xué)的兩個(gè)教授PetarMaymounkov和DavidMazières發(fā)表了一篇論文,提出了一種真正去中心化的“點(diǎn)對(duì)點(diǎn)”下載模型,他們將其稱為Kademlia方法。2005年,BT軟件開始引入這種技術(shù),在BT中被稱為DHT協(xié)議(Distributed Hash Table,分布式哈希表)。
DHT是一種分布式存儲(chǔ)方法。DHT的作用是找到那些與本機(jī)正在下載(上傳)相同文件的對(duì)端主機(jī)(Peer),當(dāng)然,實(shí)現(xiàn)這一過(guò)程并不依賴Tracker服務(wù)器。在DHT網(wǎng)絡(luò)中的每個(gè)客戶端負(fù)責(zé)一個(gè)小范圍的路由,并負(fù)責(zé)存儲(chǔ)一小部分?jǐn)?shù)據(jù),從而實(shí)現(xiàn)整個(gè)DHT網(wǎng)絡(luò)的尋址和存儲(chǔ)。這種信息獲取方式保證了整個(gè)網(wǎng)絡(luò)沒(méi)有單個(gè)的中心,即使一個(gè)節(jié)點(diǎn)下線,依然可以通過(guò)其他節(jié)點(diǎn)來(lái)獲取文件,因此也就不需要Tracker服務(wù)器來(lái)告訴你,其他節(jié)點(diǎn)在什么地方。
PEX:是PeerExchange的簡(jiǎn)寫,我們可以將其理解為“節(jié)點(diǎn)信息交換”。雖然DHT解決了去中心化的問(wèn)題,但要在沒(méi)有“中心協(xié)調(diào)員”(Tracker)的情況下實(shí)現(xiàn)高效尋址,就要借助PEX。PEX所提供的功能有點(diǎn)類似于以前的Tracker服務(wù)器,但工作方式卻非常不同,我們可以打個(gè)比方來(lái)說(shuō)明。
小趙在A班,她不認(rèn)識(shí)B班的小何,也不認(rèn)識(shí)C班的小溫,但小趙認(rèn)識(shí)同班的小王,而小王認(rèn)識(shí)B班的小何,也可能還認(rèn)識(shí)C班的小溫,或者小王僅認(rèn)識(shí)B班的小何,但小何認(rèn)識(shí)C班的小溫,而小溫又認(rèn)識(shí)同班的所有同學(xué),結(jié)果就是小趙可以“無(wú)限”地延伸自己的關(guān)系網(wǎng),不管怎樣,總有一條溝通途徑可以將這些同學(xué)聯(lián)系在一起,待小趙“認(rèn)識(shí)”了小溫后,他們就可以直接溝通了,在P2P世界里,就是進(jìn)行上傳與下載。magnet:?xt=urn:btih:36684b463ca2aa2f9347b18e9f6b1a9090bdb073&dn=Microsoft+iSCSI+Initiator
上面是筆者打算下載的一個(gè)文件,Microsoft iSCSIInitiator,按照以前的方式,我們需要下載它的.torrent文件,然后才能下載這個(gè)文件本身。但是,在新的模式下,我們不需要下載.torrent文件,只需知道它的Magnet URI,一個(gè)資源定位信息,其他都不需要。只要把這個(gè)地址告訴下載軟件,軟件就會(huì)開始自動(dòng)下載。
我們來(lái)分解一下這個(gè)地址:
magnet:協(xié)議名。
xt:exacttopic的縮寫,表示資源定位點(diǎn)。BTIH(BitTorrent InfoHash)表示哈希方法名,這里還可以使用SHA1和MD5。這個(gè)值是文件的標(biāo)識(shí)符,是不可缺少的。
dn:displayname的縮寫,表示向用戶顯示的文件名。這是一個(gè)可選項(xiàng)。
tr:tracker的縮寫,表示tracker服務(wù)器的地址。這是一個(gè)可選項(xiàng),本例中并未出現(xiàn)。
精簡(jiǎn)一下上例,僅需要magnet:?xt=urn:btih:36684b463ca2aa2f9347b18e9f6b1a9090bdb073就夠用了,如果附加dn(display name),在使用上會(huì)更加方便一些。
MagnetLink的好處就不用筆者多說(shuō)了,至少包括兩點(diǎn):網(wǎng)絡(luò)的可靠性得到了極大的增強(qiáng);不存在“被拔線”的風(fēng)險(xiǎn)。由于不存在所謂的中央節(jié)點(diǎn),審查將變得更加困難,“單點(diǎn)失效”的問(wèn)題也就不存在了。此外,Magnet URI只是一個(gè)字符串,非常容易傳播,根本無(wú)法禁止。因此,MagnetURI取代Tracker模式將是大勢(shì)所趨,遲早會(huì)成為主流BT下載方式。
細(xì)心的網(wǎng)友可能看出了DHT+PEX+MagnetLink模式中的一個(gè)問(wèn)題——BT客戶端的“第一步是如何邁出的”,套用在介紹PEX時(shí)使用的例子,那就是小趙是怎么“加入”A班的呢?這確實(shí)是個(gè)問(wèn)題。解決這個(gè)問(wèn)題依然需要一臺(tái)服務(wù)器(bootstrapnode),不過(guò)這臺(tái)服務(wù)器所起的作用與Tracker不同,它僅負(fù)責(zé)接納小趙進(jìn)入A班,當(dāng)小趙與A班中的同學(xué)“搭上了話”,之后這臺(tái)服務(wù)器就沒(méi)有什么用處了。bootstrapnode可以是不同BT客戶端廠商獨(dú)立運(yùn)營(yíng)的,也可以是幾家聯(lián)合共用,總之,它是分散的,只要在客戶端軟件中內(nèi)置一張表單,那客戶端就將有非常多的入口可供選擇。
說(shuō)了這么多,到底Magnet這塊“吸鐵石”表現(xiàn)如何?是騾子是馬總要拉出來(lái)溜溜。于是筆者找來(lái)了目前已經(jīng)支持Magnet的BT客戶端μTorrent。
μTorrent是眾多BT客戶端之一,在安裝過(guò)程中我們可以看到,它已經(jīng)支持Magnet URIs。
Catch Me If You Can
在《貓鼠游戲》這部電影中,警察與“盜版者”之間玩的是游擊戰(zhàn)。海盜灣的BT Tracker服務(wù)器也曾有過(guò)類似的經(jīng)歷——在幾個(gè)國(guó)家間遷來(lái)遷去,在不同的IDC中東躲西藏,但版權(quán)組織始終對(duì)其“不離不棄”,并最終得手。事后我們?cè)谕粫r(shí)間,很巧合地聽到了三種聲音,版權(quán)組織說(shuō),我們贏了;海盜灣說(shuō),我們不跟你玩了;廣大圍觀群眾說(shuō),BT還好好的啊,這些年那兩個(gè)家伙到底在搞什么?
放棄Tracker模式,改用Magnet,對(duì)于網(wǎng)友來(lái)講幾乎沒(méi)有任何成本,僅需將當(dāng)前BT軟件升級(jí)即可,甚至連操作習(xí)慣都不會(huì)發(fā)生任何變化,因?yàn)槟銦o(wú)需換用其它BT軟件,在國(guó)內(nèi),比特精靈、比特彗星都已經(jīng)開始支持Magnet。所以,您可能已經(jīng)進(jìn)入了BT2.0時(shí)代,只是您自己還不知道。
“我們并不提供實(shí)體下載資源,所有資源都是網(wǎng)友自發(fā)上傳的……”相信您經(jīng)常會(huì)聽到類似的辯解,這句話看似有理,從技術(shù)角度講也沒(méi)有任何漏洞,但多少感覺(jué)屬于狡辯。事物在不停發(fā)展,這就造成了監(jiān)管上的缺失,待監(jiān)管手段日趨完善時(shí),事物可能又一次向前發(fā)展,導(dǎo)致監(jiān)管手段再次落伍。新的BT分享方式將傳統(tǒng)Tracker服務(wù)器所提供的功能進(jìn)行了“分解”,所有BT用戶成為Tracker服務(wù)器的一份子,核心消失了,在這種情況下,版權(quán)組織又該將反盜版的大棒揮向誰(shuí)呢?
題外話:
Internet的本質(zhì)是什么?或者說(shuō),Internet的價(jià)值是什么?回答肯定是五花八門。筆者愚見,去中心化與沒(méi)有“勢(shì)差”的信息傳遞是Internet的本質(zhì)。當(dāng)電話出現(xiàn)時(shí),人們的溝通方式發(fā)生了革命性的變化,但還是不夠好,于是手機(jī)出現(xiàn)了,依然不夠好,于是論壇、QQ出現(xiàn)了,又不夠好!于是Facebook、Twitter出現(xiàn)了,似乎還是不夠好,那接下來(lái)會(huì)是什么?也許是類似DHT網(wǎng)絡(luò)工作方式的一種信息傳遞方式——沒(méi)有中心、信息傳遞不受阻擋。
技術(shù),在這里我們只討論技術(shù),因?yàn)榧夹g(shù)是第一生產(chǎn)力,新技術(shù)不僅會(huì)提升生產(chǎn)力,同時(shí),新技術(shù)也能生產(chǎn)出“全新的方式”,新方式帶來(lái)的是人們行為的改變,而人們行為的改變,也許會(huì)改變這個(gè)世界。聯(lián)系客服