摘要:P2P網絡是構建于物理網絡拓撲之上的一層重疊網絡。針對目前P2P網絡模型中缺乏安全和管理機制的問題,提出一種新型P2P網絡模型——基于拓撲感知的分層集中P2P網絡模型。從可運營的角度出發,通過在此網絡模型上引入用戶認證管理和用戶安全計費機制,實現了對用戶網絡行為的有效管理和監督。
關鍵詞:對等網絡;智能節點;區域代理;認證管理;安全計費
中圖分類號:TP393文獻標志碼:A
文章編號:1001-3695(2007)07-0252-03
自1999年以來,P2P[1,2](Peer-to-Peer)網絡技術的研究得到國內外研究者的廣泛關注,成為計算機網絡技術研究領域發展最快的應用型技術之一。但是P2P網絡存在很大的動態性和服務的分散性,給P2P技術的應用帶來了一些問題。首先,對等點不易于管理控制,P2P網絡中的數據安全性難以保證;其次,由于各個對等點可能在不同時間、不同地點動態地加入和退出網絡,造成網絡帶寬和信息存在的不穩定。因此,用戶的行為和活動無法得到有效控制,而現有P2P網絡模型中又缺乏相應的管理機構對用戶加以管理和監督,導致了P2P網絡出現的無政府狀態。
為了解決這些問題,提出了一種新型P2P網絡模型——基于拓撲感知的分層集中P2P網絡模型(Topology-Aware based Hierarchical Aggregation Network,TAHAN)。在TAHAN網絡模型基礎上,通過引入用戶認證管理和用戶安全計費機制,建立一種可運營的P2P網絡模型,實現對用戶網絡行為的有效管理和監督,同時也確保了網絡安全。
1TAHAN網絡模型
1.1相關研究
從技術角度上講,P2P的網絡模型主要有三種不同的形式[3]:①中心文件目錄/分布式文件系統網絡模式(如Napster[4])。此模型的優點是查找效率較高且易于管理,但服務器負載大,容易成為單點故障和性能瓶頸。②純P2P網絡模式(如Gnutella[5])沒有中間服務器,接近于絕對自由。這樣形成的P2P網絡很難進行諸如安全、身份認證、流量等控制。③基于超級節點的兩層結構P2P虛擬網絡模式,是前兩類模型的折中,如JXTA 2.0 Super-Peer Virtual Network[6]。將網絡劃分為多個自治域,通過自治域來管理網絡。域內節點分為超級節點和普通節點。超級節點由域內功能最強的節點承擔,負責域內網絡的管理。此模型具有較好的安全性與可管理性,但也存在自治域劃分策略不清、路由時沒有與節點在網絡中的實際物理位置相結合等缺點。
本文主要是從可運營角度出發,針對以上三種模型存在的不足,提出一種類似于上述的第三種模式的新型P2P網絡模型——基于拓撲感知的分層集中P2P網絡模型(TAHAN)。在網絡結構上采用混合式的超級對等網絡結構,在路由算法上提出一種基于物理拓撲位置的分層聚集的路由算法,使此網絡模型能更好地實現可控性和可管理性。同時,路由時不僅考慮了邏輯上節點的鄰近性,還結合了附近節點的物理位置和拓撲結構。
1.2模型設計的基本思想
TAHAN的主要設計思想是在P2P網絡中設置多個智能節點,以智能節點為入口,通過引入基于網絡實際拓撲的分層集中和組群劃分機制,將物理位置較近的節點劃分到一個組群,從而建立起拓撲感知的層次化網絡拓撲結構。通過組群劃分的方法可以使P2P網絡中很大一部分資源共享過程在組群內部完成,因而大大縮短了用戶下載時間,同時減少了消息發送數量,并有效提高了系統的查詢效率。
1.3TAHAN網絡拓撲模型
1.3.1基本概念
定義1智能節點(INode)。相當于網絡運營商,保存著本域組的所有節點的相關信息,負責管理所在域組中的節點的加入、退出、更新和消息路由,以及與其他智能節點交互共享信息。
定義2普通節點(Peer)。類似于C/S結構中的普通用戶,性能較弱。
定義3區域代理(LA)。由INode選擇在線時間較長和性能較強的Peer節點擔任,負責管理所在區域內節點的信息。此節點具有雙重身份,既是普通節點又是區域代理。
定義4參照地址列表(ListIP)。由各LA的本地路由器地址(LIP)和鄰居路由器地址(NIP)組成的集合。
1.3.2TAHAN網絡體系結構
該系統網絡拓撲是構建于物理網絡拓撲之上的一層重疊網絡,屬于應用層的虛擬網絡。網絡拓撲分為三層(圖1):①底層是由用戶(Peer)組成的集合;②區域代理層是在按用戶實際地理位置劃分出不同區域的基礎上,由各區域代理(LA)組成的集合;③頂層由分布在各地的智能節點(網絡服務提供商ISP)組成,同時此系統部署一個認證中心。用戶、區域代理和本地的智能節點之間呈樹型結構;智能節點(INode)之間呈網狀結構相互轉換信息;認證中心(CA中心)負責為系統用戶生成和管理證書,提供函數庫支持簽名、認證功能。
1.3.3組群劃分策略
以智能節點為入口,通過網絡探測方法采用Traceroute消息命令得到一條從Peer到INode的路徑,提取Peer節點最相鄰的兩個路由器的IP地址(分別稱為LIP和NIP),利用這兩個路由器的IP地址與參照的IP地址列表相比較來劃分組群。此方法與目前普遍采用的Ping消息命令相比,更具有地理位置的相鄰性。
TAHAN模型的組群劃分步驟如下:
Procedure:ClustingPartition(PeerN)
Step1: JoinRequest(PeerN);// PeerN向INode請求加入
Step2: Response(PeerN);
//INode響應PeerN的請求,并返回ListIP
Step3: 使用Traceroute消息命令,得到PeerN的LIP和NIP;
Step4: JoinClusting(LIP,NIP, ListIP )
{if(LIP∈ListIP) then{PeerN加入到LAi所屬區域中};
else if(NIP∈ListIP) then{PeerN加入到LAi所屬區域中};
else ListIP=ListIP+{LIP,NIP};
//PeerN自動成為一個LA,并加入到ListIP中
}
1.3.4資源查詢策略
當節點要查詢時,按照本區域—域間—智能節點間的順序進行查詢。
資源查詢描述如下:
(1)當節點要查詢時,它向區域代理LA發送查詢請求,LA首先在本地資源管理目錄進行查詢,一旦找到,則返回響應消息給節點,查詢過程結束;否則進入(2)。
(2)該節點將查詢擴展到其他區域進行,區域代理通過泛洪方式,請求其他區域代理幫助查詢,如果找到所需資源,則返回響應消息給源節點,查詢過程結束;否則進入(3)。
(3)節點將查詢擴展到其所屬智能節點進行,智能節點通過泛洪方式,請求其他智能節點幫助查詢,一旦命中,則返回響應消息給源節點,查詢過程結束;否則返回查詢失敗。
1.4TAHAN模型與現有主流P2P網絡模型的比較
與現有主流網絡模型相比,TAHAN模型主要具有以下優點:
(1)引入基于網絡實際拓撲的分層聚集和組群劃分機制,避免了繞路問題,有效地提高了查詢效率。
在TAHAN中,將物理位置較近的節點劃分到一個組群,較好地解決了現有P2P網絡路由時存在的繞路問題。層次化的查詢方式有效地提高了節點間查詢定位和消息應答的處理速度。同一區域內節點可以通過查詢該區域的LA來獲取其他節點的信息,避免了直接訪問智能節點而造成的延時,同時也減輕了智能節點的負擔。
(2)區域代理的引入和層次化網絡拓撲結構的建立,大大降低了網絡的通信流量。
在TAHAN中,節點的加入方式與Napster模型一樣,都是直接向智能節點發出請求。盡管LA之間以及INode之間的查詢通過泛洪方式,但根據P2P網絡的Small-world[7]特性,資源查詢大多數是通過LA進行的。因此,網絡中傳遞的查詢請求和響應等消息數量將大大減少,從而有效地降低了Gnutella模型中因廣播查詢而占用的大量帶寬。
(3)TAHAN模型具有更好的網絡可擴展性
通過引入LA,建立起分層聚集體系結構,TAHAN模型能較好地支持P2P網絡中節點隨機加入和退出網絡的動態特性。由于TAHAN采用的是樹型拓撲結構,網絡中任意兩個節點間最大傳輸距離與網絡節點個數N成O(log N)的關系。這種結構大大降低了查詢時延并有效地提高了網絡可擴展性。同時各智能節點是相當于分布在世界不同位置的網絡服務提供商,也使得TAHAN模型可應用于大型網絡應用中。
2P2P網絡運營系統的設計
2.1用戶認證管理機制
由于P2P網絡是動態變化的,用戶可能隨時加入和退出網絡。該系統采用用戶認證及注冊、登錄、文件下載等一系列過程,對每個用戶進行安全認證和身份識別,并通過智能節點記錄每個用戶的相關注冊信息來實現對用戶網絡行為的有效監督和管理,同時也確保了網絡安全。
2.1.1用戶認證和注冊過程
用戶N向智能節點認證和注冊的過程(圖2)描述如下:
(1)用戶N根據1.3.3節的TAHAN組群劃分機制選擇離自己最近的區域,向INode發送請求注冊消息。
(2)INode接收用戶N的請求消息后,首先利用N的請求消息生成N在P2P網絡中唯一標志NodeID;然后通知CA中心給用戶N認證。
(3)CA中心對N進行認證,并將證書信息返回給INode。
(4)INode收到用戶N的證書信息后,首先在用戶管理目錄中登記用戶N的相關信息,包括N的NodeID、認證信息、注冊時間,并通告PeerA歸屬的區域代理LA。
(5)INode向用戶N發送相關的注冊消息,包括NodeID、證書信息、歸屬智能節點的標志(Attributive INode identifier, AIid)。
(6)用戶N保存注冊信息,并向INode確認認證完成消息。
用戶登錄過程與用戶認證和注冊過程相似。所不同的是INode收到用戶N的請求登錄消息后,首先比較AIid與自己的NodeID是否相等,判斷N是否處于漫游狀態。如果相等,則用戶N正常登錄;否則,INode將根據用戶N所提交的AIid向其歸屬INode發送用戶N信息查詢請求消息,而N歸屬智能節點收到消息后對N進行身份驗證并返回N的相關信息。
2.1.2文件傳輸過程
用戶N文件傳輸過程如圖3所示。
具體描述如下:
(1)用戶N向LA發出資源查詢請求。
(2)LA采用TAHAN資源查詢算法進行搜索后,根據所有命中節點的狀態信息(如帶寬、處理能力和所屬區域),按某種評估算法計算出相應用戶的評估值;同時依照用戶N的服務等級,選出合適的用戶信息列表(如用戶的NodeID、IP地址和評估值等信息 )給用戶N。
(3)根據LA所提供的用戶列表,用戶N直接與這些用戶聯系,依據服務級別和內容信息實現下載操作。
(4)完成下載后,用戶N向INode報告完成本次下載過程從各用戶端實際下載數據的數據量大小。
2.2用戶安全計費機制
為了保證用戶之間交互的安全,提出一種安全機制來驗證用戶身份的真實性,采用CA認證中心服務器,即通過認證中心給系統中的每個用戶簽發證書,以證明其身份的一段信息或一個文件來達到認證的目的。用戶登錄和文件下載時均要進行身份識別,以保證整個網絡行為的安全性。
TAHAN系統中,智能節點記錄了各個用戶網絡行為日志,包括用戶登錄時間、退出時間、從其他節點下載文件的數據量。通過這種用戶管理機制可以實現兩種計費方式,即流量計費與時間計費,可以滿足不同用戶的需求。同時系統可以進一步引入用戶激勵機制,用戶上傳和下載按某種策略相抵消,以此來激勵用戶進行積極的網絡行為,從而消除目前P2P網絡存在的有些用戶“只下載不上傳”的本位主義觀念,實現“我為人人,人人為我”的P2P網絡理念。
3結束語
針對目前P2P網絡模型中缺乏安全和管理機制的缺陷,提出了一種基于拓撲感知的P2P網絡模型。通過引入基于網絡實際拓撲的分層集中和組群劃分機制,可以將物理位置較近的節點劃分到一個組群,從而建立起層次化的P2P網絡拓撲結構。并在TAHAN中引入用戶認證管理和用戶安全計費系統,實現了對用戶網絡行為的有效監督和管理功能,避免了P2P網絡一直存在的管理混亂和商業價值不高的缺點。下一步將研究通過在TAHAN中引入節點信任機制,進一步完善用戶管理和用戶計費系統。
參考文獻:
[1]MILOJICIC D S,KALOGERAKI V,et al.Peer-to-Peer computing,HPL-2002-57 [R].[S.l.]:HP Laboratories Palo Alto,2003.
[2]FOX G.Peer-to-Peer networks[J].Web Computing,2001,3(3):75-77.
[3]PARAMESWEARAN M,SUSARLA A,WHINSTON A.P2P networking:an information-sharing alternative [J].Computer,2001,34(7):31-38.
[4]The Napster Homepage[EB/OL].http://www.napster.com.
[5]The Gnutella Homepage[EB/OL].http://www.gnutella.com.
[6]TRAVERSAT B, ARORA A, ABDELAZIZ M, et al. Project JXTA 2.0 super-peer virtual network[EB/OL].[2004-09-20]. http://www.jxta.org/project/www/docs/JXTA2.0protocols1.pdf/.
[7]KLEINBERG J.The small-world phenomenon:an algorithmic perspective:ACM symp on theory of computing[EB/OL].[2000]. http://nicomedia.math.upatras.gr/courses/mnets/mat/Kleinberg_SW_algorithmic.pdf/.
[8]孫鵬,黃鑫,莊雷.認證技術在P2P網絡中的應用研究[J].計算機應用與軟件,2005,22(6): 115-118.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”