p2p平臺系統(tǒng)開發(fā)的關(guān)鍵技術(shù)_第1頁
p2p平臺系統(tǒng)開發(fā)的關(guān)鍵技術(shù)_第2頁
p2p平臺系統(tǒng)開發(fā)的關(guān)鍵技術(shù)_第3頁
p2p平臺系統(tǒng)開發(fā)的關(guān)鍵技術(shù)_第4頁
p2p平臺系統(tǒng)開發(fā)的關(guān)鍵技術(shù)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

P2P平臺系統(tǒng)開發(fā)的關(guān)鍵技術(shù)摘要隨著Internet的快速發(fā)展,P2P系統(tǒng)在研究領(lǐng)域和產(chǎn)品開發(fā)中備受關(guān)注。鑒于P2P系統(tǒng)的應(yīng)用背景差異較大,我們將其劃分為P2P平臺層和P2P應(yīng)用層。本文主要討論P2P平臺的關(guān)鍵技術(shù),著重分析了通信、安全、性能等方面的技術(shù),為我們設(shè)計和實現(xiàn)P2P應(yīng)用提供借鑒。關(guān)鍵字Peer-to-Peer資源定位通信安全性能AbstractWiththeexplosivedevelopmentofInternet,Peer-to-Peersystemsareincreasinglycapturingtheattentionofresearchersandpractitioners.DuetoremarkabledifferencesofP2Papplicationbackgrounds,wedividetheP2PsystemintoP2PplatformlayerandP2Papplicationlayer.ThispaperanalyzesthekeytechnologyinP2Pplatformlayer,andemphasizesontheunderlyingtechnologiessuchascommunication,securityandperformance.ItcanprovideguidanceforthedesignandimplementationofP2Papplications.KeywordsPeer-to-Peer,resource-locating,communication,security,performanceP2P(Peer-to-Peer)計算是指不同系統(tǒng)之間通過直接交換,實現(xiàn)計算機資源和服務(wù)共享、進行信息處理的過程,這里,資源可以是處理器、緩存和磁盤空間等,服務(wù)包括信息交換、數(shù)據(jù)計算等。P2P模式與傳統(tǒng)客戶/服務(wù)器模式的關(guān)鍵區(qū)別在于Peer與Peer在通信過程中,可以完全摒棄服務(wù)器的角色,完成一種直接通信,來獲得共享資源或服務(wù)。從P2P的發(fā)展史來看,Internet的快速發(fā)展是P2P系統(tǒng)崛起的催化劑,在Internet上進行客戶/服務(wù)器模式的訪問,使得信息源分布過于集中,邊緣網(wǎng)絡(luò)的資源被閑置和浪費,而P2P技術(shù)的引入,使得網(wǎng)絡(luò)中任何一個與網(wǎng)絡(luò)相關(guān)的設(shè)備都可能為網(wǎng)絡(luò)中的其他設(shè)備提供有效的內(nèi)容服務(wù)。一般的P2P系統(tǒng)都有強烈的應(yīng)用背景,系統(tǒng)實現(xiàn)也與應(yīng)用類型緊密相關(guān)。為了深入分析P2P系統(tǒng)的關(guān)鍵技術(shù),我們將P2P系統(tǒng)劃分為P2P平臺層和應(yīng)用層,P2P平臺包含支撐P2P應(yīng)用所需的基礎(chǔ)組件,例如,發(fā)現(xiàn)機制、通信、安全、資源集成等組件。P2P應(yīng)用層利用P2P平臺提供的功能,向用戶提供專門的服務(wù)。這種區(qū)分可界定P2P的關(guān)鍵技術(shù),幫助我們設(shè)計和實現(xiàn)更多種類的P2P應(yīng)用。本文主要討論P2P平臺的關(guān)鍵技術(shù),全文按如下方式組織:第1節(jié)描述了P2P系統(tǒng)的特點,第2節(jié)概括了Peer通信的各種技術(shù),第3節(jié)敘述了P2P平臺的安全措施,第4節(jié)討論了P2P平臺的性能問題,最后是全文小結(jié)。1.P2P系統(tǒng)特點在P2P系統(tǒng)中,每一個Peer都是平等的參與者,承擔(dān)服務(wù)使用者和服務(wù)提供者兩個角色。資源的所有權(quán)和控制權(quán)被分散到網(wǎng)絡(luò)的每一個節(jié)點中。服務(wù)使用者和服務(wù)提供者之間進行直接通信,可充分利用網(wǎng)絡(luò)帶寬,減少網(wǎng)絡(luò)的擁塞狀況,使得資源的有效利用率大大提高(包括各種計算資源和存儲資源)。同時由于沒有中央節(jié)點的集中控制,系統(tǒng)的伸縮性較強,也能避免單點故障,提高系統(tǒng)的容錯性能。但由于P2P網(wǎng)絡(luò)的分散性、自治性、動態(tài)性等特點,造成了某些情況下Peer的訪問結(jié)果是不可預(yù)見的。例如,一個請求可能得不到任何應(yīng)答消息的反饋。P2P系統(tǒng)的匿名性等特點可能會帶來系統(tǒng)的安全漏洞。P2P系統(tǒng)的這些特點也決定了P2P應(yīng)用主要包括資源共享和協(xié)作。資源共享主要是文件共享系統(tǒng)、文件分發(fā)系統(tǒng)(FileDistributionSystem)。通過P2P網(wǎng)絡(luò)實現(xiàn)文件共享和文件分發(fā),能夠應(yīng)付爆發(fā)式訪問,系統(tǒng)的可伸縮性好,可靠性好。此類典型系統(tǒng)有Napster[1],Gnutella⑵,F(xiàn)reeNet⑶,Chord-basedSystem.BitTorrent[4]。P2P協(xié)作應(yīng)用的種類很多,包括即時消息系統(tǒng)、在線游戲、共享企業(yè)應(yīng)用(在提供即時消息之外,還可共享內(nèi)容和進行共同的活動如組內(nèi)共同開發(fā)和編輯)、文件搜索、pub/sub系統(tǒng)等。其中,即時消息系統(tǒng)⑸有AOLAIM、YahooMessenger、MSNMessenger、Jabber】6’7]等;在線游戲有星際爭霸、Net-Z和DOOM;共享企業(yè)應(yīng)用有Groove⑻、Magi⑼;文件搜索有YouSearch[10],OpenCola等;pub/sub系統(tǒng)有Scribe、Herms等;還有基于P2P網(wǎng)絡(luò)構(gòu)造的email系統(tǒng)。而從P2P系統(tǒng)的典型特點來分析,常常被引證為P2P應(yīng)用的科學(xué)計算系統(tǒng)Seti@Home[11]應(yīng)該屬于P2P的非典型應(yīng)用。各種P2P系統(tǒng)由于應(yīng)用背景的差異,彼此互不兼容,導(dǎo)致不同的P2P網(wǎng)絡(luò)無法通信,難以有效地利用網(wǎng)絡(luò)資源提供服務(wù)。Sun公司組織開發(fā)的JXTA】i2]項目,希望通過提供一個簡單通用的P2P平臺來解決這個問題。從上述應(yīng)用可以看出,P2P系統(tǒng)并不能替代客戶/服務(wù)器系統(tǒng),它們兩者是相輔相成的關(guān)系。從P2P系統(tǒng)的基本特點和應(yīng)用情況分析,我們認為P2P平臺中的Peer的通信、平臺的安全和平臺的性能優(yōu)化這三項技術(shù)是P2P系統(tǒng)的成功與否的關(guān)鍵所在。2P2P通信P2P通信時需要解決的最基本的問題即是如何連接其它的終端獲得信息、資源和服務(wù)。該問題可細分為以下一些問題:P2P網(wǎng)絡(luò)的拓撲結(jié)構(gòu)和Peer節(jié)點的功能角色劃分;資源和服務(wù)如何標識;進行資源查找時如何進行Peer定位;P2P網(wǎng)絡(luò)中Peer節(jié)點的動態(tài)變化的處理;如何穿越NAT(NetworkAddressTranslation)和防火墻進行Peer節(jié)點之間的直接通信P2P網(wǎng)絡(luò)的拓撲結(jié)構(gòu)和Peer節(jié)點的角色劃分在P2P網(wǎng)絡(luò)中,有兩種典型的拓撲結(jié)構(gòu),即純P2P網(wǎng)絡(luò)和混雜的P2P網(wǎng)絡(luò)[13]。在純P2P網(wǎng)絡(luò)中,每個Peer都具有同等的責(zé)任和地位,不存在中間節(jié)點的協(xié)調(diào)。FreeNet、Gnutella都屬于純P2P網(wǎng)絡(luò)。而在混雜的P2P網(wǎng)絡(luò)中,存在著充當服務(wù)器角色的Peer節(jié)點或提供特殊功能的Super-Peer節(jié)點,這些節(jié)點保存其它Peer節(jié)點的基本狀態(tài)和存儲內(nèi)容源信息,協(xié)助完成對其它節(jié)點的記錄、查詢等工作。Napster,Groove,Magi等系統(tǒng)均是典型的混雜型P2P系統(tǒng)。每一個Peer根據(jù)其提供的角色功能可以劃分為三種類型,即簡單類型Peer節(jié)點,super-peer節(jié)點和服務(wù)器型的peer節(jié)點。簡單類型Peer節(jié)點僅僅是一個簡單的終端用戶,它可以請求獲得服務(wù)并為網(wǎng)絡(luò)中的其它Peer提供服務(wù)。Super-peer節(jié)點除了具有和簡單Peer節(jié)點類似的功能外,還提供某些特殊功能。女叮XTA系統(tǒng)中就存在路由器Peer節(jié)點和會聚點Peer節(jié)點[12],前者作為一個橋梁,使得被防火墻或NAT隔離的Peer可以相互通信;后者為簡單節(jié)點提供查詢定位信息的功能。服務(wù)器型的Peer節(jié)點主要提供類似與客戶/服務(wù)器模型下的服務(wù)器功能,如提供一個全局統(tǒng)一的目錄查詢。在Napster這種混雜型的P2P系統(tǒng)中,有若干個簡單Peer節(jié)點相互提供文件下載功能的服務(wù),還有一個目錄服務(wù)器節(jié)點提供文件條目的注冊管理。Groove和Magi系統(tǒng)中也均存在這樣的服務(wù)器型節(jié)點。而在純P2P網(wǎng)絡(luò)中,每一個Peer節(jié)點均充當了上述的三種角色。資源的標識為了在P2P網(wǎng)絡(luò)中準確地查找資源進行Peer定位,還需要確定Peer中存貯資源的標識(這里我們將在P2P網(wǎng)絡(luò)中需要進行查找的對象統(tǒng)稱為資源)。不同的應(yīng)用場景均有適合自身特點的資源標識方式。在以文件共享為主的應(yīng)用中,資源主要以文件的名稱、關(guān)鍵字、源數(shù)據(jù)等進行標識。而即時消息通訊系統(tǒng)往往采用類似于電子郵件的命名方式,如在Jabber系統(tǒng)中,Jabber的用戶ID以[node@]domain/[resource]的形式進行地址標識⑺,提供一個全局統(tǒng)一的地址空間。其中,Domain是主要的ID標識,是與多個用戶連接進行消息轉(zhuǎn)發(fā)的JabberServer;Node為用戶姓名或昵稱,Resource屬于一個Node,標識屬于一個用戶的多個資源。一個用戶可以同時與同一服務(wù)器建立多次連接。以用戶之間協(xié)作為主的P2P應(yīng)用如Groove系統(tǒng)和Magi系統(tǒng),由于在協(xié)作中對即時消息通訊和文件共享的要求兼而有之,用戶一般以用戶名進行標識,而文件則以源數(shù)據(jù)標識[14]。JXTA作為一個解決不同P2P應(yīng)用彼此不兼容的底層平臺,提出了一個統(tǒng)一的資源標識定義,即廣告[12](advertisement)。廣告是一個XML結(jié)構(gòu)的文檔,由Peer或相互協(xié)作共同完成一種應(yīng)用Peer組進行發(fā)布,用來描述現(xiàn)有的資源、服務(wù)或?qū)嶓wPeer。Peer節(jié)點通過查詢廣告以獲得各種資源的消息,進行Peer定位。Peer的定位方式在查找資源的過程中,可采用直接或間接方式定位Peer。直接定位Peer的方式比較簡單,即利用廣播或多播的形式發(fā)出查詢請求,符合查詢要求的Peer節(jié)點進行應(yīng)答,然后建立直接的通信連接。由于這種方式只能在局域網(wǎng)中使用,所以應(yīng)用范圍有限。當然這種方式可以和其它的定位方式結(jié)合使用以獲得良好的查詢效率。間接方式包括三種模型:服務(wù)器模型、洪流模型、和路由模型。服務(wù)器模型:該模型是基于混雜型的P2P拓撲結(jié)構(gòu)。充當服務(wù)器的peer節(jié)點提供資源查詢。peer將請求發(fā)送至服務(wù)器獲得查詢結(jié)果,隨后,直接與目標節(jié)點通信獲取所需服務(wù)。但這種方式存在單點失敗問題,同時,也存在伸縮性問題。但因為peer節(jié)點僅在啟動、停止及查詢的時候才與服務(wù)器交互,所以此時的伸縮性還是強于客戶/服務(wù)器模式。典型系統(tǒng)有Napster.Magi,Groove和Jabber。Napster系統(tǒng)采用一個目錄服務(wù)器記錄資源索引,Groove系統(tǒng)和Magi系統(tǒng)均是采用動態(tài)DNS查找用戶的IP地址[14]。Jabber系統(tǒng)由于其資源標識類似于Email地址,所以,利用DNS的MX記錄進行IP地址的查詢[7]。洪流模型:該模型基于純P2P拓撲結(jié)構(gòu)。Peer節(jié)點采用洪流法將查詢請求不斷地轉(zhuǎn)發(fā)至鄰居節(jié)點,直到到達目標節(jié)點,獲得查詢結(jié)果。同時為了避免消息無限制的轉(zhuǎn)發(fā),查詢請求中設(shè)定有TTL(TimetoLive)或HTL(HopstoLive)進行轉(zhuǎn)發(fā)控制。Gnutella是采用此類模型的典型系統(tǒng)。路由模型:該模型也是基于純P2P網(wǎng)絡(luò)結(jié)構(gòu)。首先為網(wǎng)絡(luò)中的每一個peer賦予一個ID,同時,每個Peer存儲的資源和服務(wù)也有類似的ID。Peer節(jié)點的路由表中登記一定數(shù)量的鄰居節(jié)點。Peer的請求被轉(zhuǎn)發(fā)至與所請求的資源或服務(wù)的ID最接近的Peer,直到發(fā)現(xiàn)這個資源或服務(wù)麗。插入一個新資源/服務(wù)的過程與查詢過程類似,也是通過查找該資源/服務(wù)ID來確定存儲的正確位置。此類模型主要用在文件共享系統(tǒng)中,如FreeNet,Chord[16],CAN[17],Tapestry,Pastry等。路由模型又可細分為非結(jié)構(gòu)化路由模型和結(jié)構(gòu)化路由模型。FreeNet系統(tǒng)屬于典型的非結(jié)構(gòu)化路由模型。在查找到所需資源后,為了提高搜索性能,系統(tǒng)沿搜索路徑復(fù)制資源。這樣,由于資源的存儲位置不固定,其行為不易觀察,不確定因素較大。所以相對于結(jié)構(gòu)化路由模型來說,其資源分布的規(guī)律性不強,難以從全局上把握整個系統(tǒng)的資源分布狀況。而結(jié)構(gòu)化路由模型如Chord,CAN,Tapestry.Pastry均采用了DHT(DistributedHashTable)作為主要的存儲算法。DHT的主要思想是將資源定位用的索引(索引結(jié)構(gòu)通常是兩元組(文件名,實際的存儲位置))分散存儲到整個P2P網(wǎng)絡(luò)上,這樣,哈希表的存儲和查詢操作就會涉及到P2P網(wǎng)絡(luò)中的多個節(jié)點。以DHT思想進行路由模型的設(shè)計時,首先需要確定通過Hash函數(shù)進行虛擬地址空間映射的規(guī)則。虛擬地址空間的設(shè)計有多種方式,Chord采用的虛擬地址空間為m-位的循環(huán)地址空間[16],CAN系統(tǒng)采用的是多維的地址空間[17]。Peer節(jié)點的IP地址和端口號經(jīng)過哈希函數(shù)映射到地址空間,再將映射空間進行劃分,每個節(jié)點負責(zé)存儲屬于自己空間的值對(key,value)。其次需要確定路由表項的存儲內(nèi)容,即鄰居節(jié)點的規(guī)模,以適應(yīng)于不同的網(wǎng)絡(luò)需求。這里需要對路由表項的規(guī)模與網(wǎng)絡(luò)搜索跳轉(zhuǎn)數(shù)進行綜合考慮。在動態(tài)性較強的網(wǎng)絡(luò)中,節(jié)點頻繁加入和退出網(wǎng)絡(luò)會使得規(guī)模較大的路由表更新頻率過高,操作費時。但規(guī)模較小的路由表在進行資源定位時,又使得查找時間過長。再次是確定在接收到一個資源的查詢請求時,從路由表中選擇轉(zhuǎn)發(fā)的鄰居節(jié)點的規(guī)則。最后要確定新節(jié)點的插入和刪除操作后,虛擬的地址空間如何進行分裂和合并。P2P網(wǎng)絡(luò)中節(jié)點的登錄和退出在服務(wù)器模型的P2P網(wǎng)絡(luò)中,由于Peer節(jié)點的狀態(tài)信息和管理的資源信息直接記錄在服務(wù)器中,Peer節(jié)點的登錄和退出僅需和服務(wù)器進行交互,由服務(wù)器進行協(xié)調(diào)處理。如在Napster系統(tǒng)中,Peer節(jié)點登錄系統(tǒng)后,向服務(wù)器發(fā)送當前的網(wǎng)絡(luò)狀態(tài)和所有的文件列表信息,由服務(wù)器更新目錄索引。在Jabber等即時消息通訊系統(tǒng)中,Peer節(jié)點往往是與用戶綁定的。服務(wù)器接收到用戶的登錄消息或退出消息后,通知訂閱該用戶在線狀態(tài)的所有在線用戶。非結(jié)構(gòu)化路由模型FreeNet中,新節(jié)點首先需要獲知網(wǎng)絡(luò)中的若干可連接節(jié)點的信息,通過執(zhí)行搜索操作向整個網(wǎng)絡(luò)宣布自己的存在。在結(jié)構(gòu)化路由模型的P2P網(wǎng)絡(luò)中,節(jié)點的登錄和退出,將導(dǎo)致虛擬地址空間的分裂和合并。Peer節(jié)點登錄網(wǎng)絡(luò)的操作,類似于一個資源的查找過程。Peer節(jié)點定位到所屬的地址空間后,將地址空間以一定規(guī)則進行分裂。負責(zé)管理該地址空間資源的原節(jié)點將所屬資源按分裂的規(guī)則,部分轉(zhuǎn)移到新節(jié)點。同時兩個節(jié)點的路由表項和其它相關(guān)節(jié)點的路由表項均要進行修改。而Peer節(jié)點退出網(wǎng)絡(luò)的過程,則是登錄網(wǎng)絡(luò)的逆過程,資源需要轉(zhuǎn)移合并,相關(guān)節(jié)點的路由表項同樣需要更新。防火墻和NAT的穿越在實際的網(wǎng)絡(luò)通信中,Peer節(jié)點往往是一個私有網(wǎng)絡(luò)中的節(jié)點,位于防火墻之后。這樣,Peer與Peer之間直接通信需要解決的一個關(guān)鍵問題是穿越防火墻和NAT。由于防火墻會對IP進行過濾,限制了墻內(nèi)外的連接,而NAT技術(shù)雖然可以使得內(nèi)部網(wǎng)絡(luò)地址映射到外部網(wǎng)絡(luò)地址,但要求內(nèi)部網(wǎng)絡(luò)首先發(fā)起對外連接,否則外部網(wǎng)絡(luò)機器無法達到內(nèi)部網(wǎng)絡(luò)[12]。穿越防火墻和NAT的策略有兩個基本點:需要使用在一般情況下可以通過防火墻的協(xié)議,如基于請求/應(yīng)答方式的HTTP協(xié)議。Peer之間進行通信時,必須由內(nèi)部網(wǎng)絡(luò)的機器首先發(fā)起連接請求,如果通信雙方均處于防火墻之后,則需要有防火墻外的轉(zhuǎn)發(fā)節(jié)點進行消息轉(zhuǎn)發(fā)。在Napster系統(tǒng)中當Peer節(jié)點請求下載的資源位于一個防火墻之后的節(jié)點上,請求節(jié)點向服務(wù)器端發(fā)送需要進行轉(zhuǎn)換下載的請求(Alternatedownloadrequest),由服務(wù)器通知被請求節(jié)點首先發(fā)起文件下載的連接請求。而Gnutella是在將查詢的詳細信息返回給請求者的同時發(fā)送資源文件,以此方式解決文件提供者位于防火墻之后的情況。JXTA平臺中,其super-peer節(jié)點中的路由節(jié)點是提供防火墻和NAT穿越功能的特殊節(jié)點。若通信一方在防火墻之后,那么單向穿越的過程由試圖與防火墻后的peerA連接的peer節(jié)點B發(fā)起,節(jié)點B首先與路由Peer連接,同時peerA周期性地連接路由Peer,由于路由Peer對PeerA是可見的,且不在防火墻后,連接請求消息可作為http的應(yīng)答內(nèi)容返回至peerAo若通信的雙方都在防火墻之后,那么需要兩個路由peer。Peer1通過路由節(jié)點1轉(zhuǎn)發(fā)消息,路由節(jié)點1將消息轉(zhuǎn)發(fā)至路由節(jié)點2,Peer2周期性地向路由節(jié)點2發(fā)送http請求,獲得消息后斷開連接。JXTA平臺中路由節(jié)點的使用不僅可以穿越防火墻,還可以解決瓶頸問題,解決網(wǎng)絡(luò)傳輸?shù)牟患嫒菪裕?2]。3.P2P平臺的安全機制與安全有緊密關(guān)系的是P2P平臺提供的匿名性。為了進行自由的交互,避免引起不必要的法律糾紛,所以,P2P系統(tǒng)允許匿名方式的信息交換[15]。匿名性可分為以下三種類型:發(fā)布者匿名:發(fā)布者匿名地發(fā)布服務(wù)或資源請求者匿名:請求方匿名地請求服務(wù)或資源服務(wù)提供者匿名:P2P網(wǎng)絡(luò)中的資源擁有者匿名地提供資源或服務(wù)提供匿名性的基本方法有六種:組播:采用IP組播方法進行資源發(fā)送可以達到請求者匿名的目的。但是這種方法需要底層網(wǎng)絡(luò)如以太網(wǎng)的支持。地址欺騙:使用面向無連接協(xié)議如UDP,可以更改地址,達到地址欺騙的目的。身份欺騙:網(wǎng)絡(luò)中的文件可能擁有多個備份,所以應(yīng)答者往往并不是文件的提供者口FreeNet就使用了這種方法提供匿名性。隱藏路徑:Peer之間并不是進行直接的消息通信,而是通過若干的中間節(jié)點,這樣可以達到發(fā)送者匿名的要求。別名:每一個Peer在網(wǎng)絡(luò)中均有一個別名,Peer之間通過別名進行消息傳遞,這種方法需要一個ProxyServer保存所有的Peer實體與別名的對應(yīng)關(guān)系。強制存放:一個文件存放的位置是由文件本身確定的,發(fā)布者無法選擇,從而實現(xiàn)發(fā)布者匿名,如基于Chord的系統(tǒng)。上述方法可以組合應(yīng)用,例如,F(xiàn)reeNet采用純P2P網(wǎng)絡(luò)中的非結(jié)構(gòu)化文檔路由模型,同時在發(fā)布文件和查找文件的過程中,沿搜索路徑復(fù)制文件。通過隱藏路徑和身份欺騙的方法達到服務(wù)提供者匿名的目的,通過隱藏路徑的方法形成請求者匿名,同時由于文件的發(fā)布是一個根據(jù)文件名強制存放的過程,所以也完成了發(fā)布者匿名的功能。P2P平臺所具有的上述特性可能會帶來下列安全隱患:拒絕服務(wù)攻擊:P2P應(yīng)用會消耗網(wǎng)絡(luò)帶寬,占用磁盤空間,使得系統(tǒng)性能降低甚至完全癱瘓。如果被大量惡意地使用,就會出現(xiàn)正常服務(wù)請求得不到服務(wù)的現(xiàn)象。處理這種攻擊的難點在于如何將惡意節(jié)點和真正負載過重的節(jié)點區(qū)分開。從根本上說,限制網(wǎng)絡(luò)服務(wù)請求的數(shù)量是解決拒絕服務(wù)攻擊的根本方法。合理選擇網(wǎng)絡(luò)底層的拓撲結(jié)構(gòu),均衡系統(tǒng)中的負載和資源,加入流量控制策略,這三種措施綜合使用可使惡意節(jié)點根本無法占用過多的資源,降低其對系統(tǒng)的影響。惡意軟件分發(fā):P2P無中央服務(wù)器控制,允許匿名分發(fā)資源,對軟件的分發(fā)缺乏控制,如果P2P系統(tǒng)被惡意使用,會給系統(tǒng)用戶帶來安全隱患。通常的名譽評估系統(tǒng)可以用來跟蹤和處理Peer的狀態(tài),并根據(jù)得到的信息選擇資源的提供者。但是這種方法比較消耗網(wǎng)絡(luò)資源。信息泄露和篡改:例如,有些P2P系統(tǒng)在路由表中保存了一批網(wǎng)絡(luò)地址,這些信息可能會被泄露和篡改;有些P2P系統(tǒng)例如Napster、Gnutella允許直接訪問用戶硬盤,惡意用戶可利用這個特性察看和篡改磁盤信息。這些都需要有相應(yīng)的策略加以解決,例如,設(shè)計安全路由策略,可解決路由表信息泄露問題。4.P2P平臺的性能改善技術(shù)P2P平臺的性能指標包括請求響應(yīng)時間、公平性等。請求響應(yīng)時間與P2P平臺的拓撲結(jié)構(gòu)有很大關(guān)系。對于有中央服務(wù)器的P2P系統(tǒng)如Napster系統(tǒng)和Seti@Home系統(tǒng),Peer之間由服務(wù)器進行協(xié)調(diào),服務(wù)器變成了系統(tǒng)的瓶頸,影響系統(tǒng)性能。為了改善性能,可采用層次性的混雜式結(jié)構(gòu),由每一個協(xié)調(diào)者負責(zé)一個Peer組,形成一個層次的管理結(jié)構(gòu)。在非集中式的P2P網(wǎng)絡(luò)中,主要通過消息轉(zhuǎn)發(fā)來獲取和查詢數(shù)據(jù),消息轉(zhuǎn)發(fā)的次數(shù)影響帶寬的消耗,因此要盡量減少消息的轉(zhuǎn)發(fā)次數(shù)[15]。采用復(fù)制的方法可提供多個資源備份,提高容錯性,也減少了請求節(jié)點到服務(wù)節(jié)點的距離,減少了請求響應(yīng)時間。但復(fù)制會帶來數(shù)據(jù)一致性的問題;另一種減少消息轉(zhuǎn)發(fā)次數(shù)的方法是建立智能路由和網(wǎng)絡(luò)組織,尋找目標文件到請求節(jié)點的最小路徑。該類方法包括:在基于DHT的結(jié)構(gòu)化路由模型中設(shè)計合乎應(yīng)用背景要求的路由表存儲結(jié)構(gòu),以減少網(wǎng)絡(luò)中的消息跳轉(zhuǎn)數(shù);采用一些反饋機制,智能地選擇曾經(jīng)命中過的Peer節(jié)點進行消息轉(zhuǎn)發(fā);監(jiān)測網(wǎng)絡(luò)中的運行狀態(tài),繞過一些負載較重的Peer節(jié)點。這些方法都可以根據(jù)不同的使用背景獲得較好的性能提升。除了通過復(fù)制改善系統(tǒng)的響應(yīng)時間之外,緩存的替換策略對響應(yīng)時間改善也有很大影響。SmallWorld模型刻畫了網(wǎng)絡(luò)通信中的一個有趣的特征:在規(guī)則網(wǎng)絡(luò)中隨機地添加少量通路,能很好減短通信距離,減少請求的響應(yīng)時間,它被用來改進FreeNet中的緩存替換策略,也獲得了較好的性能改善[18]。P2P體系結(jié)構(gòu)使得P2P系統(tǒng)中會出現(xiàn)“無政府主義”行為,例如,過量下載或有意讓下載的文件中包含廣告等,這些行為導(dǎo)致P2P信息交換的不公平性。在P2P網(wǎng)絡(luò)中,為避免每一個Peer享受服務(wù)而不提供服務(wù)的現(xiàn)象,需要實行一定的管理機制。在P2P網(wǎng)絡(luò)中引入經(jīng)濟學(xué)中買賣交易的原理,可以促進資源的共享和交互。Stanford大學(xué)的P2P研究小組提出了RTR(right-to-respond)協(xié)議】19],用以解決在洪流模型中,中間節(jié)點不愿消耗資源轉(zhuǎn)發(fā)請求的問題。RTR是指對查詢請求的響應(yīng)權(quán),Peer節(jié)點可以購買和出售系統(tǒng)中每個查詢請求的RTR。當某一Peer節(jié)點轉(zhuǎn)發(fā)請求時,其它Peer節(jié)點可以向其購買RTR。購買了RTR的Peer節(jié)點可以執(zhí)行兩個操作,一是響應(yīng)該請求,如果被請求的發(fā)出者選中,就可以為其提供服務(wù)并收取費用;二是再將RTR售出給其它節(jié)點。通過這種方法,Peer節(jié)點在經(jīng)濟利益的驅(qū)使下會不斷轉(zhuǎn)發(fā)請求,擴大搜索范圍。同時可以促進擁有類似資源或服務(wù)的Peer節(jié)點頻繁聯(lián)系,形成PeerGroup,提高搜索效率。另一個利用經(jīng)濟學(xué)原理的實例是數(shù)據(jù)交易(datatrading)方法的引入[20]°P2P系統(tǒng)經(jīng)常采用數(shù)據(jù)備份的機制來增強資源可用性,提高系統(tǒng)性能。而用戶往往不愿無償提供存儲資源備份其它數(shù)據(jù)。這時利用數(shù)據(jù)交易的方法提供相互備份,即獲得對方存儲空間或數(shù)據(jù)資源是以向?qū)Ψ教峁┐鎯臻g為前提的。系統(tǒng)中Peer節(jié)點之間建立了良好的相互備份關(guān)系,將會減少搜索和訪問的開銷。以上這些實例均表明,采用經(jīng)濟學(xué)中以交易為基礎(chǔ)的資源管理機制,可以提高P2P系統(tǒng)的資源使用率。5.小結(jié)P2P計算,作為分布式計算的一個分支,目前不論是從技術(shù)研究還是產(chǎn)品開發(fā)來看,都已成為了一個重要的領(lǐng)域。P2P的算法、平臺和應(yīng)用都將有進一步的發(fā)展空間。P2P的思想也被廣泛地應(yīng)用在很多其他的研究領(lǐng)域。本文著重介紹了P2P的發(fā)展背景、P2P系統(tǒng)的特點,在P2P平臺層識別出若干P2P平臺的關(guān)鍵技術(shù),包括Peer的通信技術(shù)、P2P平臺的安全機制和P2P平臺的性能改善技術(shù),這些技術(shù)的總結(jié)和分析能對設(shè)計和實現(xiàn)P2P平臺和應(yīng)用起到一定的借鑒和指導(dǎo)作用。參考文獻:[1]NapsterInc.[2]Gnutella,Freenet,/lang/enBitTorrent,/BitTorrent/SixtoOrtizJr.,"InstantMessaging:NoLongerJustChat",IEEEComputer,March2001JeremieMiller,"Jabber,Peer-to-Peer:HarnessingthePowerOfDisruptiveTechnologies,”O(jiān)'Reilly,March2001PeterSaint-Andre,“JabberTechnologyOverview”PreetiMehra,Groove,16thNovember,2001,ECE-579GregoryAlanBolcer,MichaelGorlick,”Peer-to-PeerArchitecturesandtheMagiOpen-SourceInfrastructure”,EndeavorsTechnology,2000MayankBawa,RobertoJ.BayardoJr.,SridharRajagopalan,EugeneJ.Shekita,“MakeitFresh,MakeitQuick-Searc

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論