摘要:建立原型系統(tǒng)對P2P網(wǎng)絡(luò)環(huán)境下的信任模型進行測試與分析有著十分重要的意義。基于目前已有的全局信任模型,結(jié)合最流行的P2P文件共享應(yīng)用,本文設(shè)計一種P2P網(wǎng)絡(luò)信任管理系統(tǒng),并使用JAVA語言編程實現(xiàn)該系統(tǒng);實驗結(jié)果表明,全局信任管理系統(tǒng)能夠極大地提高P2P網(wǎng)絡(luò)中的服務(wù)成功率。
關(guān)鍵詞:對等網(wǎng)絡(luò);激勵機制;自由騎;全局信任值
中圖分類號:TP393 文獻標(biāo)識碼:A
1引言
P2P網(wǎng)絡(luò)具有開放、動態(tài)、異質(zhì)、節(jié)點對等、資源共享自愿等特點,其優(yōu)勢已經(jīng)在文件共享、協(xié)同計算、分布式存儲及應(yīng)用層組播等應(yīng)用領(lǐng)域得到了充分證實。然而,P2P網(wǎng)絡(luò)也存在著很多問題需要研究,其中,由其自主性、動態(tài)性和異構(gòu)性所導(dǎo)致的諸多數(shù)據(jù)污染、自由騎、公共悲劇等問題就是需要亟待解決的重要問題[1],這些問題的解決直接影響著P2P網(wǎng)絡(luò)應(yīng)用的有效性與可用性。全局信任模型[2]根據(jù)節(jié)點在網(wǎng)絡(luò)中的行為與表現(xiàn),確定其全局信任值高低,能夠更有效地識別惡意節(jié)點和惡意群體,更好地幫助用戶選取服務(wù),確保節(jié)點在各種惡意攻擊下具有更高的服務(wù)成功率。全局信任模型的理論研究已經(jīng)有了顯著成果,但是,其工程實現(xiàn)卻很少涉及,本文結(jié)合已有的全局信任模型[3],設(shè)計并實現(xiàn)一種支持文件共享的P2P網(wǎng)絡(luò)全局信任管理系統(tǒng),驗證其理論模型的有效性。
信任管理系統(tǒng)運行時需要調(diào)用P2P網(wǎng)絡(luò)系統(tǒng)的某些功能,同時,在實現(xiàn)時又要盡量簡化這些功能的調(diào)用接口,使得信任管理系統(tǒng)的實現(xiàn)獨立于具體的P2P網(wǎng)絡(luò)。文件、數(shù)據(jù)的分布式存儲與共享是目前應(yīng)用最多且最成功的P2P應(yīng)用,同時分布式存儲與共享技術(shù)已經(jīng)成為大部分其它P2P應(yīng)用系統(tǒng)的基本需求。Sun公司推出的已經(jīng)成為P2P標(biāo)準(zhǔn)的JXTA[4]提供了對這一需求的支持,其中CMS(Content Manager Service,內(nèi)容管理器)充當(dāng)了這一角色,CMS為JXTA平臺上的共享內(nèi)容提供一套管理協(xié)議,因此,我們可以利用CMS迅速實現(xiàn)P2P網(wǎng)絡(luò)中的文件分布式存儲與共享。
本文以Ross模型[5]為核心思想,以JXTA工程API為技術(shù)基礎(chǔ),構(gòu)建基于結(jié)構(gòu)化P2P網(wǎng)絡(luò)的文件共享網(wǎng)絡(luò),并在其中實現(xiàn)信任管理系統(tǒng)。底層的Internet不是文本的主要研究內(nèi)容,不再作描述。但Ross模型的中間覆蓋層描述太簡單,不便于實現(xiàn)。本文將它分為兩層:P2P覆蓋層與P2P服務(wù)提供層;覆蓋層的作用就是屏蔽底層網(wǎng)絡(luò)的動態(tài)性與異構(gòu)性,而服務(wù)提供層就是為應(yīng)用層的服務(wù)需求提供標(biāo)準(zhǔn)接口;應(yīng)用層就是文件共享應(yīng)用,下面詳細(xì)描述該系統(tǒng)原型的結(jié)構(gòu)與實現(xiàn)過程。
2原型系統(tǒng)設(shè)計
基于已有的P2P網(wǎng)絡(luò)層次體系結(jié)構(gòu)[6],再結(jié)合Ross模型,本文提出原型系統(tǒng)的結(jié)構(gòu)如圖1,整個系統(tǒng)包括四層:底層網(wǎng)絡(luò)、P2P覆蓋層、P2P服務(wù)層以及P2P應(yīng)用層。底層網(wǎng)絡(luò)一般指Internet網(wǎng),其主機具有自治性與動態(tài)性。P2P覆蓋層是基于DHT[7]實現(xiàn)的,其主要功能是構(gòu)建和維護P2P覆蓋網(wǎng)絡(luò),屏蔽底層網(wǎng)絡(luò)的動態(tài)性與異構(gòu)性。本文采用基于超級節(jié)點的層次型覆蓋網(wǎng)絡(luò),通過Chord協(xié)議[8],節(jié)點自組織成為兩層結(jié)構(gòu)的虛擬覆蓋網(wǎng)絡(luò),實現(xiàn)資源的存放與定位。這種方法既提高了系統(tǒng)的穩(wěn)定性又便于全局信任值計算。P2P服務(wù)層為最上層的應(yīng)用程序提供一些服務(wù)功能,主要功能包括P2P索引,信任管理、激勵機制等,這些功能以API的形式提供;最上層的應(yīng)用程序通過調(diào)用這些API,實現(xiàn)數(shù)據(jù)對象的插入、查詢與刪除,以及節(jié)點的信任評價等任務(wù)。應(yīng)用層程序是多樣化的,主要有文件共享、瞬時通信、數(shù)據(jù)分布式存儲等,這些程序是通過訪問服務(wù)層與覆蓋層的功能而實現(xiàn)的。
系統(tǒng)功能模塊如圖2,由圖可知,系統(tǒng)由四個功能模塊組成,其中對等點管理與資源管理兩個模塊是利用JXTA項目提供的API實現(xiàn)的,由于實現(xiàn)相對簡單,這里不作描述;信任管理模塊則是根據(jù)已有的理論模型而實現(xiàn)的,它們的實現(xiàn)過程將在下一節(jié)再作介紹。
3原型系統(tǒng)實現(xiàn)
與文件共享應(yīng)用相關(guān)的程序在上節(jié)已經(jīng)敘述了,這里不再重復(fù)。另外,覆蓋層中的DHT也可以借助JXTA項目的相關(guān)技術(shù)實現(xiàn),它們不是本文實現(xiàn)的主要內(nèi)容,敘述從略。下面詳細(xì)描述信任管理系統(tǒng)功能模塊的實現(xiàn)方法。
4實驗結(jié)果
假定一個P2P文件共享網(wǎng)絡(luò),網(wǎng)絡(luò)初始拓?fù)潆S機,每個節(jié)點共享文件數(shù)為100左右,正常節(jié)點與惡意節(jié)點各占50%,正常節(jié)點提供真實文件,并提交公正的交易評價;惡意節(jié)點提供虛假的文件,并提交不公正的交易評價。然后,隨著網(wǎng)絡(luò)的演化,允許節(jié)點通過學(xué)習(xí)調(diào)整共享文件的真實性及評價的公正性。在這個網(wǎng)絡(luò)中設(shè)計一個全局信任管理層,可望規(guī)范節(jié)點行為,最終提高系統(tǒng)的服務(wù)成功率。
從圖4的觀察可以得出結(jié)論,全局信任模型沒有任何高信任節(jié)點集,實驗初始階段相當(dāng)于隨機模型。但是,只需要10個實驗周期,就能達到很高的成功下載率(97%),表明該模型能夠識別并抑制惡意節(jié)點與惡意群體。隨機模型在較短的時間內(nèi)無法得出節(jié)點的信任等級,對節(jié)點服務(wù)選擇的指導(dǎo)性不大,成功下載率很低,即它無法識別惡意節(jié)點。
5結(jié)論
本文設(shè)計并實現(xiàn)了一種支持文件共享的P2P網(wǎng)絡(luò)全局信任管理原型系統(tǒng),它具有對等點管理、資源管理、信任管理等功能。該原型系統(tǒng)在由60臺PC機、10臺三層交換機及3臺路由器組成的網(wǎng)絡(luò)環(huán)境下測試,效果良好,性能較強,能穿越NAT,較好地驗證了目前已有的理論方法與模型,但原型系統(tǒng)的功能有限,需要進一步改進。
參考文獻
[1]Castro M., Druschel P., Ganesh A., et al. Security for structured peertopeer overlay networks[C]. In: Proceeding of 5th Symposium on Operating Systems Design and Implementation (OSDI 2002), Boston, MA, 2002, 102-115.
[2]Runfang Zhou, Kai Hwang. PowerTrust: a robust and scalable reputation system for trusted peertopeer computing[J]. IEEE Transactions on Parallel and Distributed Systems, 2007, 18(5): 460-473.
[3]歐陽竟成, 林亞平, 周四望,等. P2P環(huán)境下全局信任值分級計算方法[J]. 通信學(xué)報, 2008, 29(8):38-45.
[4]JXTA.ORG. Project JXTA 2.3: Java Programmers Guide[EB/OL]. http://www.jxta.org/ docs/ JxtaProgGuide_v2.3.pdf, 2007-01-12.
[5]Ross K. W., Rubenstein D.. Tutorial on P2P systems[EB/OL].http://cis.poly.edu/ ~ross/papers/ P2Ptutorial Infocom.pdf, 2009-6-2.
[6]Khaled M. Hammouda and Mohamed S. Kamel. Hierarchically Distributed PeertoPeer Document Clustering and Cluster Summarization[J]. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2009, 21(5):681-698.
[7]Karger D., Lehman E., Leighton F., et al. Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the world wide web[C]. In: Proceedings of the 29th Annual ACM Symposium on Theory of Computing. Dallas, Texas, U.S., ACM Press, 1997, 654-663.
[8]Stoica I., Morris R., LibenNowell D., et al. Chord: a scable peertopeer lookup protocol for Internet application[J]. IEEE/ACM Transactions on Networking, 2003, 11(1):17-32.