江 濤
肇慶科技職業技術學院信息工程系,廣東 肇慶 526000
P2P(Peer to Peer)指的是對等計算或者對等網絡,通常也簡稱為P2P,具體來說就是網路上的節點通過直接交換的方式,來共享其各自計算機上的各種資源以及服務。在P2P的網絡環境里,成千上萬臺彼此相連的計算機都處于對等地位,整個網絡是不依賴于專用服務器的。網絡中的任一臺計算機既是網絡服務的申請者,又是資源與服務的提供者,因而能夠開發每個網路節點潛力,提高網絡的工作效率。
總的來說,P2P網絡可描述為:網絡的參與者共享其所擁有的部分硬件資源,這些被共享的資源經過網絡,可以被其它的對等節點直接訪問,而不需要去經過中間實體。在這種網絡模式中的參與者,既是資源提供者,又是資源獲取者。
P2P網絡與C/S網絡,是相對應的網絡模式。C/S網絡模式與P2P網絡模式的對比如圖1所示:

圖1 P2P模式和C/S模式
與傳統的C/S模式相比,P2P模式有著明顯優勢:
在P2P網絡中,許多閑散的資源,可以得到許多機會被利用。所有節點的資源總和,即構成整個網絡的資源,因而我們可以把整個網絡,看成是具有優越的存儲能力和強大的計算處理能力的一種超級計算機。對應的,在C/S模式下,即使客戶端,有著大量的閑散資源,也是無法被充分利用。
P2P網絡中,每個節點,都是一個活動的參與者,都會向網絡貢獻一定資源,比如存儲的空間、CPU運算、各種資源等。所以加入的節點越多,規模越大,網絡的性能就越好也越穩固。而在C/S模式下,客戶端之間共享資源需要經過服務器,網絡節點的增加,會增大服務器的負擔,一旦超過服務器的承受能力而崩潰,整個網絡也會處于癱瘓。
P2P也有不足之處:1)缺乏管理機制。不像C/S模式,只需要在服務器進行管理;3)P2P網絡中,數據的安全面臨較大威脅。此外還存在占用網絡帶寬,侵犯版權等問題。
在P2P網絡中,一個節點的搜索請求,通過網絡,將可同時發給網絡上其他N個節點,假設搜索請求沒有得到滿足,這N個節點又會將該搜索請求,轉發給另外N個節點,如果這個過程持續進行下去,搜索范圍將在短短數秒內,急速擴大,很快可搜索上百萬節點的信息資源。
P2P資源搜索的這種策略需要較好的算法支持。當某個節點,發起一個查詢時,將這個查詢的消息數據包,廣播到其鄰居節點。對于查詢請求,接收到查詢消息的節點,首先會判斷自己是否符合查詢的要求,然后再決定是否按照制定的策略進行轉發。一旦查詢命中,即可通知發起節點,并在之間建立連接,進行相應任務。查詢的命中與否,并不是取決于某個確定的節點,而是關系到,算法所規定的所有節點。因而具有較好的魯棒性。一般P2P搜索算法是針對非集中式的拓樸領域內,按拓樸組織形式可分為結構化搜索算法和非結構化搜索。
結構化的P2P搜索算法,大都是DHT算法來實現的。目前已經有幾種比較成熟的DHT搜索算法:Chord,CAN,Tapestry,Pastry等。這里主要介紹基于靜態環形拓撲結構的經典chord算法。
Chord算法以DHT思想為指導,其核心思想可以描述為:Chord將DHT的文件索引表進行細分,分成多個的小局部文件索引表,再分別存放于環中的各個節點。一旦收到搜索命令時,就可通過一定的方式,連接到某幾個節點的局部文件索引表,查找存放該資源的節點并獲取資源所在節點地址。
非結構化P2P的基本搜索算法,是Flooding算法,主要的代表是Gnutella系統。這種算法是通過查詢鄰節點,并通過鄰節點的轉發來達到遍歷網絡中所有節點,從而得到盡可能多的查詢響應。可以為每個消息,設立一個最大的網絡生存時間TTL。每轉發一次就減少TTL,直到TTL為1時,便停止轉發。
在混合式P2P搜索中,資源的查詢以混合模式實現:比如熱門資源通過Flooding算法,而稀有資源則使用基于DHT的有結構搜索算法。通過這種混合設計,去同時獲得對熱門資源和稀有資源的搜索效率和質量。
查詢請求,在網絡中擴散,需要經過多個節點。而每個節點都要花費時間和資源,對其請求進行處理,是否有滿足查詢要求,是否轉發查詢請求。因而用資源的消耗,去衡量搜索的效率。高效的搜索技術要做到以較少的資源去獲得較滿意的搜索效果。
一般P2P網絡的規模很大,并且隨著加入的節點增多,規模急劇增長。P2P搜索需要滿足網絡對擴展性的要求,當網絡規模急劇膨脹時,也能夠及時有效的,滿足節點的搜索需求。
P2P網絡其節點規模是動態的變化的,網絡中節點,通常會頻繁的加入或退出。根據對Gnutella的統計,超過40%的節點,在線的時間通常少于4個小時,而只有25%的節點,在線時間多于24小時。搜索方法良好的健壯性,可以保證在節點故障或者退出網絡時,把影響降到最低,最大程度的保證搜索到足夠的資源。
P2P網絡是當前計算機網絡領域的一個熱點問題。搜索策略作為P2P技術的關鍵技術,也是目前研究的熱門領域。在P2P網絡搜索中,無需通過中心服務器,也可以不受設備或搜索信息格式的制約,實現對網絡的全方位搜索。其搜索深度和廣度是傳統搜索引擎難以比擬的,其搜索范圍可在短時間內,迅速增長,采集到的信息將有更強的實時性和有效性。P2P網絡搜索技術具有潛在廣闊的應用前景。
[1]張曉剛.基于JXTA技術的P2P應用系統的研究與開發[J].微型電腦應用,2006(1):15-l7.
[2]郭麗,楊振啟.P2P技術原理及安全性問題淺析[J].網絡安全技術與應用,2005(6):37-38.
[3]李祖鵬,黃道穎,莊雷.基于Peer-to-Peer網絡的JXTA技術研究[J].計算機工程與應用,2003,Vol.11:67-69.
[4]張利平,吳秀玲.基于P2P技術的搜索技術的研究[J].普圖學刊,2008(5).