P2P對等網絡路由模型及關鍵技術分析
P2P是近年來互聯網最熱門的技術,在VOIP、下載、流媒體、協調計算等領域得到飛速發展。P2P是Peer to Peer的縮寫,即為對等計算或對等網絡,可以簡單的定義成通過直接交換,共享計算機資源和服務。P2P架構是一種資源分布利用和共享的體系架構,與網絡中占據主導地位的客戶端/服務器(C/S)體系架構相對應。在P2P網絡模式中,每個節點的地位都是對等的,整個網絡一般不依賴于專用集中的服務器。每個節點同時承擔服務器和客戶端兩個角色,既提供資源和服務,也享用其他節點的資源和服務。通常這些資源和服務包括:信息的共享與交換、存儲資源、磁盤空間和計算資源等的共享使用。
2 主流P2P網絡模型分析
2.1 集中目錄式P2P模型
集中目錄式P2P結構是最早的P2P應用模式,因其仍具有中心化的特點也被稱為非純粹的P2P結構,Napster是這種模型的典型代表,如圖l所示。集中目錄式模型,是由一個中心服務器來負責記錄共享信息以及反饋對這些信息的查詢,每一個對等實體要對它所需共享的信息以及進行的通信負責。當某節點希望搜索一個不知道位置的資源時,該節點向目錄服務器發送請求,目錄服務器在數據庫中查詢到匹配的資源后將其定位信息返回該節點,然后在兩個節點之間執行交互。
與傳統的客戶朋艮務器模式不同,這種模式中客戶所需要的資料并非存儲在服務器上,而是存貯在P2P網絡內的各個節點中,當查詢節點收到節點地址信息列表后,會根據網絡流量和延遲等信息選擇合適的節點建立直接連接,其文件傳遞并不經過中央目錄服務器,而是直接在節點之間通過TCP協議進行。此外服務器與對等實體以及對等實體之間都互有交互能力。
集中目錄式P2P首先實現了文件查詢與文件傳輸的分離,有效地節約了中央服務器的帶寬消耗,減少了系統的文件傳輸延時。但中央目錄服務器卻成為脆弱的瓶頸,如果該服務器失效,整個系統都會癱瘓。而且,不同等級的用戶連接速度也會使系統性能大大降低。在Napster之后的P2P系統,都在這一點上進行重點改進,系統基本上都采用無中心結構,準確性和可擴展性都得到極大提高。
2.2 分布式P2P模型
分布式P2P網絡采用隨機圖的組織方式,利用TTL(Time-to-Live),洪泛(Flooding),隨機漫步或有選擇轉發等方式搜索網絡資源。當節點度數服從冪率(power―law)規律時,該方式能夠較快發現目標結點,而且面對網絡的動態變化體現了較好的容錯能力。代表性網絡是Gnutella,如圖2所示。
在分布式P2P模式下,所有節點都參與服務,控制流和數據流都在對等節點之間交互,解決了中心化的問題,避免服務器瓶頸,部分節點出問題也不會影響整個網絡的運行,搜索結果更新比較及時,時效性高;但是,采用flooding方式傳播搜索請求,造成網絡額外開銷比較大,隨著P2P網絡規模的逐漸擴大,網絡開銷成指數級上升。因此準確性和可擴展性是非結構化網絡面臨的兩個重要問題。
2.3 結構化P2P模型
結構化P2P模式是一種采用純分布式的消息傳遞機制和根據關鍵字(KEY)的定位服務,從根本上改變了P2P網絡無結構的狀態。其中主流的方法就是采用分布式哈希表(Distributed Hash Table,DHT)技術,是目前擴展性最好的P2P路由方式之一。DHT首先為網絡中的每一個節點分配虛擬地址(VID),同時用一個關鍵字(KEY)表示其可提供的共享內容。通過一個特定的哈希函數(一般使用的是安全哈希函數,如SHA一1等)將文件名(KEY)與節點信息(VID)運算為一個哈希值H(KEY,VID),當網絡上其它節點進行資源定位的時候,可以容易地根據H(Key)值獲得文檔的精確存儲位置。由于DHT各節點并不需要維護整個網絡的信息,只在節點中存儲其臨近的后繼節點信息,因此較少的路由信息可有效地實現到目標節點,同時又取消了洪泛算法,該模型有效地減少了節點信息的發送數量,增強了P2P網絡的擴展性。同時,出于冗余度及延時的考慮,大部分DHT總是在節點的虛擬標識與關鍵字最接近的K個節點上備份冗余信息,避免了單一節點失效的問題。
基于DHT的路由方式是P2P系統研究的主流之一。所涉及的系統一般都假定節點的能力相當,這對于較小規模的系統非常有效,但這種假設并不適合大規模的Intemet部署。目前,成功應用也比較少見。
2.4 混合式P2P模型
混合式P2P網絡結合了集中式結構和分布式拓撲的優點,網絡中存在著中間服務器,文件目錄是分布的。在分布式模式的基礎上引入了超級節點(Super Node)概念,將用戶節點按能力(處理、存儲、帶寬等方面性能)分為搜索節點和普通節點兩類.搜索節點與其臨近的若干普通節點之間構成一個自治的簇(Cluster),簇內采用基于集中目錄式的P2P模式,而整個P2P網絡中存在著眾多這樣的簇,各個不同的簇之間再通過分布式P2P模式將搜索節點相連起來,甚至可在各個搜索節點之間,再次選取性能最優的節點或者另外引入一新的性能最優的節點作為索引節點,來保存整個網絡中可以利用的搜索節點信息,并且負責維護整個網絡的結構。混合式P2P模型消除了分布式P2P結構中使用Flooding算法帶來的網絡擁塞、搜索遲緩等不利影響,吸收了集中式拓撲的易管理性與分布式拓撲的可擴展性,在異構的P2P網絡環境下是一種較好的模式選擇。其中最典型的案例就是Fastrack,如圖3所示。
p2p機相關文章:p2p原理
評論