摘要:本文介紹了P2P的工作原理及幾個典型,著重分析比較了基于超級節點的和基于區域劃分結構的兩種P2P模型的特性,最后提出自己的觀點。
關鍵詞:P2P網絡模型;發現機制;區域劃分;身份認證
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)15-2pppp-0c
Comparison and Research of two P2P Network Models
YANG Jing,JIANG Zhan-sheng
(Nanyang Institute of Technology,Nanyang 473004,China)
Abstract:This paper introduces the work principle of P2P and several typical examples,mostly compares their characteristic of the superpeer-based and the districted structure P2P model with each other.At last, we propose our viewpoint.
Key words:peer-to-peer network mode;discovery mechanism; district partition; identity certification
1 引言
互聯網的發展,使上網人數劇增,導致使提供資源下載的站點壓力越來越大,用戶通過HTTP或FTP下載常會遇到網絡堵塞。P2P以強大的資源共享和平衡網絡負載能力,為互聯網的發展帶來了深遠的影響。
2 P2P原理及應用
相對于傳統的網絡,P2P(對等網)代表了一個全新的網絡理念,網絡中不存在中心服務器,服務工作由所有的用戶共同承擔,每個用戶既是客戶端又是服務器,下載的同時也在上傳,每個用戶的權利和義務都是對等的。P2P允許用戶之間通過建立鏈接的方式直接進行文件共享,參與者之間關系對等,以物易物[1]。
兩個早期的P2P典型就是Napster和Gnutella。Napster靠目錄服務器完成搜索和查詢定位,下載則是點對點。Gnutella是完全分散結構,采用廣播查詢機制發現成員。隨后的SFLAN通過小無線電導航臺,將小范圍內對等設備連接組成小型組,通過共享資源實現信息交換。Roku是一種人機對話P2P,對話一方是用戶,另一方是軟件代理,用戶通過瀏覽器、PDA、移動電話等方式來連接Roku,訪問遠程資源。Groove是Lotous公司開發P2P產品,Group之間通過虛擬空間進行項目協作、即時通信、共享文檔等[2]。
3 兩種P2P模型的特點分析
目前涌現出了多種的層次型的P2P模型。這些模型的基本特點就是將對等點通過層次結構分級管理。下面給出兩種層次型P2P網絡模型。


3.1 基于Super-node的P2P網絡[3]
依據規則在組內選取性能最優節點作Super-node。Super-node在組內相當服務器(但不是),對組內成員進行管理。但在多個Super-node之間,Super-node是以純分散式P2P結構進行連接。
Super-node和其管理的node構成自治單元-簇(圖1)。因為Super-node在組中是可靠和值得信賴的節點,較純分散式P2P有更好的管理性。在基于Super-node的P2P設計中,要考慮簇的大小的設計。另外Super-node作為高層節點要管理組內結點,所以Super-node要設置冗余節點。
Super-node根據在線時間、頻率接入方式和處理速度從普通node中選擇,Super-node保存普通node的信息和一張提供服務映射表來記錄服務的種類、內容、服務對應節點的地址和ID等。node既提供服務又扮演客戶端角色發送查詢請求。
當node節點初次加入時,通過IP組播方式發送請求尋找該區域Super-node加入簇。IP組播將消息傳給組中的所有成員,發送方封裝發送消息,不保存接受者名單,對消息感興趣的接受方會接受消息。node節點初次加入有兩種情況。一是系統規定時間內未收到Super-node確認,則把自己標記為Super-node。二是受到Super-node確認,則將自己的注冊信息發給Super-node并加入。當node節點發出查詢請求時,先在Super-node的服務中進行搜索,若有則node節點和Super-node節點直接傳遞,若無則Super-node將查詢對周圍的Super-node轉發搜索。由于Super-node之間是純分散式連接,所以Super-node之間查詢要定義TTL(Time To Live),搜索經過一個Super-node,TTL減1,直到TTL為0返回搜索失敗。
Super-node管理的簇中存在單點失效問題,為了增強系統可靠性,定期備份Super-node信息,從普通node節點中選候補Super-node做備份節點。P2P有很大的動態性難以管理,因此Super-node要定期巡視動態更新信息列表,以保持列表的可用性。
3.2 基于區域劃分結構P2P網絡[4]
基于超級節點的P2P中Super-node之間的連接是非結構化的,普通節點可以隨機挑選Super-node盲目加入該簇,沒有考慮該Super-node是否失效,加入是否對導致該Super-node提供的服務質量極端下降等問題。因為節點的動態性及提供相同服務節點的地位平等,可能舍棄臨近的、通信效率高的節點而選擇遙遠的、通信效率差的節點[4]。所以簡單產生Super-node對龐大無序P2P仍不是很好的解決方法。
在[4]中,提出了三層區域劃分架構(圖2),在Super-node上層又增加一層--注冊點,形成了三層架構。普通node節點申請加入時,中心點計算可接受度,以此來判斷該節點在哪個注冊點注冊。這是劃分區域的標準。注冊點和Super-node節點不是對等關系,但注冊點和注冊點之間對等。Super-node在注冊點注冊,注冊點保存隸屬其的Super-node信息和所有其他Super-node信息,供node節點進行查詢。
4 兩種P2P模型架構性能分析
搜索效率:基于Super-node P2P當多數的Super-node都失敗或TTL為0搜索失敗。搜索具有廣度和深度,和純分散式比較,大大降低了消息洪泛式傳播,有較高效率。三層區域劃分結構,因注冊點及劃分注冊區域,普通node查詢時,先在本注冊區域查詢,失敗再到臨近注冊區域,本注冊區域節點效率高,且搜索大都可在本注冊區域得到回應,所以搜索效率比基于Super-node的搜索有進一步的提高。
帶寬利用:基于Super-node的P2P查詢廣播范圍比純分散式小,減少網絡阻塞,對服務提供代理有效利用帶寬。三層區域劃分架構,利用較小帶寬的查詢實現了大帶寬的文件共享及傳送。
可擴展性和負載平衡:基于Super-node和三層區域劃分架構的P2P與原來的傳統模式相比擴展性更好,節點加入和離開更加自由。前者中通過增加備份節點來輔助Super-node進行管理,后者利用注冊點為大多P2P的不兼容提供平臺。在注冊搜索方面兩者都實現了負載平衡。
安全機制:大量分散連接的普通node,要確保安全。P2P安全包括信息加密、用戶身份認證、服務授權、惡意站點識別和應對等。基于Super-node和三層區域劃分架構的P2P都能提供身份認證,確保節點可靠。但認證過程的額外消耗是不可避免的。
5 結論
基于Super-node的P2P網絡和基于區域劃分結構的P2P網絡比起以前的P2P純分散網絡在性能上有了很大改善,且通過性能分析對比發現基于區域劃分結構的P2P比基于Super-node的P2P優勢更明顯一些。由于各個節點的分散性,P2P網絡模型中發現機制和搜索機制仍然需要進一步的探索。
參考文獻:
[1]Dana Moor,John Hebeler.peer to peer.清華大學出版社.
[2]陳姝,方濱興,周勇林.p2p技術的研究與應用.計算機工程與應用,2002.
[3]蔡晟,王澤兵,馮雁,陳海燕.基于Super2peer的對等網絡研究.計算機應用研究,2004.
[4]李威,董健全,武雪麗.p2p環境中區域劃分結構及其算法描述.計算機工程與應用,2004.
[5]楊峰,戰守義,沈福祥.p2p超級點網絡可靠性及動態自恢復機制的研究.計算機應用,2004.
[6]X.Li and J.Wu,\"Searching techniques in peer-to-peer networks,\"Handbook of Theoretical and Algorithmic Aspects of Sensor,Ad Hoc Wireless,and Peer-to-Peer Networks,Edited by J.Wu.Auerbach Publications,2006.
[7]R.Zhou and K.Hwang,\"PowerTrust:A Robust and Scalable Reputation System for Trusted P2P Computing\",IEEE Trans. on Parallel and Distributed Systems,accepted to appear,2007.
收稿日期:2008-02-29
作者簡介:楊晶(1978-),女,南陽理工學院軟件學院講師,碩士研究生,研究方向:計算機網絡,數據庫;蔣占生(1978-),男,河南省經濟管理學校助教。