新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > P2P對(duì)等網(wǎng)絡(luò)路由模型及關(guān)鍵技術(shù)分析

P2P對(duì)等網(wǎng)絡(luò)路由模型及關(guān)鍵技術(shù)分析

作者: 時(shí)間:2009-07-29 來(lái)源:網(wǎng)絡(luò) 收藏
1 引言
是近年來(lái)互聯(lián)網(wǎng)最熱門的技術(shù),在VOIP、下載、流媒體、協(xié)調(diào)計(jì)算等領(lǐng)域得到飛速發(fā)展。是Peer to Peer的縮寫,即為對(duì)等計(jì)算或,可以簡(jiǎn)單的定義成通過(guò)直接交換,共享計(jì)算機(jī)資源和服務(wù)。架構(gòu)是一種資源分布利用和共享的體系架構(gòu),與網(wǎng)絡(luò)中占據(jù)主導(dǎo)地位的客戶端/服務(wù)器(C/S)體系架構(gòu)相對(duì)應(yīng)。在P2P網(wǎng)絡(luò)模式中,每個(gè)節(jié)點(diǎn)的地位都是對(duì)等的,整個(gè)網(wǎng)絡(luò)一般不依賴于專用集中的服務(wù)器。每個(gè)節(jié)點(diǎn)同時(shí)承擔(dān)服務(wù)器和客戶端兩個(gè)角色,既提供資源和服務(wù),也享用其他節(jié)點(diǎn)的資源和服務(wù)。通常這些資源和服務(wù)包括:信息的共享與交換、存儲(chǔ)資源、磁盤空間和計(jì)算資源等的共享使用。

2 主流P2P網(wǎng)絡(luò)模型分析
2.1 集中目錄式P2P模型
集中目錄式P2P結(jié)構(gòu)是最早的P2P應(yīng)用模式,因其仍具有中心化的特點(diǎn)也被稱為非純粹的P2P結(jié)構(gòu),Napster是這種模型的典型代表,如圖l所示。集中目錄式模型,是由一個(gè)中心服務(wù)器來(lái)負(fù)責(zé)記錄共享信息以及反饋對(duì)這些信息的查詢,每一個(gè)對(duì)等實(shí)體要對(duì)它所需共享的信息以及進(jìn)行的通信負(fù)責(zé)。當(dāng)某節(jié)點(diǎn)希望搜索一個(gè)不知道位置的資源時(shí),該節(jié)點(diǎn)向目錄服務(wù)器發(fā)送請(qǐng)求,目錄服務(wù)器在數(shù)據(jù)庫(kù)中查詢到匹配的資源后將其定位信息返回該節(jié)點(diǎn),然后在兩個(gè)節(jié)點(diǎn)之間執(zhí)行交互。
與傳統(tǒng)的客戶朋艮務(wù)器模式不同,這種模式中客戶所需要的資料并非存儲(chǔ)在服務(wù)器上,而是存貯在P2P網(wǎng)絡(luò)內(nèi)的各個(gè)節(jié)點(diǎn)中,當(dāng)查詢節(jié)點(diǎn)收到節(jié)點(diǎn)地址信息列表后,會(huì)根據(jù)網(wǎng)絡(luò)流量和延遲等信息選擇合適的節(jié)點(diǎn)建立直接連接,其文件傳遞并不經(jīng)過(guò)中央目錄服務(wù)器,而是直接在節(jié)點(diǎn)之間通過(guò)TCP協(xié)議進(jìn)行。此外服務(wù)器與對(duì)等實(shí)體以及對(duì)等實(shí)體之間都互有交互能力。

本文引用地址:http://www.butianyuan.cn/article/188793.htm

集中目錄式P2P首先實(shí)現(xiàn)了文件查詢與文件傳輸?shù)姆蛛x,有效地節(jié)約了中央服務(wù)器的帶寬消耗,減少了系統(tǒng)的文件傳輸延時(shí)。但中央目錄服務(wù)器卻成為脆弱的瓶頸,如果該服務(wù)器失效,整個(gè)系統(tǒng)都會(huì)癱瘓。而且,不同等級(jí)的用戶連接速度也會(huì)使系統(tǒng)性能大大降低。在Napster之后的P2P系統(tǒng),都在這一點(diǎn)上進(jìn)行重點(diǎn)改進(jìn),系統(tǒng)基本上都采用無(wú)中心結(jié)構(gòu),準(zhǔn)確性和可擴(kuò)展性都得到極大提高。
2.2 分布式P2P模型
分布式P2P網(wǎng)絡(luò)采用隨機(jī)圖的組織方式,利用TTL(Time-to-Live),洪泛(Flooding),隨機(jī)漫步或有選擇轉(zhuǎn)發(fā)等方式搜索網(wǎng)絡(luò)資源。當(dāng)節(jié)點(diǎn)度數(shù)服從冪率(power―law)規(guī)律時(shí),該方式能夠較快發(fā)現(xiàn)目標(biāo)結(jié)點(diǎn),而且面對(duì)網(wǎng)絡(luò)的動(dòng)態(tài)變化體現(xiàn)了較好的容錯(cuò)能力。代表性網(wǎng)絡(luò)是Gnutella,如圖2所示。

在分布式P2P模式下,所有節(jié)點(diǎn)都參與服務(wù),控制流和數(shù)據(jù)流都在對(duì)等節(jié)點(diǎn)之間交互,解決了中心化的問(wèn)題,避免服務(wù)器瓶頸,部分節(jié)點(diǎn)出問(wèn)題也不會(huì)影響整個(gè)網(wǎng)絡(luò)的運(yùn)行,搜索結(jié)果更新比較及時(shí),時(shí)效性高;但是,采用flooding方式傳播搜索請(qǐng)求,造成網(wǎng)絡(luò)額外開銷比較大,隨著P2P網(wǎng)絡(luò)規(guī)模的逐漸擴(kuò)大,網(wǎng)絡(luò)開銷成指數(shù)級(jí)上升。因此準(zhǔn)確性和可擴(kuò)展性是非結(jié)構(gòu)化網(wǎng)絡(luò)面臨的兩個(gè)重要問(wèn)題。
2.3 結(jié)構(gòu)化P2P模型
結(jié)構(gòu)化P2P模式是一種采用純分布式的消息傳遞機(jī)制和根據(jù)關(guān)鍵字(KEY)的定位服務(wù),從根本上改變了P2P網(wǎng)絡(luò)無(wú)結(jié)構(gòu)的狀態(tài)。其中主流的方法就是采用分布式哈希表(Distributed Hash Table,DHT)技術(shù),是目前擴(kuò)展性最好的P2P方式之一。DHT首先為網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)分配虛擬地址(VID),同時(shí)用一個(gè)關(guān)鍵字(KEY)表示其可提供的共享內(nèi)容。通過(guò)一個(gè)特定的哈希函數(shù)(一般使用的是安全哈希函數(shù),如SHA一1等)將文件名(KEY)與節(jié)點(diǎn)信息(VID)運(yùn)算為一個(gè)哈希值H(KEY,VID),當(dāng)網(wǎng)絡(luò)上其它節(jié)點(diǎn)進(jìn)行資源定位的時(shí)候,可以容易地根據(jù)H(Key)值獲得文檔的精確存儲(chǔ)位置。由于DHT各節(jié)點(diǎn)并不需要維護(hù)整個(gè)網(wǎng)絡(luò)的信息,只在節(jié)點(diǎn)中存儲(chǔ)其臨近的后繼節(jié)點(diǎn)信息,因此較少的信息可有效地實(shí)現(xiàn)到目標(biāo)節(jié)點(diǎn),同時(shí)又取消了洪泛算法,該模型有效地減少了節(jié)點(diǎn)信息的發(fā)送數(shù)量,增強(qiáng)了P2P網(wǎng)絡(luò)的擴(kuò)展性。同時(shí),出于冗余度及延時(shí)的考慮,大部分DHT總是在節(jié)點(diǎn)的虛擬標(biāo)識(shí)與關(guān)鍵字最接近的K個(gè)節(jié)點(diǎn)上備份冗余信息,避免了單一節(jié)點(diǎn)失效的問(wèn)題。
基于DHT的方式是P2P系統(tǒng)研究的主流之一。所涉及的系統(tǒng)一般都假定節(jié)點(diǎn)的能力相當(dāng),這對(duì)于較小規(guī)模的系統(tǒng)非常有效,但這種假設(shè)并不適合大規(guī)模的Intemet部署。目前,成功應(yīng)用也比較少見(jiàn)。
2.4 混合式P2P模型
混合式P2P網(wǎng)絡(luò)結(jié)合了集中式結(jié)構(gòu)和分布式拓?fù)涞膬?yōu)點(diǎn),網(wǎng)絡(luò)中存在著中間服務(wù)器,文件目錄是分布的。在分布式模式的基礎(chǔ)上引入了超級(jí)節(jié)點(diǎn)(Super Node)概念,將用戶節(jié)點(diǎn)按能力(處理、存儲(chǔ)、帶寬等方面性能)分為搜索節(jié)點(diǎn)和普通節(jié)點(diǎn)兩類.搜索節(jié)點(diǎn)與其臨近的若干普通節(jié)點(diǎn)之間構(gòu)成一個(gè)自治的簇(Cluster),簇內(nèi)采用基于集中目錄式的P2P模式,而整個(gè)P2P網(wǎng)絡(luò)中存在著眾多這樣的簇,各個(gè)不同的簇之間再通過(guò)分布式P2P模式將搜索節(jié)點(diǎn)相連起來(lái),甚至可在各個(gè)搜索節(jié)點(diǎn)之間,再次選取性能最優(yōu)的節(jié)點(diǎn)或者另外引入一新的性能最優(yōu)的節(jié)點(diǎn)作為索引節(jié)點(diǎn),來(lái)保存整個(gè)網(wǎng)絡(luò)中可以利用的搜索節(jié)點(diǎn)信息,并且負(fù)責(zé)維護(hù)整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)?;旌鲜絇2P模型消除了分布式P2P結(jié)構(gòu)中使用Flooding算法帶來(lái)的網(wǎng)絡(luò)擁塞、搜索遲緩等不利影響,吸收了集中式拓?fù)涞囊坠芾硇耘c分布式拓?fù)涞目蓴U(kuò)展性,在異構(gòu)的P2P網(wǎng)絡(luò)環(huán)境下是一種較好的模式選擇。其中最典型的案例就是Fastrack,如圖3所示。

p2p機(jī)相關(guān)文章:p2p原理



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉