版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
對等網(wǎng)絡(luò)Peer-to-PeerNetworks(P2P)1.概述傳統(tǒng)的因特網(wǎng)應(yīng)用采用客戶-服務(wù)器模式:所有內(nèi)容與服務(wù)在服務(wù)器上,客戶向服務(wù)器請求內(nèi)容或服務(wù),客戶自己的資源不共享。這種集中式結(jié)構(gòu)面臨服務(wù)器負(fù)載過重、拒絕服務(wù)攻擊、網(wǎng)絡(luò)帶寬限制等難以解決的問題。對等計算模型在對等網(wǎng)絡(luò)中:每個節(jié)點都有一些資源(處理能力、存儲空間、網(wǎng)絡(luò)帶寬、內(nèi)容等)可以提供給其它節(jié)點。節(jié)點之間直接共享資源,不需要服務(wù)器參與。所有節(jié)點地位相等(稱對等方),具備客戶和服務(wù)器雙重特性??删徑饧惺浇Y(jié)構(gòu)的問題,充分利用終端的豐富資源。P2P技術(shù)的發(fā)展P2P技術(shù)的第一個應(yīng)用是Napster文件共享系統(tǒng)(1999-2000),用戶通過該系統(tǒng)交換音樂文件。自1999年以來,P2P研究得到學(xué)術(shù)界和商業(yè)組織的廣泛關(guān)注,同時該技術(shù)也一直飽受爭議。P2P技術(shù)被廣泛應(yīng)用于計算機(jī)網(wǎng)絡(luò)的各個應(yīng)用領(lǐng)域,如文件共享、流媒體直播與點播、分布式科學(xué)計算、語音通信、在線游戲支撐平臺等。目前以文件共享為代表的P2P應(yīng)用已成為因特網(wǎng)上增長最迅速的應(yīng)用。P2P技術(shù)的應(yīng)用(2)P2P媒體網(wǎng):P2P也非常適合流媒體直播與點播,因此P2P研究熱點迅速轉(zhuǎn)移到P2P的流媒體上。目前P2P非常廣泛的一個應(yīng)用是網(wǎng)上實時電視,提供節(jié)目的成本很低,用戶卻可以得到較好的收視質(zhì)量。流行的軟件包括Coolstreaming、AnySee、Gridmedia、PPLive和PPStream等。 P2P技術(shù)的應(yīng)用(3)基于P2P方式的協(xié)同處理與服務(wù)共享平臺:P2P技術(shù)將眾多終端空閑的CPU資源聯(lián)合起來,服務(wù)于一個共同的計算。計算任務(wù)(包括邏輯與數(shù)據(jù)等)劃分成多個片,分配到參與計算的P2P節(jié)點上;計算結(jié)果返回給一個或多個服務(wù)器;眾多結(jié)果整合得到最終結(jié)果。最著名的P2P分布式科學(xué)計算系統(tǒng)為搜索外星文明的SETI@home科學(xué)實驗。P2P技術(shù)的應(yīng)用(4)即時通信交流:VoIP是一種全新的網(wǎng)絡(luò)電話通信業(yè)務(wù),Skype就是一款典型的P2PVoIP軟件。Skype的出現(xiàn)給傳統(tǒng)電信業(yè)帶來強(qiáng)烈的沖擊,截至2011年年底,Skype占有全球長途通話時長的33%。Skype仍在迅速向各個國家滲透。P2P系統(tǒng)的定義P2P系統(tǒng)是一個由直接相連的節(jié)點所構(gòu)成的分布式系統(tǒng),這些節(jié)點能夠為了共享內(nèi)容、CPU時間、存儲或者帶寬等資源而自組織形成一定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),能夠在適應(yīng)節(jié)點數(shù)目的變化和失效的同時維持可以接受的連接能力和性能,并且不需要一個全局服務(wù)器或者權(quán)威的中介支持。2.P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)P2P系統(tǒng)的主要概念之一是分散,包括分布式存儲、處理、信息共享和控制信息。根據(jù)P2P系統(tǒng)的分散程度,可以將P2P架構(gòu)分成純分散式和混合式。根據(jù)結(jié)構(gòu)關(guān)系可以將P2P系統(tǒng)細(xì)分為四種拓?fù)湫问剑褐行幕負(fù)淙植际椒墙Y(jié)構(gòu)化拓?fù)淙植际浇Y(jié)構(gòu)化拓?fù)浒敕植际酵負(fù)?.1中心化拓?fù)渥钤绯霈F(xiàn)的P2P網(wǎng)絡(luò)結(jié)構(gòu),也稱集中目錄式結(jié)構(gòu),或非純粹的P2P結(jié)構(gòu)。優(yōu)點:維護(hù)簡單,資源發(fā)現(xiàn)效率高。缺點:單點故障;擴(kuò)放性差;版權(quán)問題。對小型網(wǎng)絡(luò)而言在管理和控制方面有一定優(yōu)勢,不適合大型網(wǎng)絡(luò)應(yīng)用。Napster文件共享系統(tǒng)中央索引服務(wù)器保存所有用戶上傳的音樂文件索引和存放位置。用戶需要某個音樂文件時,先查詢中央索引服務(wù)器,得到存有該文件的節(jié)點信息。用戶選擇合適的節(jié)點建立直接連接。Napster首先實現(xiàn)了文件查詢與文件傳輸?shù)姆蛛x。Napster的拓?fù)浣Y(jié)構(gòu)2.2全分布式非結(jié)構(gòu)化拓?fù)湟卜Q純P2P結(jié)構(gòu),取消了中央服務(wù)器,每臺機(jī)器是真正的對等關(guān)系(稱為對等機(jī))。每個用戶隨機(jī)接入網(wǎng)絡(luò),并與自己相鄰的一組節(jié)點通過端-端連接構(gòu)成一個邏輯覆蓋網(wǎng)絡(luò)。對等節(jié)點之間的內(nèi)容查詢和內(nèi)容共享均直接通過相鄰節(jié)點廣播接力傳遞。每個節(jié)點記錄搜索軌跡,防止產(chǎn)生搜索環(huán)路。Gnutella是應(yīng)用最廣泛的全分布式非結(jié)構(gòu)化拓?fù)?。Gnutella早期的拓?fù)浣Y(jié)構(gòu)要下載文件的計算機(jī)以文件名或關(guān)鍵字生成一個查詢,發(fā)送給與它相連的所有計算機(jī)。存在該文件的計算機(jī)與查詢機(jī)器建立連接;否則繼續(xù)向自己的鄰居節(jié)點洪泛。重復(fù)該過程,直至找到文件為止。一般通過TTL值控制查詢的深度。全分布式非結(jié)構(gòu)化拓?fù)涞奶攸c將覆蓋網(wǎng)絡(luò)看成完全隨機(jī)圖,節(jié)點之間的鏈路沒有遵循某些預(yù)先定義的拓?fù)鋪順?gòu)建。優(yōu)點:解決了網(wǎng)絡(luò)結(jié)構(gòu)中心化的問題,擴(kuò)展性和容錯性較好;支持復(fù)雜的查詢(如多關(guān)鍵詞查詢、模糊查詢等)。缺點:查詢結(jié)果可能不完全,查詢速度較慢;網(wǎng)絡(luò)規(guī)模較大時,消耗網(wǎng)絡(luò)帶寬多,易造成部分低帶寬節(jié)點因過載而失效,影響網(wǎng)絡(luò)的可用性;容易受到垃圾信息甚至是病毒的惡意攻擊。2.3全分布式結(jié)構(gòu)化拓?fù)洳捎梅植际缴⒘斜恚―HT)組織網(wǎng)絡(luò)中的節(jié)點:DHT是由廣域范圍內(nèi)大量節(jié)點共同維護(hù)的巨大散列表。散列表被分割成不連續(xù)的塊,每個節(jié)點被分配一個散列塊,并成為這個散列塊的管理者。每個節(jié)點按照一定的方式被賦予一個惟一的NodeID。資源對象的名字或關(guān)鍵詞通過一個散列函數(shù)映射為128位或160位的散列值,資源對象存儲在NodeID與其散列值相等或相近的節(jié)點上。需要查找資源時,采用同樣的方法定位到存儲該資源的節(jié)點?;贒HT的節(jié)點組織每個節(jié)點通過散列其IP地址,得到一個128位的節(jié)點標(biāo)識符。所有節(jié)點標(biāo)識符形成一個環(huán)形的nodeID空間,其中只有一部分對應(yīng)了實節(jié)點。Key的散列值為d46a1c的內(nèi)容存放在節(jié)點d467c4上。全分布式結(jié)構(gòu)化拓?fù)涞奶攸c優(yōu)點:采用確定性拓?fù)浣Y(jié)構(gòu),DHT可以提供精確發(fā)現(xiàn)。缺點:維護(hù)機(jī)制較復(fù)雜,尤其是節(jié)點頻繁加入/退出造成的網(wǎng)絡(luò)波動會極大地增加維護(hù)DHT的代價。僅支持精確關(guān)鍵詞匹配查詢,無法支持內(nèi)容/語義等復(fù)雜查詢。這種結(jié)構(gòu)目前還沒有大規(guī)模成功應(yīng)用的實例。2.4半分布式結(jié)構(gòu)亦稱混合結(jié)構(gòu),吸取了中心化結(jié)構(gòu)和全分布式非結(jié)構(gòu)化的優(yōu)點。選擇性能(處理、存儲、帶寬)較高的節(jié)點作為超級節(jié)點,各個超級節(jié)點上存儲其它部分節(jié)點的信息。發(fā)現(xiàn)算法僅在超級節(jié)點之間轉(zhuǎn)發(fā),超級節(jié)點再將查詢請求轉(zhuǎn)發(fā)給適當(dāng)?shù)娜~子節(jié)點。半分布式結(jié)構(gòu)是一種層次式結(jié)構(gòu):超級節(jié)點之間構(gòu)成一個高速轉(zhuǎn)發(fā)層超級節(jié)點和所負(fù)責(zé)的普通節(jié)點構(gòu)成若干層次Kazaa的拓?fù)浣Y(jié)構(gòu)節(jié)點按能力不同區(qū)分為普通節(jié)點和搜索節(jié)點。搜索節(jié)點與其臨近的若干普通節(jié)點構(gòu)成一個自治的簇:簇內(nèi)采用中心化P2P結(jié)構(gòu)簇之間通過純P2P結(jié)構(gòu)將搜索節(jié)點連接起來Kazaa的特點自動將性能好的機(jī)器當(dāng)成超級節(jié)點,采用Gnutella的全分布式結(jié)構(gòu),不需要中央索引服務(wù)器。超級節(jié)點存儲離它最近的葉子節(jié)點的文件信息,其索引功能使得搜索效率大大提高。文件搜索先在本地簇內(nèi)進(jìn)行,必要時再通過搜索節(jié)點進(jìn)行有限的泛洪,消除了純P2P結(jié)構(gòu)中泛洪算法帶來的網(wǎng)絡(luò)擁塞、搜索遲緩等不利影響。搜索節(jié)點監(jiān)控著簇內(nèi)所有普通節(jié)點的行為,一些攻擊行為能在網(wǎng)絡(luò)局部得到控制。超級節(jié)點的存在一定程度上提高了網(wǎng)絡(luò)的負(fù)載平衡。Gnutella后期的結(jié)構(gòu)計算能力較強(qiáng)的節(jié)點加入網(wǎng)絡(luò)時,立即成為一個超級對等節(jié)點(SuperPeer),并與其它SuperPeer建立連接,同時設(shè)置一個使其保持SuperPeer所需的最小客戶節(jié)點數(shù)目。當(dāng)該節(jié)點在一個規(guī)定的時間內(nèi)收到不少于該數(shù)目的客戶連接請求時,它繼續(xù)成為SuperPeer,否則變?yōu)橐粋€普通的客戶節(jié)點。如果沒有可用的SuperPeer,它又會在一個給定的時間內(nèi)擔(dān)當(dāng)SuperPeer。Skype網(wǎng)絡(luò)結(jié)構(gòu)Skype是P2P技術(shù)演進(jìn)到混合模式后的典型應(yīng)用:登錄服務(wù)器:惟一的集中服務(wù)器,存儲用戶名和密碼信息,保證登錄名全球惟一,進(jìn)行用戶身份認(rèn)證等。用戶節(jié)點:分為普通節(jié)點和超級節(jié)點。普通節(jié)點:下載了skype應(yīng)用的普通終端。超級節(jié)點:具有公網(wǎng)IP地址和足夠資源(CPU、存儲空間、網(wǎng)絡(luò)帶寬)的普通節(jié)點均可為超級節(jié)點的候選。Skype網(wǎng)絡(luò)結(jié)構(gòu)示意圖普通節(jié)點必須連接到一個超級節(jié)點上,通過超級節(jié)點:向登錄服務(wù)器認(rèn)證自己向好友發(fā)送在線信息查找用戶檢測NAT和防火墻類型Skype的通信過程初始化:詢問skype的最新版本登錄:連接到超級節(jié)點,進(jìn)行身份認(rèn)證等用戶搜索:查找用戶呼叫與終止:與通信方建立與終止連接媒體傳輸:傳輸音頻信息登錄客戶端啟動后連接到超級節(jié)點,向登錄服務(wù)器發(fā)送身份認(rèn)證信息。登錄服務(wù)器驗證用戶名和密碼的合法性??蛻舳讼蚝糜鸭捌渌鼘Φ裙?jié)點發(fā)送在線信息??蛻舳伺c超級節(jié)點交換消息,檢測NAT和防火墻類型??蛻舳税l(fā)現(xiàn)擁有公網(wǎng)IP地址的在線Skype節(jié)點。連接到超級節(jié)點客戶端在主機(jī)緩存中維護(hù)一個超級節(jié)點列表,包含一系列超級節(jié)點的<IP地址,端口>。初次安裝客戶端軟件后,超級節(jié)點列表中至少包含7個<IP地址,端口>,這些便是初始的超級節(jié)點。登錄時,客戶端試圖同列表中的每一個表項(超級節(jié)點)建立連接。Skype沒有默認(rèn)的服務(wù)端口號,在安裝客戶端軟件時隨機(jī)選擇(或設(shè)置)一個端口號監(jiān)聽,同時監(jiān)聽80和443端口。向好友發(fā)送在線信息Skype采用路由緩存機(jī)制:超級節(jié)點緩存查找到的用戶信息(緩存72小時)。用戶登錄后,其狀態(tài)信息可以通過超級節(jié)點通知到好友終端,也可以得到好友的狀態(tài)。一旦緩存超時,需通過其它超級節(jié)點查找用戶。
查找用戶具有公網(wǎng)地址的客戶端,查找用戶的過程:向超級節(jié)點(SN)發(fā)送要查找的用戶信息;若不成功,從SN獲取四個節(jié)點地址,發(fā)送用戶信息;若不成功,報告SN,獲取八個節(jié)點地址,發(fā)送用戶信息;……成功或失敗返回位于私網(wǎng)內(nèi)的受限客戶端,查找用戶的過程:客戶端將需要查找的用戶信息發(fā)送給其超級節(jié)點;超級節(jié)點完成查找后,返回給私網(wǎng)內(nèi)的客戶端。呼叫建立和釋放主、被叫都在公網(wǎng)內(nèi)呼叫建立和釋放(續(xù))主、被叫至少有一方在私網(wǎng)內(nèi)Skype的技術(shù)優(yōu)勢較強(qiáng)的NAT和防火墻穿越能力:首先識別NAT和防火墻類型,然后動態(tài)選擇信令和媒體代理??焖俾酚蓹C(jī)制:采用全球索引技術(shù),用戶路由信息分布式存儲于網(wǎng)絡(luò)節(jié)點中。結(jié)合互聯(lián)網(wǎng)特點的語音編解碼算法:引入專門針對互聯(lián)網(wǎng)特點的語音質(zhì)量增強(qiáng)軟件。很低的運(yùn)行成本:很多工作下放給網(wǎng)絡(luò)節(jié)點完成,大大降低了中心服務(wù)器的負(fù)擔(dān),減少了維護(hù)和管理成本。2.5四種拓?fù)浣Y(jié)構(gòu)的對比中心化全分布式非結(jié)構(gòu)化全分布式結(jié)構(gòu)化半分布式可擴(kuò)展性差差好中可靠性差好好中可維護(hù)性最好最好好中發(fā)現(xiàn)算法效率最高中高中復(fù)雜查詢支持支持不支持支持3P2P網(wǎng)絡(luò)的資源發(fā)現(xiàn)機(jī)制中心化結(jié)構(gòu):集中式索引和存儲分布式非結(jié)構(gòu)化:查詢請求的洪泛廣播分布式結(jié)構(gòu)化:內(nèi)容可尋址網(wǎng)絡(luò)3.1集中式索引和存儲一個集中的目錄服務(wù)器保存所有資源的位置和使用信息:網(wǎng)絡(luò)中所有文件的元數(shù)據(jù)(文件名、創(chuàng)建時間等)索引;登錄用戶的連接信息表(IP地址、連接速度等);每個用戶擁有并愿意共享的文件列表。起始時,客戶與目錄服務(wù)器建立連接,報告其保存的文件列表。當(dāng)目錄服務(wù)器收到來自用戶的查詢時,查找索引表,返回存有所需文件的用戶列表。用戶選擇其中一個對等方建立直接連接,下載文件。
Napster中的資源發(fā)現(xiàn)3.2查詢請求的洪泛廣播洪泛查詢的過程:在覆蓋網(wǎng)絡(luò)上,查詢節(jié)點將一個資源發(fā)現(xiàn)請求發(fā)送給與其直接相連的所有節(jié)點;這些節(jié)點再向其直接相連的鄰居洪泛該請求;……直到請求被響應(yīng)或達(dá)到最大洪泛次數(shù)。早期的Gnutella使用洪泛機(jī)制發(fā)現(xiàn)網(wǎng)絡(luò)中的文件。Gnutella使用的消息Ping:節(jié)點使用該消息宣告自己。Pong:對Ping的響應(yīng),包含響應(yīng)主機(jī)的IP地址、能接受響應(yīng)的端口、本機(jī)共享文件數(shù)量及所占空間大小。Query:搜索請求,包含一個搜索字符串和對響應(yīng)主機(jī)的最小速度要求。QueryHit:對Query的響應(yīng),包含響應(yīng)主機(jī)的IP地址、能接受連接的端口、連線速度、查詢結(jié)果集(包含匹配的文件數(shù)量以及每個匹配文件的索引、文件大小及文件名)。Gnutella查詢與響應(yīng)過程一個節(jié)點與自己所知道的每一個節(jié)點建立TCP/IP連接。節(jié)點向每一個連接的節(jié)點發(fā)送Ping消息;收到Ping消息的節(jié)點發(fā)送一個Pong消息,同時將Ping消息繼續(xù)向其鄰居傳播。節(jié)點使用Query查詢文件,Query使用相同的洪泛方式傳輸。TTL被用來限制Ping和Query的傳播范圍。每個消息攜帶全局唯一的標(biāo)識符,用于檢測和丟棄重復(fù)的消息。當(dāng)收到QueryHit時,表明在響應(yīng)主機(jī)上找到了文件。
3.3內(nèi)容可尋址網(wǎng)絡(luò)分布式P2P系統(tǒng)的核心是一個將文件名映射到文件存放位置的索引系統(tǒng)。查找服務(wù)通過將對等節(jié)點組織到一個有結(jié)構(gòu)的覆蓋網(wǎng)絡(luò)中,并將消息通過覆蓋網(wǎng)絡(luò)路由到相關(guān)對等節(jié)點來實現(xiàn)。到目前為止,已經(jīng)有多個研究項目實現(xiàn)了分布式P2P查找服務(wù)。Content-AddressableNetwork(CAN)CAN類似于一張大哈希表,基本操作包括插入、查找和刪除<關(guān)鍵字,值>對:關(guān)鍵字可能是部分或完整的文件名值可能為獲取該文件所需的信息(如大小、位置等)網(wǎng)絡(luò)中每個節(jié)點保存哈希表的一塊(區(qū))。對一個特定關(guān)鍵字的請求(插入、查找或刪除)由中間CAN節(jié)點路由到包含該關(guān)鍵字的目標(biāo)CAN節(jié)點。CAN的坐標(biāo)空間CAN基于一個虛擬的d維笛卡爾坐標(biāo)空間來組織數(shù)據(jù)和實現(xiàn)查找功能:整個坐標(biāo)空間被動態(tài)分配給系統(tǒng)中的所有節(jié)點;每個節(jié)點都擁有獨立和不相交的一塊區(qū)域;如果兩個區(qū)域在(d-1)維上跨度相同,而在另一個維度上相鄰,就稱這兩個區(qū)域相鄰;若兩個節(jié)點擁有的區(qū)域相鄰,就稱這兩個節(jié)點在坐標(biāo)空間中相鄰。一個二維的CAN坐標(biāo)空間示例名字到位置的映射存儲<key,value>對的方法:使用一個均勻哈希函數(shù)將key映射成坐標(biāo)空間中的一個點P,<Key,value>被保存在P所在區(qū)域?qū)?yīng)的CAN節(jié)點中。查詢關(guān)鍵字Key:使用相同的哈希函數(shù)得到點P,從P所在區(qū)域?qū)?yīng)的CAN節(jié)點中得到Value。如果P不在查詢節(jié)點所擁有的區(qū)域中,查詢請求通過CAN網(wǎng)絡(luò)路由到包含P的CAN節(jié)點。CAN路由CAN中的節(jié)點自動形成一個表示虛擬坐標(biāo)空間的覆蓋網(wǎng)絡(luò):每個節(jié)點學(xué)習(xí)并維護(hù)坐標(biāo)空間中相鄰節(jié)點的IP地址和虛擬坐標(biāo)區(qū)域,這組鄰居節(jié)點就形成了坐標(biāo)路由表。每條CAN消息都包含目的點P的坐標(biāo)。節(jié)點利用坐標(biāo)路由表,使用貪婪轉(zhuǎn)發(fā)機(jī)制將消息轉(zhuǎn)發(fā)給距離P最近的鄰居節(jié)點。一個CAN查找的例子節(jié)點加入CAN找到一個已有節(jié)點:在DNS中查找CAN的域名,得到一個引導(dǎo)節(jié)點的IP地址。引導(dǎo)節(jié)點隨機(jī)選擇當(dāng)前系統(tǒng)中幾個節(jié)點的IP地址,提供給新節(jié)點。找到一個要分裂的區(qū)域:在坐標(biāo)空間中隨機(jī)選擇一個點P,向P發(fā)送一個加入請求。該消息通過已有節(jié)點送入CAN,路由到P所在區(qū)域的CAN節(jié)點。該節(jié)點將它的區(qū)域分裂成兩半,將一半分配給新節(jié)點。加入路由:新節(jié)點向區(qū)域的原節(jié)點了解其鄰居節(jié)點的IP地址,形成自己的鄰居集合;原節(jié)點也要更新自己的鄰居集合。新老節(jié)點將自己當(dāng)前分配的區(qū)域告知其鄰居。新節(jié)點加入的例子
節(jié)點7加入前節(jié)點7加入后節(jié)點離開CAN正常的做法:節(jié)點顯式地將其區(qū)域和相關(guān)的<key,value>數(shù)據(jù)庫轉(zhuǎn)交給一個鄰居節(jié)點。如果某個鄰居節(jié)點的區(qū)域可以和該節(jié)點的區(qū)域合并成一個合法的區(qū)域,轉(zhuǎn)交完成。否則,該區(qū)域轉(zhuǎn)交給當(dāng)前區(qū)域最小的節(jié)點,這個節(jié)點要臨時接管兩個區(qū)域。節(jié)點通過周期性更新消息,告知鄰居自己的區(qū)域坐標(biāo)和其鄰居節(jié)點的區(qū)域坐標(biāo)。當(dāng)節(jié)點失效時,其鄰居之一要立即接管失效節(jié)點的區(qū)域,但失效節(jié)點中保存的<關(guān)鍵字,值>丟失。CAN的缺點經(jīng)過哈希之后,節(jié)點的位置信息被破壞了,來自同一個子網(wǎng)的站點很可能節(jié)點號相距很遠(yuǎn),這不利于查詢性能的優(yōu)化?;诠1淼南到y(tǒng)不能利用應(yīng)用本身的信息,許多應(yīng)用(如文件系統(tǒng))的數(shù)據(jù)本身是按照層次結(jié)構(gòu)組織的,而使用哈希函數(shù)后這些層次信息就丟失了。4P4P技術(shù)P2P帶寬吞噬問題:P2P流量已經(jīng)占到整個互聯(lián)網(wǎng)流量的50%左右,且仍在持續(xù)增長。P2P流量大量占用寶貴的骨干網(wǎng)帶寬資源,尤其是互聯(lián)互通出口及國際出口的帶寬,極大地增加了投資成本壓力,并造成運(yùn)營成本上升。用戶正常的上網(wǎng)業(yè)務(wù)的服務(wù)質(zhì)量難以得到有效保障。帶寬吞噬問題的根源—P2P的交換機(jī)制P2P過于強(qiáng)調(diào)對等,它對資源在網(wǎng)絡(luò)中的位置不作區(qū)分,一律平等地返回給用戶,而用戶隨機(jī)選擇一個節(jié)點交換。節(jié)點之間的交換完全是無序的,無序的交換導(dǎo)致無謂的跨地區(qū)甚至是跨國的“流量旅行”,耗費了寶貴的國內(nèi)和國際帶寬資源。依靠P2P應(yīng)用的解決方案基于局部性原則選擇節(jié)點:如優(yōu)先選擇相同子網(wǎng)、相同ISP內(nèi)的節(jié)點交換文件片段。若不考慮鏈路流量、不同鏈路的通信開銷,可能會給骨干網(wǎng)帶來擁塞或造成不必要的費用開銷。基于逆向流量工程的流量走向調(diào)整:應(yīng)用發(fā)送探測消息收集和推測底層網(wǎng)絡(luò)狀態(tài),確定流量走向。依賴網(wǎng)絡(luò)測量技術(shù),而測量會消耗帶寬,且不能完全反映網(wǎng)絡(luò)的真實狀態(tài)。一些新技術(shù)(如MPLS)對探測消息不響應(yīng)。無法推測ISP運(yùn)營商的策略信息?;贗SP的流量控制目前因特網(wǎng)上的流量控制主要是ISP的責(zé)任:應(yīng)用給出網(wǎng)絡(luò)流的目的地址及流量需求模式,ISP根據(jù)當(dāng)前網(wǎng)絡(luò)狀態(tài)確定最有效的路由。P2P模式改變了傳統(tǒng)的流量控制問題:應(yīng)用需要的數(shù)據(jù)可以從很多節(jié)點、以很多種方式得到,每一種方式都會產(chǎn)生一種不同的流量需求模式并導(dǎo)致不同的網(wǎng)絡(luò)使用效率。P2P的動態(tài)流量模式能夠自動適應(yīng)網(wǎng)絡(luò)變化,但也使得ISP估計網(wǎng)絡(luò)狀態(tài)并確定最佳路由的努力無效。基于ISP和P2P應(yīng)用合作的P4P技術(shù)網(wǎng)絡(luò)運(yùn)營商和P2P應(yīng)用應(yīng)合作解決流量吞噬問題:網(wǎng)絡(luò)運(yùn)營商將底層網(wǎng)絡(luò)狀態(tài)及策略信息提供給P2P應(yīng)用P2P應(yīng)用根據(jù)這些信息智能地選擇數(shù)據(jù)交換對象P4P(ProactivenetworkProviderParticipationforp2p):一個旨在同時優(yōu)化ISP和P2P系統(tǒng)性能的網(wǎng)絡(luò)架構(gòu)已集成到一些具有代表性的P2P軟件中,在商業(yè)測試中表現(xiàn)出色。4.1P4P架構(gòu)P4P是一個允許網(wǎng)絡(luò)運(yùn)營者向新型應(yīng)用顯式提供網(wǎng)絡(luò)信息、策略及能力的通用框架,除P2P之外可支持各種高帶寬應(yīng)用。P4P由控制面、管理面和數(shù)據(jù)面組成:數(shù)據(jù)面(可選):區(qū)分應(yīng)用流和設(shè)定應(yīng)用流的優(yōu)先級控制面:通過iTracker向應(yīng)用提供網(wǎng)絡(luò)信息管理面:監(jiān)視控制面的行為P2P控制面中的實體iTracker:代表一個網(wǎng)絡(luò)運(yùn)營商appTracker:代表一個P2P應(yīng)用Peer:代表P2P客戶對等客戶從appTracker或iTracker(若無appTracker)獲得必要的信息,并幫助分發(fā)信息。iTracker提供的接口策略接口:用于向?qū)Φ瓤蛻艋騛ppTracker提供網(wǎng)絡(luò)使用策略和指導(dǎo)意見。P4P距離接口:用于查詢對等客戶之間的開銷和網(wǎng)絡(luò)距離。能力接口:用于對等客戶或內(nèi)容接供商向運(yùn)營商請求能力(資源)。appTracker使用接口的例子4.2P4P距離(p-distance)P4P架構(gòu)中最核心的接口是P4P距離:運(yùn)營商通過該接口告訴應(yīng)用當(dāng)前網(wǎng)絡(luò)中域內(nèi)和域間的網(wǎng)絡(luò)開銷。應(yīng)用使用P4P距離來優(yōu)化連接,提高網(wǎng)絡(luò)通信效率。P4P接口有兩個視圖:iTracker看到的內(nèi)部視圖應(yīng)用看到的外部視圖內(nèi)部視圖內(nèi)部視圖是一個網(wǎng)絡(luò)拓?fù)銰=(V,E),其中V是節(jié)點集合,E是鏈路集合。V中的節(jié)點稱為PID(opaqueID),有以下幾種類型:匯聚節(jié)點:代表一組客戶(如一個網(wǎng)點或網(wǎng)絡(luò)狀態(tài)相同的一組節(jié)點),對外部是可見的。核心路由器:對應(yīng)用和客戶不可見。外部域節(jié)點:對應(yīng)用和客戶不可見。iTracker在內(nèi)部視圖中連接兩個PID(如果這樣連接是有意義的),并給每條PID層次的鏈路指定一個p-距離。外部視圖iTracker提供的外部視圖是一個全連接的網(wǎng)狀網(wǎng)絡(luò):給定一對外部可見的PIDi和j,iTracker給出從PID-i到PID-j的p-距離(pij)。pij是iTracker根據(jù)網(wǎng)絡(luò)內(nèi)部距離和路由計算出來的,iTracker可以給這個距離一個干擾來增強(qiáng)隱秘性。p4p距離的指定ISP可以有很多種方法來指定p-距離,比如:從OSPF權(quán)值和BGP偏好來得到p-距離給具有較高成本或接近擁塞的鏈路指定較大的p-距離按照某種優(yōu)化目標(biāo)計算p-距離P-距離信息的分發(fā)ISP可從以下幾個方面控制p-距離信息的分發(fā):PID的聚合粒度:控制粒度vs擴(kuò)放性和用戶隱私。網(wǎng)絡(luò)信息的粒度和語義:簡單、健壯vs控制粒度和信息語義。信息的接收者:安全、隱私保護(hù)vs信息的中立性。使用p-距離接口的權(quán)衡涉及擴(kuò)放性、語義和隱私。接口本身是簡單、靈活和標(biāo)準(zhǔn)化的(易于互操作),復(fù)雜性體現(xiàn)在如何使用,而如何使用是由ISP決定的。使用P-距離接口選擇對等客戶(1)按p-距離選擇對等客戶:PID-i客戶選擇PID-j客戶的概率為pij的遞減函數(shù)。當(dāng)來自PID-i的一個客戶加入一個P2P會話時,appTracker查詢iTracker,得到從PID-i到其它PID的p-距離。如果iTracker指定PID-i內(nèi)的p-距離最小,到其它PID的p-距離次之,到外部網(wǎng)絡(luò)的p-距離最高,則應(yīng)用可減少穿過PID和自治系統(tǒng)的流量。使用P-距離接口選擇對等客戶(2)有上/下載流量匹配要求的應(yīng)用:假設(shè)P2P會話k計算出PID-i到其它PID的上載容量為uik,下載容量為dik,從PID-i到PID-j的流量為tijk。不考慮網(wǎng)絡(luò)效率,會話k選擇P2P對等客戶的問題描述為以下優(yōu)化問題:有上/下載流量匹配要求的應(yīng)用(續(xù))若考慮ISP的優(yōu)化目標(biāo),會話k可選擇在滿足一定流量的前提下最大化網(wǎng)絡(luò)效率,則以上優(yōu)化問題變?yōu)椋菏褂肞-距離接口選擇對等客戶(3)有魯棒性要求的應(yīng)用:PID-i中的客戶應(yīng)與其它PID中一定數(shù)量的客戶連接。引入變量ρijk:PID-i客戶到PID-j客戶的流量應(yīng)占PID-i客戶到所有其它PID客戶流量的最小比例。P4P設(shè)計的理論基礎(chǔ)iTracker收集網(wǎng)絡(luò)狀態(tài)信息:be:邊e上的背景流量(非P2P流量)ce:邊e的容量Ie(i,j):指示邊e是否在從PID-i到PID-j的路由上。Tk為會話k可以接受的流量模式集合。對于其中一個tk∈Tk,若會話k選擇tk,則它將產(chǎn)生從PID-i到PID-j的P2P流量tijk,相應(yīng)地邊e上的流量總和為tek。問題描述若采用傳統(tǒng)的ISP流量工程目標(biāo),需要求解以下優(yōu)化問題(最小化最大鏈路利用率):改寫以上優(yōu)化問題為:問題分解對于公式(9)中的每一個約束條件,引入一個對偶變量pe>0,定義拉格朗日對偶方程:為使方程有界,α的系數(shù)必須為0,即:對偶方程簡化如下:iTracker與應(yīng)用的交互會話k從iTracker獲得本地計算,使?jié)M足iTracker獲得應(yīng)用反饋的,調(diào)整{pe}:更新{pij},返回給查詢的應(yīng)用;應(yīng)用更新tk。4.3基于P4P架構(gòu)的P2P流媒體系統(tǒng)P2P流媒體是結(jié)合流媒體技術(shù)與P2P技術(shù)的流媒體解決方案。基于組播樹的P2P流媒體技術(shù):構(gòu)建以視頻源為根的數(shù)據(jù)分發(fā)樹;當(dāng)節(jié)點收到數(shù)據(jù)包后,將數(shù)據(jù)包的拷貝轉(zhuǎn)發(fā)給它的每一個子節(jié)點。(典型的數(shù)據(jù)推送方法)優(yōu)點:拓?fù)浣Y(jié)構(gòu)簡單。缺點:拓?fù)渚S護(hù)開銷大,可靠性差,不利于在大規(guī)模的實際環(huán)境中使用?;赑4P架構(gòu)的P2P流媒體系統(tǒng)(續(xù))基于數(shù)據(jù)驅(qū)動的P2P流媒體技術(shù):每一個頻道看作是一個子覆蓋網(wǎng)絡(luò),頻道的媒體數(shù)據(jù)分割成chunk,節(jié)點間采用gossip協(xié)議分發(fā)數(shù)據(jù)。優(yōu)點:不需要維護(hù)分發(fā)結(jié)構(gòu),系統(tǒng)健壯性好。缺點:隨機(jī)推送導(dǎo)致大量冗余;沒有明確的拓?fù)浣Y(jié)構(gòu)支持,最小化啟動和傳輸時延成為主要問題。改進(jìn):通過數(shù)據(jù)拉取技術(shù)解決傳輸冗余問題。節(jié)點維護(hù)一組伙伴,周期性地同伙伴交換數(shù)據(jù)可用性信息和數(shù)據(jù)。一個融合P4P架構(gòu)的P2P流媒體系統(tǒng)如何發(fā)現(xiàn)iTracker地址appTracker通過DNS解析P4P服務(wù)的域名,獲取iTracker的IP地址。在appTracker上直接配置iTracker地址。4.4基于P4P技術(shù)的Gnutella路由算法Gnutella0.6引入了超級節(jié)點的概念:超級節(jié)點:葉子節(jié)點的代理,只在認(rèn)為葉子節(jié)點能夠響應(yīng)查詢請求時才向葉子節(jié)點轉(zhuǎn)發(fā)查詢請求;葉子節(jié)點:從不向超級節(jié)點轉(zhuǎn)發(fā)查詢請求。Gnutella0.6的工作原理節(jié)點加入:節(jié)點連接到網(wǎng)絡(luò)后,使用Ping消息找到最近的超級節(jié)點;通過該超級節(jié)點了解并連接更多的超級節(jié)點;選擇一個超級節(jié)點,成為它的葉子節(jié)點。查詢轉(zhuǎn)發(fā):節(jié)點向自己的超級節(jié)點發(fā)送Query消息;若超級節(jié)點有符合查詢要求的文件,發(fā)送QueryHit消息;超級節(jié)點遞減Query的TTL值,若不為0,向相鄰的超級節(jié)點及可能包含該文件的葉子節(jié)點轉(zhuǎn)發(fā)Query消息。使用P4P技術(shù)優(yōu)化超級節(jié)點的選擇在Gnutella網(wǎng)絡(luò)中,滿足以下條件的對等節(jié)點成為超級節(jié)點:主機(jī)沒有處在防火墻內(nèi)且運(yùn)行合適的操作系統(tǒng)具有足夠的帶寬、機(jī)器性能和正常運(yùn)行時間連接了不少于一定數(shù)量的客戶節(jié)點可以利用P4P技術(shù)優(yōu)化超級節(jié)點的選擇:基于P4P技術(shù)獲得的信息,選擇那些連通度較高的節(jié)點作為超級節(jié)點。使用P4P技術(shù)優(yōu)化節(jié)點加入在Gnutella協(xié)議中:節(jié)點從獲得的超級節(jié)點中隨機(jī)選擇一個加入。利用P4P技術(shù)優(yōu)化節(jié)點加入:基于P4P技術(shù)獲得的網(wǎng)絡(luò)信息,優(yōu)先選擇位于同一個ISP、(在同一個ISP時)同一個城市的超級節(jié)點加入??蓽p小超級節(jié)點和葉子節(jié)點的通信延遲,降低骨干網(wǎng)絡(luò)間的通信流量。使用P4P技術(shù)優(yōu)化查詢請求的轉(zhuǎn)發(fā)超級節(jié)點的路由表中維護(hù)了到其它超級節(jié)點的路由?;赑4P技術(shù)獲得的網(wǎng)絡(luò)信息,超級節(jié)點可以計算到其它超級節(jié)點的通信代價,記錄在路由表中。在向其它超級節(jié)點轉(zhuǎn)發(fā)查詢請求時,選擇通信代價較小的超級節(jié)點轉(zhuǎn)發(fā)查詢請求。5搭便車現(xiàn)象及抑制機(jī)制P2P通信模式倡導(dǎo)的理念是協(xié)作和共享,但P2P網(wǎng)絡(luò)的理性用戶更多地表現(xiàn)出自主性和自私性,只想索取資源而不愿貢獻(xiàn)資源。節(jié)點只享受服務(wù)而不為系統(tǒng)做貢獻(xiàn)的行為稱為搭便車(freeriding),大量搭便車現(xiàn)象將導(dǎo)致P2P網(wǎng)絡(luò)效用大幅降低。P2P網(wǎng)絡(luò)中還存在大量不可靠的服務(wù)以及欺詐行為。必須考慮P2P網(wǎng)絡(luò)中節(jié)點的自主行為,激勵節(jié)點之間有效合作并合理使用網(wǎng)絡(luò)資源。搭便車行為的研究進(jìn)展第一階段:試圖測量不同對等網(wǎng)絡(luò)中的搭便車現(xiàn)象,分析其數(shù)學(xué)特征。第二階段:一些搭便車行為的抑制機(jī)制被提出,其中少數(shù)已應(yīng)用到真實系統(tǒng)中。第三階段:意識到還沒有哪一種方法可以徹底解決對等網(wǎng)絡(luò)中的搭便車行為,應(yīng)更深入地研究抑制機(jī)制,并在真實系統(tǒng)中驗證有效性。搭便車現(xiàn)象的測量結(jié)果極少數(shù)熱心節(jié)點維持了大量的連接。測量結(jié)果表明,搭便車現(xiàn)象在對等網(wǎng)絡(luò)中廣泛存在。拱便車行為的數(shù)學(xué)建模有文獻(xiàn)采用排隊論對對等網(wǎng)絡(luò)的服務(wù)能力進(jìn)行了數(shù)學(xué)建模,研究表明:提供服務(wù)的節(jié)點數(shù)越多、單一文件的拷貝數(shù)量(網(wǎng)絡(luò)中包含該文件的節(jié)點數(shù))越多,則對等網(wǎng)絡(luò)的服務(wù)能力越強(qiáng)。不同結(jié)構(gòu)的P2P應(yīng)用系統(tǒng),容忍搭便車行為的能力有所不同。搭便車節(jié)點比例與對等網(wǎng)絡(luò)吞吐率的關(guān)系CIA:具有集中索引服務(wù)器的對等網(wǎng)絡(luò)DIFA:分布式洪泛機(jī)制的對等網(wǎng)絡(luò)DIHA:分布式哈希表索引的對等網(wǎng)絡(luò)BT的激勵機(jī)制BT采用激勵機(jī)制來抑制搭便車行為:節(jié)點以較大優(yōu)先級選擇向其提供了較大下載帶寬的節(jié)點提供數(shù)據(jù)上傳服務(wù)。在該機(jī)制下,單個搭便車節(jié)點能獲取的最大帶寬如下,μ是節(jié)點上傳帶寬,nu是單個節(jié)點最大并發(fā)下載連接數(shù):直接提高nu即可降低搭便車者享受的服務(wù),但節(jié)點需支持較多的并發(fā)TCP連接數(shù),易出現(xiàn)超時重傳或擁塞現(xiàn)象,網(wǎng)絡(luò)有效吞吐率下降。在BT中,nu設(shè)為4。搭便車行為對對等網(wǎng)絡(luò)的影響大量搭便車節(jié)點可能使熱心節(jié)點因長期過載而宕機(jī),導(dǎo)致整個對等網(wǎng)絡(luò)的連通性發(fā)生巨大變化。大量搭便車行為會降低對等網(wǎng)絡(luò)的生命周期:熱心節(jié)點因得不到資源而離開網(wǎng)絡(luò),并帶走大量的資源,導(dǎo)致更多的節(jié)點離開。如果搭便車現(xiàn)象過于嚴(yán)重,對等網(wǎng)絡(luò)將趨近客戶機(jī)/服務(wù)器通信模式,其可用性甚至比傳統(tǒng)的客戶機(jī)/服務(wù)器通信模式更差。為什么容忍搭便車現(xiàn)象的存在?多數(shù)對等網(wǎng)絡(luò)軟件開發(fā)者容忍搭便車現(xiàn)象存在。以下三個因素值得考慮:搭便車現(xiàn)象使對等網(wǎng)絡(luò)抵御隨機(jī)選擇節(jié)點攻擊的能力較強(qiáng)。搭便車現(xiàn)象使得對等網(wǎng)絡(luò)中節(jié)點的重要性不再均衡,管理者可以重點管理數(shù)量不多的熱心節(jié)點。允許一定程度的搭便車現(xiàn)象,有利于吸引自私的節(jié)點用戶加入到對等網(wǎng)絡(luò),提高對等網(wǎng)絡(luò)的用戶數(shù)量。搭便車行為抑制機(jī)制抑制搭便車行為的共同指導(dǎo)原則是:根據(jù)節(jié)點已做出的貢獻(xiàn),確定它能夠享受服務(wù)的能力。
已提出的抑制機(jī)制分為三類:基于節(jié)點行為的激勵機(jī)制基于博弈論的方法采用社會網(wǎng)絡(luò)或經(jīng)濟(jì)模型的控制策略基于節(jié)點行為的激勵機(jī)制激勵機(jī)制的算法流程:不同激勵機(jī)制之間的差異主要體現(xiàn)在效用函數(shù)定義、測量點選擇等方面。效用函數(shù)設(shè)計效用函數(shù):節(jié)點享受服務(wù)的能力與節(jié)點為系統(tǒng)已做貢獻(xiàn)的關(guān)系。效用函數(shù)可能涉及以下自變量:節(jié)點共享文件的數(shù)量節(jié)點已下載文件的數(shù)量節(jié)點已上傳文件數(shù)量節(jié)點已下載數(shù)據(jù)的大小節(jié)點已上傳數(shù)據(jù)的大小等。定義計算復(fù)雜度小、又能客觀反映搭便車控制關(guān)鍵問題的效用函數(shù)是激勵機(jī)制設(shè)計的核心。測量點位置選擇自我測量:節(jié)點把自已每次提供服務(wù)或享受服務(wù)的行為記錄下來,評價自己在網(wǎng)絡(luò)中的貢獻(xiàn)大小。工程上容易實現(xiàn),開銷小,但很難對付惡意欺騙的節(jié)點。
相鄰節(jié)點測量:每個節(jié)點對相鄰節(jié)點進(jìn)行測量和監(jiān)督,各個節(jié)點的貢獻(xiàn)大小由鄰接節(jié)點評價。節(jié)點互相測量能有效防止少數(shù)節(jié)點的惡意欺騙,但分布式測量的系統(tǒng)開銷比較大。自我測量的激勵機(jī)制(1)效用函數(shù)一:|UList(Pi,T)|表示在T時刻節(jié)點i所提供的共享文件數(shù)量,α是一個規(guī)范化系數(shù)(常量)。節(jié)點能享受的服務(wù)質(zhì)量正比于節(jié)點共享的文件數(shù)量。自我測量的激勵機(jī)制(2)效用函數(shù)二:節(jié)點能享受的服務(wù)質(zhì)量正比于節(jié)點共享的文件大小總量。
以上兩個效用函數(shù)沒有反映節(jié)點所提供的文件被其它節(jié)點下載次數(shù)的動態(tài)信息。
自我測量的激勵機(jī)制(3)效用函數(shù)三:第一項是節(jié)點i在時刻T的獎勵值,第二項是懲罰值,上傳(下載)越多,獎勵(懲罰)越多。K可以用作在線時間的度量,實現(xiàn)免費贈品。自我測量的激勵機(jī)制(4)考慮節(jié)點異構(gòu)性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度體育賽事贊助合作服務(wù)協(xié)議4篇
- 二零二五年度新能源汽車合作協(xié)議2篇
- 二零二五年度建筑工程質(zhì)量爭議調(diào)解合同3篇
- 二零二五年度跨境電商平臺合作運(yùn)營合同正規(guī)范本2篇
- 二零二四年體育場館停車場外包運(yùn)營與管理合同3篇
- Unit1 Nature Grammar in Use 3說課稿-2024-2025學(xué)年高中英語上外版必修第二冊
- 二零二五年度金融行業(yè)勞動合同范本及風(fēng)險防范2篇
- 第六單元 走向和平與發(fā)展的世界 說課稿 2024-2025學(xué)年統(tǒng)編版九年級歷史下冊
- 二零二五年度能源消耗監(jiān)測與優(yōu)化合同樣本3篇
- 2025年度茶葉深加工項目投資合同4篇
- 通用電子嘉賓禮薄
- 2023年浙江省公務(wù)員考試面試真題解析
- GB/T 5796.3-2022梯形螺紋第3部分:基本尺寸
- GB/T 16407-2006聲學(xué)醫(yī)用體外壓力脈沖碎石機(jī)的聲場特性和測量
- 簡潔藍(lán)色科技商業(yè)PPT模板
- 錢素云先進(jìn)事跡學(xué)習(xí)心得體會
- 道路客運(yùn)車輛安全檢查表
- 宋曉峰辣目洋子小品《來啦老妹兒》劇本臺詞手稿
- 附錄C(資料性)消防安全評估記錄表示例
- 噪音檢測記錄表
- 推薦系統(tǒng)之協(xié)同過濾算法
評論
0/150
提交評論