P2P研究:主要應用模式及其現存問題

對等網絡(P2P)被美國《財富》雜誌稱爲改變因特網發展的四大新技術之一,甚至被認爲是無線寬帶互聯網的未來技術。

  P2P技術不僅爲個人用戶提供了前所未有的自由和便利,同時也試圖有效地整合互聯網的潛在資源,將基於網頁的互聯網轉變成動態存取、自由交互的海量信息網絡。

  P2P技術的發展以及P2P與網格技術的結合,將影響整個計算機網絡的概念和人們的信息獲取模式,真正實現“網絡就是計算機,計算機就是網絡”的夢想。
  作爲改變現有Internet應用模式的主要技術之一,計算機對等網絡(P2P)是目前新一代互聯網技術研究的熱點之一。

  自1999年以來,P2P的研究得到了國內外學術界和商業組織的廣泛關注,同時,由於P2P本質特性不可避免地存在着許多社會、法律和技術上的問題,在學術界和產業界也一直存在着一些懷疑的力量,這在很長一段時期使人們難以對P2P做出一個準確和公平的判斷。

  本文較爲完整地分析了P2P網絡的4種典型結構,並對P2P的主要應用模式、存在的問題以及可能的發展方向進行簡要闡述。

  1.P2P網絡模型

  P2P網絡是一種具有較高擴展性的分佈式系統結構,其對等概念是指網絡中的物理節點在邏輯上具有相同的地位,而並非處理能力的對等。以Napster軟件爲代表的P2P技術其實質在於將互聯網的集中管理模式引向分散管理模式,將內容從中央單一節點引向網絡的邊緣,從而充分利用互聯網中衆多終端節點所蘊涵的處理能力和潛在資源。相對於傳統的集中式客戶/服務器(C/S)模型,P2P弱化了服務器的概念,系統中的各個節點不再區分服務器和客戶端的角色關係,每個節點既可請求服務,也可提供服務,節點之間可以直接交換資源和服務而不必通過服務器。

  P2P系統最大的特點就是用戶之間直接共享資源,其核心技術就是分佈式對象的定位機制,這也是提高網絡可擴展性、解決網絡帶寬被吞噬的關鍵所在。迄今爲止,P2P網絡已經歷了三代不同網絡模型,各種模型各有優缺點,有的還存在着本身難以克服的缺陷,因此在目前P2P技術還遠未成熟的階段,各種網絡結構依然能夠共存,甚至呈現相互借鑑的形式。

  1.1 集中目錄式結構

  集中目錄式P2P結構是最早出現的P2P應用模式,因爲仍然具有中心化的特點也被稱爲非純粹的P2P結構。用於共享MP3音樂文件的Napster是其中最典型的代表(見圖1),其用戶註冊與文件檢索過程類似於傳統的C/S模式,區別在於所有資料並非存儲在服務器上,而是存貯在各個節點中。查詢節點根據網絡流量和延遲等信息選擇合適的節點建立直接連接,而不必經過中央服務器進行。這種網絡結構非常簡單,但是它顯示了P2P系統信息量巨大的優勢和吸引力,同時也揭示了P2P系統本質上所不可避免的兩個問題:法律版權和資源浪費的問題。

  1.2 純P2P網絡模型

  純P2P模式也被稱作廣播式的P2P模型。它取消了集中的中央服務器,每個用戶隨機接入網絡,並與自己相鄰的一組鄰居節點通過端到端連接構成一個邏輯覆蓋的網絡。對等節點之間的內容查詢和內容共享都是直接通過相鄰節點廣播接力傳遞,同時每個節點還會記錄搜索軌跡,以防止搜索環路的產生。

  Gnutella模型是現在應用最廣泛的純P2P非結構化拓撲結構(見圖2),它解決了網絡結構中心化的問題,擴展性和容錯性較好,但是Gnutella網絡中的搜索算法以泛洪的方式進行,控制信息的泛濫消耗了大量帶寬並很快造成網絡擁塞甚至網絡的不穩定。同時,局部性能較差的節點可能會導致Gnutella網絡被分片,從而導致整個網絡的可用性較差,另外這類系統更容易受到垃圾信息,甚至是病毒的惡意攻擊。

  1.3 混合式網絡模型

  Kazaa模型是P2P混合模型的典型代表(見圖3),它在純P2P分佈式模型基礎上引入了超級節點的概念,綜合了集中式P2P快速查找和純P2P去中心化的優勢。Kazaa模型將節點按能力不同(計算能力、內存大小、連接帶寬、網絡滯留時間等)區分爲普通節點和搜索節點兩類(也有的進一步分爲三類節點,其思想本質相同)。其中搜索節點與其臨近的若干普通節點之間構成一個自治的簇,簇內採用基於集中目錄式的P2P模式,而整個P2P網絡中各個不同的簇之間再通過純P2P的模式將搜索節點相連起來,甚至也可以在各個搜索節點之間再次選取性能最優的節點,或者另外引入一新的性能最優的節點作爲索引節點來保存整個網絡中可以利用的搜索節點信息,並且負責維護整個網絡的結構。

  由於普通節點的文件搜索先在本地所屬的簇內進行,只有查詢結果不充分的時候,再通過搜索節點之間進行有限的泛洪。這樣就極爲有效地消除純P2P結構中使用泛洪算法帶來的網絡擁塞、搜索遲緩等不利影響。同時,由於每個簇中的搜索節點監控着所有普通節點的行爲,這也能確保一些惡意的攻擊行爲能在網絡局部得到控制,並且超級節點的存在也能在一定程度上提高整個網絡的負載平衡。

  總的來說,基於超級節點的混合式P2P網絡結構比以往有較大程度的改進。

  然而,由於超級節點本身的脆弱性也可能導致其簇內的結點處於孤立狀態,因此這種局部索引的方法仍然存在一定的侷限性。這導致了結構化的P2P網絡模型的出現。

  1.4 結構化網絡模型

  所謂結構化與非結構化模型的根本區別在於每個節點所維護的鄰居是否能夠按照某種全局方式組織起來以利於快速查找。結構化P2P模式是一種採用純分佈式的消息傳遞機制和根據關鍵字進行查找的定位服務,目前的主流方法是採用分佈式哈希表(DHT)技術,這也是目前擴展性最好的P2P路由方式之一。由於DHT各節點並不需要維護整個網絡的信息,只在節點中存儲其臨近的後繼節點信息,因此較少的路由信息就可以有效地實現到達目標節點,同時又取消了泛洪算法。該模型有效地減少了節點信息的發送數量,從而增強了P2P網絡的擴展性。同時,出於冗餘度以及延時的考慮,大部分DHT總是在節點的虛擬標識與關鍵字最接近的節點上覆製備份冗餘信息,這樣也避免了單一節點失效的問題。

  目前基於DHT的代表性的研究項目主要包括加州大學伯克利分校的CAN項目和Tapestry項目,麻省理工學院的Chord項目、IRIS項目,以及微軟研究院的Pastry項目等。這些系統一般都假定節點具有相同的能力,這對於規模較小的系統較爲有效。但這種假設並不適合大規模的Internet部署。同時基於DHT的拓撲維護和修復算法也比Gnutella模型和Kazaa模型等無結構的系統要複雜得多,甚至在Chord項目中產生了“繞路”的問題。事實上,目前大量實際應用還大都是基於無結構的拓撲和泛洪廣播機制,現在大多采用DHT方式的P2P系統缺乏在Internet中大規模真實部署的實例,成功應用還比較少見。

  2.P2P網絡應用模式

  Internet最初產生和發展的一個主動力就是資源共享,也正是文件交換的需求直接導致了P2P技術的興起,這是P2P最初也是最成功的應用之一,也正是針對這類應用的Napster使得人們在客戶/服務器模式下開始重新認識P2P思想對人們使用網絡習慣的影響。

  隨着人們對P2P思想的理解和技術的發展,作爲一種軟件架構,P2P還可以被開發出種類繁多的應用模式,除了最初的文件交換之外,還出現了一些分佈式存儲、深度搜索、分佈式計算、個人即時通信和協同工作等新穎應用。其中最著名的例子是基於分佈式計算的搜索外星文明SETI@home科學實驗,每個志願參加者只需下載並運行類似屏幕保護的方式,就可以貢獻自己閒置的計算能力,參與分析Arecibo射電望遠鏡的無線電磁波數據並回送計算數據,截至2004年12月,已有528萬志願者參加進來,獲得了相當於216萬年的CPU時間,僅一天的綜合計算就相當於67.46Tflops運算。另外,隨着SUN公司將其JXTA協議擴展到諸如個人數字助理(PDA)和移動電話等手持終端上,並允許人們屏蔽具體的物理平臺進行資料共享和文件交換等,P2P技術在移動通信和智能網領域也開始呈現出較大應用前景。

  3.P2P網絡存在的問題

  P2P最大的優點在於能夠提供可靠的信息查詢,但從社會和法律意義來說,絕大多數的P2P服務都將不可避免地遇到知識產權衝突,也可能成爲一些非法內容傳播的平臺。同時由於缺乏中心監管以及自由平等的動態特性,自組織的P2P網絡在技術層面也有許多難以解決的問題。

  從某種意義上來說,P2P網絡和人際網絡具有一定的相似性。一般來說,每個P2P網絡都是衆多參與者按照共同興趣組建起來的一個虛擬組織,節點之間存在着一種假定的相互信任關係,但隨着P2P網絡規模的擴大,這些P2P節點本質所特有的平等自由的動態特性往往與網絡服務所需要的信任協作模型之間產生矛盾。激勵作用的缺失使節點間更多表現出“貪婪”、“抱怨”和“欺詐”的自私行爲,因此P2P中預先假設的信任機制實際上非常脆弱,同時這種信任也難以在節點之間進行推理,導致了全局性信任的缺乏,這直接影響了整個網絡的穩定性與可用性。此外,相對於傳統客戶/服務器模式的服務器可以做主動和被動的防禦,由於P2P節點安全防護手段的匱乏以及P2P協議缺乏必要的認證機制和計算機操作系統的安全漏洞,安全問題在P2P網絡中更爲嚴重,這將直接影響P2P的大規模商用。另外,P2P網絡中的節點本身往往是計算能力相差較大的異構節點,每一個節點都被賦予了相同的職責而沒有考慮其計算能力和網絡帶寬,局部性能較差的點將會導致整體網絡性能的惡化,在這種異構節點的環境中難以實現優化的資源管理和負載平衡。同時,由於用戶加入離開P2P網絡的隨意性使得用戶獲得目標文件具有不確定性,導致許多並非必要的文件下載,而造成大量帶寬資源的濫用。特別是大多數P2P用戶更喜歡傳送音頻、視頻這些較大的媒體文件,這將使得帶寬浪費問題更爲突出,尤其在中國大量的用戶還是撥號用戶,較窄的帶寬也成爲P2P應用難以逾越的障礙。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章