論P2P網絡模型分析與探討

時間:2022-03-18 03:30:00

導語:論P2P網絡模型分析與探討一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

論P2P網絡模型分析與探討

摘要p2p模型是一種基于互聯網環境的新的應用型技術,可以充分利用大量自治的參與者的資源,主要為軟件技術。該文首先對比了傳統的客戶/服務器模型與P2P網絡模型的基本特性,然后闡述了典型的四種P2P模型的技術特點,接著探討了P2P模型的關鍵技術,最后分析了P2P模型存在的問題,展望了P2P的應用前景。關鍵詞P2P;客戶/服務器;網絡模型1引言今日的Internet正面臨著一場革命。這場革命試圖改變當前以客戶/服務器為基本特性之一的互聯網架構,結束以服務器為主導的Internet,這就是P2P。P2P,即PeertoPeer,稱為對等連接或對等網絡,主要指由硬件形成連接后的信息控制技術。P2P讓人們通過互聯網直接交互,使得網絡上的溝通變得容易、更直接共享和交互,真正地消除中間商。2從客戶/服務器模型到P2PP2P是一個網絡的模型,它的基本概念就是任何的節點都可以作為服務器或者客戶端。傳統的客戶/服務器網絡,都有預定義的客戶和服務器節點,而P2P則不同,P2P可提供一些額外的特性,而這些特性使用傳統的客戶/服務器模型是無法實現的。基于P2P的模型與客戶/服務器(C/S)模型相比,其優勢在于降低了對服務器的依賴和它的分散控制能力(相對于服務器的集中控制)。一些P2P模型甚至不需要服務器,用戶可以不經過服務器和其他用戶進行連接。在傳統的結構下必須使用傳統的規則,用戶在P2P模型下比傳統的客戶/服務器結構有更多的命令。P2P系統和C/S系統不同,它沒有單一的失敗點。在一些模型中,P2P把服務器放到合適的位置,服務器的作用被限制到最小。為了共享文件,用戶不需要服務器的幫助,他們之間可以直接進行。P2P的另一個重要特點是改變互聯網現在的以大網站為中心的狀態、重返“非中心化”,并把權力交還給用戶。從網絡看,P2P并不是新概念,P2P是互聯網整體架構的基礎。互聯網最基本的協議TCP/IP并沒有客戶機和服務器的概念,所有的設備都是通訊的平等的一端。在十年之前,所有的互聯網上的系統都同時具有服務器和客戶機的功能。當然,后來發展的那些架構在TCP/IP之上的軟件的確采用了客戶機/服務器的結構。在20世紀90年代,客戶/服務器計算體系極為流行,它之所以流行時因為它打破了世界上一些數據提供者的壟斷。同時,它也鼓勵資源共享并為它的用戶提供不同的防火墻。但是1999年Napster對C/S體系提出了挑戰,它是基于P2P的應用,延伸了共享的意義,超出了C/S創建者的想象。通過MP3文件的共享系統,Napster使得網絡在深度和廣度上又向前邁進了一步,并獲得更大的可伸縮性而進行優化。P2P和C/S模型各有千秋。例如,在C/S模型中,當許多的用戶登陸來下載信息時,服務器就成了瓶頸;P2P模型與之相反,在網絡用戶之間傳送太多的請求會使網絡管理員繁忙,并使網絡本身的負載增加。除此之外,在商業的管理和控制方面,P2P模型明顯優于C/S模型。關于P2P的流行和使用,許多商業機構正在各自的領域內尋求合作。P2P的另一個優點就是公司可以建立集體的計算能力,因此不必考慮服務器和昂貴的存儲設備。P2P已經在共享資源和服務器的開銷方面對網絡界產生了巨大反響。與C/S模型相比,P2P是更好的選擇,它正在變得更靈活,更通用。3P2P網絡模型分析P2P網絡模型可以分為以下幾種類型:(1)純P2P模型;(2)帶有簡單的發現服務器的P2P模型;(3)帶有發現和查找服務器的P2P模型;(4)帶有發現,查找和內容服務器的P2P模型。3.1純P2P模型

純P2P模型完全依賴于計算機(C/S模型中的客戶)。這似乎是矛盾的,因為每個網絡模型都像傳統的C/S模型一樣涉及到客戶和服務器。但是純的P2P模型不依賴任何中心服務器而工作。一旦P2P應用程序下載到計算機的內存中,網絡中的端就會動態地發現其他連接的端,相連端之間的通信完全不需要來自服務器的圖1純P2P模型純P2P模型打破了C/S模型傳統的通信方式,在以前的C/S模型下,客戶和服務器之間的通信是基于服務器設定的規則。純P2P模型允許用戶設定他們自己的規則和建立自己的網絡環境,這種模型避免了用戶成為利用Internet服務器或ISP的一部分,完全消除了他們的麻煩。為了與Internet合作,P2P模型提供了近似的即插即用的特性,即你只要連上Internet,就能使用P2P的特性。純P2P模型的另一個優點就是它不僅能夠在Internet下有效地工作,而且對于LAN和Intranet也非常有用。純P2P模型存在的唯一問題就是網絡上的端發現問題,因為沒有一個中心管理者注冊登陸到網絡上的端,所以用戶自己必須定位其他的端。3.2帶有一個簡單的發現服務器的P2P模型這樣的P2P模型實際上不包括一個服務器。因為這種模型中的服務器的作用已經下降,只是為了實現一些管理。正在加入的端通知服務器它已經登陸了,服務器的作用只限于為正在加入的端提供連接的另一個端的名字。一定要注意服務器僅僅是提供相連端的清單來輔助端,建立連接和通信仍然是端之間的事情(見圖2)。這樣的P2P模型通過提供給端一系列已經相連端的清單而超出純P2P模型,這樣增加了發現網絡上大量端的機會。為了下載資源,端必須單獨與每個相連端接觸并發出請求,這樣會消耗大量的處理時間。客戶/服務器的模型與此相反,任何端查找資源不需要圍繞其他相連的端,因為服務器本身維護了所有必須的內容。3.3帶有發現和查找服務器的P2P模型這種模型中,服務器提供相連端的清單和它們的可用資源(見圖2)。因此,這種模型為增強服務器的功能而繼承了純P2P和帶有簡單發現服務器的P2P兩者的特性。這種模型減輕了端的負擔,因為不再需要通過訪問每個端來查找必要的信息。這種模型中的服務器初始化兩個端的通信,然后,這兩個相連的端建立通信,保持連接并執行各種活動,例如登陸進入相連的信息數據庫,進入它們共享的資源目錄等等。圖2帶有一個簡單的發現服務器的P2P3.4帶有發現,查找和內容服務器的P2P模型這種模型中,服務器占有支配地位,正如在傳統的客戶/服務器體系中一樣。所有滿足端請求的部分都從端的范圍內移出而進入服務器的范圍(見圖3)。同樣,端之間不允許直接互相連接,因為所有的資源都存儲在中心服務器的數據庫中。如果一個端需要信息,它直接訪問服務器而不是和另外的端通信,服務器處理這些請求并顯示信息來源。這種模型主要的缺點在于如果同時有太多的請求,服務器的速度會減慢;這種模型的另一個缺點就是成本很高,因為服務器必須自己管理、存儲數據并處理所有的請求。

因為這樣的模型完全依賴于中心服務器,所以單點失敗影響整個系統的機會就增加了。這和前面幾個P2P圖3帶有發現、查找和內容服務器的P2P4P2P網絡模型的關鍵技術4.1P2P網絡模型的運行特性P2P是一種基于互聯網環境的新的應用型技術,主要為軟件技術。(1)對于互聯網上眾多計算機,P2P應用比其他應用要更多考慮那些低端PC的互聯,它們不具備服務器那樣強的聯網能力,同時對于以往的P2P應用技術,現在的硬件環境已經更為復雜,這樣在通信基礎方面,P2P必須提供在現有硬件邏輯和底層通信協議上的端到端定位(尋址)和握手技術,建立穩定的連接。涉及的技術有IP地址解析、NAT路由及防火墻。(2)在應用層面上,如果兩個Peer分別代表兩家不同的公司,而且它們已經通過互聯網建立連接,那么一方的信息就必須為另一方所識別,所以當前互聯網上關于數據描述和交換的協議,如XML、SOAP、UDDI等都是一個完善的P2P軟件所要考慮的。(3)有通信就要有安全保障,加密技術是必須要考慮的。(4)其他需考慮的有如何設置中心服務器,如何控制網絡規模等。傳統客戶/服務器的應用程序能夠以前面所講過的任何模型為基礎,但是一個應用程序要成為理想的P2P應用程序必須具有一些條件。每種P2P模型的應用程序都有一些關鍵特性:(1)發現其他端:發現與服務器相連的其他端;(2)為所需內容查詢端:從其他端得到共享資源的清單;(3)和其他端共享內容/資源:能明白內容是怎樣在對等網絡之間共享的。4.2P2P網絡模型中的端發現技術發現其他端是P2P應用的一個基本特征,這個特征根據P2P模型的不同而不同。(1)在純P2P模型中發現其他端因為這個模型沒有服務器,端動態發現其他端并在它們之間直接通信。因此,這種通信不受傳統模型中的條款和規則限制。雖然本地配置方案和網絡信息服務是可用的。但是登陸到模型上的用戶不可能一直擁有可以發送請求的真實端數目;另外,端之間的直接通信會影響系統的安全性。(2)在帶有一個簡單發現服務器的P2P模型中發現端這種模型帶有一個中心服務器,這個服務器在數據庫中存儲了所有注冊用戶的位置。任何搜索一個端的請求都由服務器來處理,它會返回一個數據庫中端的清單。這種模型的主要好處是增強了安全性并對于請求端來說由大量的端可以用,但是如果服務器速度減慢或者崩潰,定位端就會很困難,其他的端也會受到影響。(3)在帶有發現和查找服務器的P2P模型中發現端在這種模型中,服務器提供了服務的清單和端的清單,所有的用戶在登陸時都要通知服務器。這種服務器不僅發現其他端而且返回所有登陸的重要信息。以此,這種模型相比其他的模型減少了時間耗費。(4)在帶有發現,查找和內容服務器的P2P模型中發現端這種模型為響應請求而發現端,在這種情況下中心服務器保留所有重要信息和請求端具有的內容。每個端都在服務器時注冊,服務器通過它自己和服務器響應來處理所有請求,因此這種模型對服務器的要求比較高。4.3P2P網絡模型中的搜索技術在P2P模型中,內容搜索根據模型的應用保持變化。一些P2P結構的模型遵循客戶端的搜索,有些遵循服務器端的搜索,有些遵循以上兩種情況。搜索工具一直在速度快與可靠性的優點和不相關與不可靠信息的缺點之間尋求平衡。有利的條件是速度、直接通信和可靠性,不利的條件是不可靠和費應用信息。下面是不同P2P模型中的搜索技術:(1)在純P2P模型中搜索內容因為這種模型沒有服務器協助通訊,它使用客戶端的搜索模型。如果請求端有關于另外端定位的信息,處理會非常的快速。但是由于沒有服務器可能會導致缺少可以連接的端,導致搜索的端的范圍較小。(2)在帶有一個簡單發現服務器的P2P模型中搜索內容這種模型有一個服務器,但是它同樣使用客戶端的搜索技術。服務器提出請求端連接用戶的一個清單,請求端查找擁有所需內容的端,連接它并獲取內容。這種模型的好處在于它提供了可以連接獲取所需內容的大量端。(3)在帶有發現服務器和查找服務器的P2P模型中搜索內容這種模型遵循客戶端的搜索和服務器端的搜索。在所有的P2P模型中,這種模型是最有效和最靈活的。一個端無論何時要搜索一些特殊的內容,它都可以直接在服務器是對已經相連的端進行搜索,或者簡單的請求服務器對所需信息的結果進行回答。這種模型除了網絡上相連的端外,還有可服務于請求端,服務器上搜索工具可用是因為無論何時一個注冊端登陸后,除了驗證外,還將發送它的名字和共享的資源清單。(4)在帶有發現、查找和內容服務器的P2P模型中查找內容這種模型不能使用客戶端的搜索技術,因為位于中心的服務器管理整個網絡,服務器處理所有的操作。這種模型完全基于服務器的搜索技術,一個端無論何時需要信息,它只需連接服務器,因為服務器數據庫中有完整的信息:從注冊用戶到所有可能的內容。但是如果太多的端訪問服務器,服務器的處理速度就會下降,也會影響到其他相關服務器。4.4P2P網絡模型存在的問題P2P最大的優點在于能夠提供可靠的信息查詢,但從社會和法律意義來說,絕大多數的P2P服務都將不可避免地遇到知識產權沖突,也可能成為一些非法內容傳播的平臺。同時由于缺乏中心監管以及自由平等的動態特性,自組織的P2P網絡在技術層面也有許多難以解決的問題。從某種意義上來說,P2P網絡和人際網絡具有一定的相似性。一般來說,每個P2P網絡都是眾多參與者按照共同興趣組建起來的一個虛擬組織,節點之間存在著一種假定的相互信任關系,但隨著P2P網絡規模的擴大,這些P2P節點本質所特有的平等自由的動態特性往往與網絡服務所需要的信任協作模型之間產生矛盾。激勵作用的缺失使節點間更多表現出“貪婪”、“抱怨”和“欺詐”的自私行為,因此P2P中預先假設的信任機制實際上非常脆弱,同時這種信任也難以在節點之間進行推理,導致了全局性信任的缺乏,這直接影響了整個網絡的穩定性與可用性。此外,相對于傳統客戶/服務器模式的服務器可以做主動和被動的防御,由于P2P節點安全防護手段的匱乏以及P2P協議缺乏必要的認證機制和計算機操作系統的安全漏洞,安全問題在P2P網絡中更為嚴重,這將直接影響P2P的大規模商用。另外,P2P網絡中的節點本身往往是計算能力相差較大的異構節點,每一個節點都被賦予了相同的職責而沒有考慮其計算能力和網絡帶寬,局部性能較差的點將會導致整體網絡性能的惡化,在這種異構節點的環境中難以實現優化的資源管理和負載平衡。同時,由于用戶加入離開P2P網絡的隨意性使得用戶獲得目標文件具有不確定性,導致許多并非必要的文件下載,而造成大量帶寬資源的濫用。特別是大多數P2P用戶更喜歡傳送音頻、視頻這些較大的媒體文件,這將使得帶寬浪費問題更為突出,尤其在中國大量的用戶還是撥號用戶,較窄的帶寬也成為P2P應用難以逾越的障礙。5結論與展望P2P技術在最近幾年獲得了高速的發展,也出現了較多應用,但截至目前,P2P中仍有很多的關鍵技術問題并沒有得到解決,其中最典型的就是帶寬吞噬、網絡可擴展性差和路由效率低下等問題。這導致P2P至少在目前的技術水平而言只能是一種小范圍不可靠的應用或是滿足特定任務需求的專門應用。并且,作為一種潛在的商業應用,如何在P2P網絡中有效地保護知識產權以及如何設計盈利模式將會面臨更為嚴格的考驗。參考文獻:[1](美)IanFoster,CarlKesselman編著.金海,袁平鵬,石柯譯.網格計算(第二版).北京:電子工業出版社,2004[2](美)Dreamtech軟件研發組著.吳文輝,陳建榮,肖國尊等譯.對等網絡編程源代碼解析.北京:電子工業出版社,2002[3]陳姝,方濱興,周勇林.p2p技術的研究與應用.計算機工程與應用,2002年13期[4]毛薇,姚青,李濤.p2p系統發現技術的研究與實現.武漢理工大學學報(交通科學與工程版),2002年06期[5]雷葆華,楊明川.p2p技術的組網模式與業務模式探討.電信技術,2004年11期[6]趙恒,陳杰.p2p技術的應用及其研究現狀.電信快報,2004年09期