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