李紹靜
摘 要:該文首先介紹了P2P文件共享系統(tǒng)的發(fā)展現(xiàn)狀以及相關(guān)特性,總結(jié)了P2P文件共享系統(tǒng)的技術(shù)特性,并且介紹了幾個經(jīng)典的系統(tǒng)實(shí)例的設(shè)計(jì)思想及工作原理,為P2P文件共享系統(tǒng)相關(guān)的研究內(nèi)容提供了參考。
關(guān)鍵詞:P2P網(wǎng)絡(luò) 文件共享系統(tǒng) 信任
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2017)01(b)-0023-02
Abstract: This paper first introduces the development and present situation of P2P file sharing system and related characteristics, summed up the P2P file sharing technology characteristics of the system, and introduces the working principle and design idea of the system several examples of classic, provides the reference for the related research contents of P2P file sharing system.
Key Words: Peer-to-Peer Network; File sharing system; Reputation
對等(Peer-to-Peer,P2P)網(wǎng)絡(luò)及其相關(guān)技術(shù)是近年來熱門的研究領(lǐng)域之一,其中P2P文件共享系統(tǒng)受到了眾多網(wǎng)絡(luò)用戶的歡迎和支持。P2P文件共享系統(tǒng)從出現(xiàn)至今,相繼涌現(xiàn)出40多個相關(guān)系統(tǒng),并且有多個系統(tǒng)已經(jīng)各自擁有數(shù)以百萬計(jì)的用戶,P2P文件共享系統(tǒng)最大的特點(diǎn)是聚集了海量的文件資源,總體具有成本低廉、使用靈活自由、能為用戶提供簡便的文件交換服務(wù)等特點(diǎn)。
1 應(yīng)用現(xiàn)狀
如今的P2P文件共享系統(tǒng)依然顯示著蓬勃的生命力。根據(jù)OReilly(2004)關(guān)于P2P文件共享系統(tǒng)的資料,著名的應(yīng)用系統(tǒng)己經(jīng)達(dá)到40余種,而且很多系統(tǒng)還相繼產(chǎn)生變種產(chǎn)品,如Napster的衍生變種SlavaNap和OpenNap等,Gnutella衍生的變種也有LimeWire、Clip2、BearShare、FurthurNet等。另外還有興起不久的BitTorrent和eDonkey等。
2 P2P文件共享系統(tǒng)的特性
P2P文件共享系統(tǒng)具有的技術(shù)特性,主要是以下幾點(diǎn)。
(1)分散性(decentralization)。
P2P文件共享系統(tǒng)將管理任務(wù)分?jǐn)偟礁鱾€節(jié)點(diǎn)上,文件分散在各個節(jié)點(diǎn),節(jié)點(diǎn)擁有文件的所有權(quán)和控制權(quán),如此可以通過文件復(fù)制避免單一失效點(diǎn)問題。
(2)自組織性(self-organization)。
自組織是指一個系統(tǒng)的組織結(jié)構(gòu)自發(fā)增強(qiáng)的過程。P2P文件共享系統(tǒng)由大量節(jié)點(diǎn)構(gòu)成,其規(guī)模巨大而且結(jié)構(gòu)經(jīng)常發(fā)生變化,節(jié)點(diǎn)需要能夠自由地進(jìn)入和退出網(wǎng)絡(luò),文件資源數(shù)量時刻在變化,因此P2P文件共享系統(tǒng)必須具有自組織性。
(3)匿名性(anonymity)。
匿名性可以保護(hù)使用者的隱私,如P2P文件共享系統(tǒng)中,提供文件服務(wù)時隱藏文件提供者的身份。文件服務(wù)過程中,可以采用的匿名方式有3種:文件提供者匿名、文件請求者匿名和相互匿名。
(4)可擴(kuò)展性(scalability)。
大量的處理任務(wù)和數(shù)據(jù)存儲無疑是擴(kuò)展性的極大負(fù)擔(dān),在P2P文件共享系統(tǒng)中,可擴(kuò)展性得益于其分散性,任務(wù)處理負(fù)荷和空間負(fù)荷可以分?jǐn)偟讲煌墓?jié)點(diǎn)上,有利于實(shí)現(xiàn)系統(tǒng)的擴(kuò)展。
(5)安全性(security)。
安全性包括會話密鑰交換、信任傳遞、簽名和加密等。P2P文件共享系統(tǒng)還有新的安全方面的要求,可以引入數(shù)字版權(quán)管理來保證作者的知識產(chǎn)權(quán)不被竊取,可以在文件中加入水印技術(shù),一個附著于文件內(nèi)容但不影響文件內(nèi)容的簽名。
(6)失效恢復(fù)和容錯性。
與C/S結(jié)構(gòu)相比,P2P結(jié)構(gòu)的優(yōu)勢之一就是可以避免單點(diǎn)失效問題。由于擁有文件的節(jié)點(diǎn)失效或者退出了系統(tǒng)或者是網(wǎng)絡(luò)連接失效而導(dǎo)致目的節(jié)點(diǎn)不可到達(dá),繼而導(dǎo)致節(jié)點(diǎn)失效,節(jié)點(diǎn)失效會導(dǎo)致文件服務(wù)不可用。對于前者,可以采用緩存和復(fù)制策略來應(yīng)對;對于后者,可以通過路由策略繞過失效連接所在的區(qū)域來解決。
3 經(jīng)典系統(tǒng)實(shí)例
近年來,P2P文件共享系統(tǒng)受到廣泛的關(guān)注,與此有關(guān)的研究也越來越多,已發(fā)展出許多應(yīng)用系統(tǒng)和設(shè)計(jì)協(xié)議。
3.1 Napster
Napster[1]是出現(xiàn)最早的P2P文件共享系統(tǒng),Napster中并沒有文件存儲服務(wù)器,只有一個中心服務(wù)器,用來放索引信息。需要獲取文件的用戶首先在Napster的中心服務(wù)器上進(jìn)行信息查詢,系統(tǒng)中若有節(jié)點(diǎn)共享了所查詢的文件,則用戶可以根據(jù)中心服務(wù)器上提供的信息直接去目的節(jié)點(diǎn)下載,因此它屬于混合式的P2P文件共享系統(tǒng)。
3.2 Gnutella
Gnutella[7]是一種純粹P2P架構(gòu)的分布式文件共享系統(tǒng),節(jié)點(diǎn)發(fā)起查詢請求時,節(jié)點(diǎn)會提供一個標(biāo)志自身的搜索字符串和hops-to-live參數(shù),并將這個查詢請求發(fā)給與自己有連接的所有節(jié)點(diǎn)。當(dāng)其他節(jié)點(diǎn)收到查詢請求時,會首先在本地展開查找。如果節(jié)點(diǎn)找到所請求文件,則反向返回查詢成功信息及本節(jié)點(diǎn)自身的相關(guān)信息;如若當(dāng)前節(jié)點(diǎn)并未找到所需相關(guān)文件,則會把查詢請求轉(zhuǎn)發(fā)至與當(dāng)前節(jié)點(diǎn)有連接的所有節(jié)點(diǎn),直到成功為止。
3.3 Freenet
1999年,Edinburgh大學(xué)的Ian Clarke提出了關(guān)于Freenet[8]這一系統(tǒng)的設(shè)計(jì)思想。2000年,F(xiàn)reenet進(jìn)入實(shí)際的設(shè)計(jì)與開發(fā)階段。和Gnutella一樣,F(xiàn)reenet是一種純粹的P2P結(jié)構(gòu)的文件共享系統(tǒng)。Freenet為P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)提供文件的存儲和下載服務(wù),而節(jié)點(diǎn)提供一定的存儲空間來存儲P2P文件共享系統(tǒng)中用于其他結(jié)點(diǎn)分享和下載的文件。
4 結(jié)語
該文概括了P2P文件共享系統(tǒng)的發(fā)展過程和現(xiàn)狀,并介紹了幾個經(jīng)典系統(tǒng)實(shí)例的設(shè)計(jì)思想及工作原理,總結(jié)了P2P文件共享系統(tǒng)的技術(shù)特性,為P2P文件共享系統(tǒng)相關(guān)的研究內(nèi)容提供了參考。
參考文獻(xiàn)
[1] http://www.napster.com.
[2] http://www.limewire.com/.
[3] http://www.bearshare.com/.
[4] http://www.furthurnet.com/.
[5] http://bitconjurer.org/BitTorrent/.
[6] http://www.edonkey2000.com/.
[7] http://www.gnutella.com.
[8] http://freenet.sourceforge.net/.