摘要:建立原型系統對P2P網絡環境下的信任模型進行測試與分析有著十分重要的意義?;谀壳耙延械娜中湃文P停Y合最流行的P2P文件共享應用,本文設計一種P2P網絡信任管理系統,并使用JAVA語言編程實現該系統;實驗結果表明,全局信任管理系統能夠極大地提高P2P網絡中的服務成功率。
關鍵詞:對等網絡;激勵機制;自由騎;全局信任值
中圖分類號:TP393 文獻標識碼:A
1引言
P2P網絡具有開放、動態、異質、節點對等、資源共享自愿等特點,其優勢已經在文件共享、協同計算、分布式存儲及應用層組播等應用領域得到了充分證實。然而,P2P網絡也存在著很多問題需要研究,其中,由其自主性、動態性和異構性所導致的諸多數據污染、自由騎、公共悲劇等問題就是需要亟待解決的重要問題[1],這些問題的解決直接影響著P2P網絡應用的有效性與可用性。全局信任模型[2]根據節點在網絡中的行為與表現,確定其全局信任值高低,能夠更有效地識別惡意節點和惡意群體,更好地幫助用戶選取服務,確保節點在各種惡意攻擊下具有更高的服務成功率。全局信任模型的理論研究已經有了顯著成果,但是,其工程實現卻很少涉及,本文結合已有的全局信任模型[3],設計并實現一種支持文件共享的P2P網絡全局信任管理系統,驗證其理論模型的有效性。
信任管理系統運行時需要調用P2P網絡系統的某些功能,同時,在實現時又要盡量簡化這些功能的調用接口,使得信任管理系統的實現獨立于具體的P2P網絡。文件、數據的分布式存儲與共享是目前應用最多且最成功的P2P應用,同時分布式存儲與共享技術已經成為大部分其它P2P應用系統的基本需求。Sun公司推出的已經成為P2P標準的JXTA[4]提供了對這一需求的支持,其中CMS(Content Manager Service,內容管理器)充當了這一角色,CMS為JXTA平臺上的共享內容提供一套管理協議,因此,我們可以利用CMS迅速實現P2P網絡中的文件分布式存儲與共享。
本文以Ross模型[5]為核心思想,以JXTA工程API為技術基礎,構建基于結構化P2P網絡的文件共享網絡,并在其中實現信任管理系統。底層的Internet不是文本的主要研究內容,不再作描述。但Ross模型的中間覆蓋層描述太簡單,不便于實現。本文將它分為兩層:P2P覆蓋層與P2P服務提供層;覆蓋層的作用就是屏蔽底層網絡的動態性與異構性,而服務提供層就是為應用層的服務需求提供標準接口;應用層就是文件共享應用,下面詳細描述該系統原型的結構與實現過程。
2原型系統設計
基于已有的P2P網絡層次體系結構[6],再結合Ross模型,本文提出原型系統的結構如圖1,整個系統包括四層:底層網絡、P2P覆蓋層、P2P服務層以及P2P應用層。底層網絡一般指Internet網,其主機具有自治性與動態性。P2P覆蓋層是基于DHT[7]實現的,其主要功能是構建和維護P2P覆蓋網絡,屏蔽底層網絡的動態性與異構性。本文采用基于超級節點的層次型覆蓋網絡,通過Chord協議[8],節點自組織成為兩層結構的虛擬覆蓋網絡,實現資源的存放與定位。這種方法既提高了系統的穩定性又便于全局信任值計算。P2P服務層為最上層的應用程序提供一些服務功能,主要功能包括P2P索引,信任管理、激勵機制等,這些功能以API的形式提供;最上層的應用程序通過調用這些API,實現數據對象的插入、查詢與刪除,以及節點的信任評價等任務。應用層程序是多樣化的,主要有文件共享、瞬時通信、數據分布式存儲等,這些程序是通過訪問服務層與覆蓋層的功能而實現的。
系統功能模塊如圖2,由圖可知,系統由四個功能模塊組成,其中對等點管理與資源管理兩個模塊是利用JXTA項目提供的API實現的,由于實現相對簡單,這里不作描述;信任管理模塊則是根據已有的理論模型而實現的,它們的實現過程將在下一節再作介紹。
3原型系統實現
與文件共享應用相關的程序在上節已經敘述了,這里不再重復。另外,覆蓋層中的DHT也可以借助JXTA項目的相關技術實現,它們不是本文實現的主要內容,敘述從略。下面詳細描述信任管理系統功能模塊的實現方法。
4實驗結果
假定一個P2P文件共享網絡,網絡初始拓撲隨機,每個節點共享文件數為100左右,正常節點與惡意節點各占50%,正常節點提供真實文件,并提交公正的交易評價;惡意節點提供虛假的文件,并提交不公正的交易評價。然后,隨著網絡的演化,允許節點通過學習調整共享文件的真實性及評價的公正性。在這個網絡中設計一個全局信任管理層,可望規范節點行為,最終提高系統的服務成功率。
從圖4的觀察可以得出結論,全局信任模型沒有任何高信任節點集,實驗初始階段相當于隨機模型。但是,只需要10個實驗周期,就能達到很高的成功下載率(97%),表明該模型能夠識別并抑制惡意節點與惡意群體。隨機模型在較短的時間內無法得出節點的信任等級,對節點服務選擇的指導性不大,成功下載率很低,即它無法識別惡意節點。
5結論
本文設計并實現了一種支持文件共享的P2P網絡全局信任管理原型系統,它具有對等點管理、資源管理、信任管理等功能。該原型系統在由60臺PC機、10臺三層交換機及3臺路由器組成的網絡環境下測試,效果良好,性能較強,能穿越NAT,較好地驗證了目前已有的理論方法與模型,但原型系統的功能有限,需要進一步改進。
參考文獻
[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環境下全局信任值分級計算方法[J]. 通信學報, 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.