P2P技術及資源發(fā)展論文

時間:2022-03-17 05:28:00

導語:P2P技術及資源發(fā)展論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

P2P技術及資源發(fā)展論文

摘要p2p主要指計算機之間以對等方式形成的網(wǎng)絡連接,弱化或完全取消了服務器的作用。文章從分析P2P的基本概念、需求和發(fā)展入手,討論了P2P與網(wǎng)格和C/S的聯(lián)系和區(qū)別,并列舉了現(xiàn)今P2P的主要應用,最后,對目前P2P中存在的資源發(fā)現(xiàn)與定位問題做了分析和論述。關鍵字P2P、資源管理、Gnutella、哈希查找1P2P技術簡介1.1概念及特征P2P是peertopeer的縮寫,是指:通過使用分布資源,借助于分布計算技術來完成關鍵任務的系統(tǒng)和應用的總稱。這里的分布式資源包括計算能力、數(shù)據(jù)(包括存儲介質和內(nèi)容)、網(wǎng)絡帶寬和其它資源(如計算機、人力資源等);分布計算包括算法、數(shù)據(jù)、元數(shù)據(jù)等,或者是三者總體;關鍵任務包括分布計算、數(shù)據(jù)(或內(nèi)容)共享、通信與協(xié)作,或者是平臺服務等。P2P技術的主要特征是弱化服務器作用,甚至取消服務器,使分布式系統(tǒng)中的各個節(jié)點邏輯對等,這種技術出現(xiàn)的目的就是希望能夠充分利用網(wǎng)絡中所蘊含的潛在資源。與C/S模型不同,P2P模型中每個節(jié)點既可以是服務(或者資源)的提供者,也可以是使用者,充其量就是提供的服務(或資源)的類型不同。1.2需求與背景隨著網(wǎng)絡技術的飛速發(fā)展和網(wǎng)絡規(guī)模的不斷擴大,接入網(wǎng)絡的主機增加,可用資源豐富,然而目前的互聯(lián)網(wǎng)仍然是以C/S模式為主,尤其是Web技術的發(fā)展使得許多Web服務器成為信息的主要提供源,整個Internet系統(tǒng)依附于這些少量的服務器節(jié)點,而大量的個人主機中的資源卻成了網(wǎng)絡中的信息孤島,無法得到充分利用,能否發(fā)揮這些閑散資源的使用效率(或者作用)構成了人們關注P2P的理由。1.3P2P與網(wǎng)格的聯(lián)系與區(qū)別網(wǎng)格與P2P在技術上沒有本質區(qū)別,都是在廣域網(wǎng)條件下實現(xiàn)資源共享和分布計算。正因如此,全球網(wǎng)格論壇(GGF)與對等網(wǎng)絡研究小組(P2PWG)已宣布合并。但二者也有一定的區(qū)別。網(wǎng)格類似于電力系統(tǒng),格點(或者節(jié)點)類似發(fā)電站,通過整個網(wǎng)絡輸送給用戶,相對于P2P,更象是將一些大型資源組織起來,供社會共享,我國目前正在實施的生物研究網(wǎng)格和網(wǎng)絡教育服務網(wǎng)格都可作為其輔證;P2P則泛指閑散資源的組織。(1)應用面網(wǎng)格較側重于重大科學計算和大型專業(yè)性的協(xié)同,其一個或多個主要節(jié)點仍有較重的服務器色彩;P2P提供普通的信息、計算服務,每個參與者明顯地兼有客戶、服務器雙重身份。(2)訪問對象網(wǎng)格訪問計算資源、數(shù)據(jù)資源、軟件資源,相對來說,有較固定的目標;P2P完全是隨機訪問,隨機使用。(3)安全性網(wǎng)格中每個節(jié)點都有身份鑒定、授權、防火墻保護的能力;P2P每個參與者不保證這些能力,甚至是匿名的。(4)控制網(wǎng)格在資源監(jiān)視/分配和作業(yè)調度上仍有較多的集中控制;P2P僅有很少的或沒有集中控制,主要靠自行組織。(5)服務質量網(wǎng)格確保可靠的服務質量;P2P只有部分的保證,某些參與者甚至是不可信的。以上這些區(qū)別是相對而言,隨著不斷發(fā)展和改進,這些區(qū)別會逐步縮小。1.4P2P與C/S的聯(lián)系從某種程度上說,也許不應該將P2P和C/S模式完全的對立起來,就某項特定的應用,以及特定的時間,P2P網(wǎng)絡也許是以C/S方式進行工作的。例如:如果每個用戶都有一些軟件資源(例如文字處理程序)或者硬件設施(例如:打印機),自然,可以采用P2P的方式進行可控共享,此時,提供打印機的客戶(本地的某個進程)就臨時充當了服務器的角色。再分析一下目前的Web工作方式,我們更多的應用是文件(或者資料)的查找,Web頁面成為文件資源的目錄,存儲對應文件的主機成為提供者,原理上,該主機可以獨立于Web服務器,這也可認為是P2P的一種形式。2P2P資源發(fā)現(xiàn)與定位目前P2P技術已在文件交換,分布式計算,搜索,信息共享,協(xié)同工作,即時通信,網(wǎng)絡游戲等等方面得到了廣泛的應用,還有一些公司在開發(fā)基于P2P的平臺。但是,無論是通信、P2P協(xié)作、分布式搜索引擎還是共享計算和交互式游戲等功能的實現(xiàn),都只能以很好解決網(wǎng)內(nèi)資源的迅速準確定位問題為前提。所以,P2P網(wǎng)絡中資源發(fā)現(xiàn)是及其重要的。目前,資源的定位一般采用的是“地址查詢”的方法,即:每個資源有一個全局唯一標識符OID和一個包含其所在地址的指針P,系統(tǒng)將保存起來,當用戶需要訪問該資源時,根據(jù)OID來查詢P,從而進行定位。定位機制有不同的實現(xiàn)方法。按照實現(xiàn)系統(tǒng)的體系結構,主要可以分為兩類:集中目錄式、泛洪請求式2.1集中目錄式在集中目錄式(CentralIndexServer)中,有一個類似于服務器的節(jié)點集中提供資源索引信息。當用戶共享資源時,需將資源的向索引服務器進行資源注冊,索引服務器中保存著系統(tǒng)中所有資源的標識符和指針列表。當用戶需要查找資源時,首先通過資源標識符查詢索引服務器,服務器返回該資源的指針,用戶通過該指針定位。當定位到資源的存儲位置后,資源的下載在節(jié)點之間直接進行,與索引服務器沒有關系。集中式的優(yōu)點是:簡單、容易實現(xiàn)。大多數(shù)的分布式系統(tǒng)采用的都是這種方法,例如:三種分布式對象計算環(huán)境(CORBA,DCOM,JAVARMI)提供的分布對象名字服務、大量的通用目錄服務(如X.500、LDAP和NIS)和一些實用分布式系統(tǒng)(如Napster)的資源定位方法等。集中式的缺點很明顯:類似于C/S模式,缺乏可擴展性和存在單點故障問題。圖1集中目錄式圖2泛洪請求式圖3分布式Hash式2.2泛洪請求式與集中目錄式不同,泛洪請求式(FloodingRequest)沒有中央目錄服務器,用戶的請求通過所有連接的節(jié)點傳遞,這些節(jié)點或者響應該請求,或者在不能滿足請求時,將該請求向與自己相連的其他節(jié)點廣播,直到請求得到響應為止(泛洪)。為了減少廣播帶來的網(wǎng)絡帶寬浪費,一般將廣播傳遞限制在7~8跳以內(nèi),即如果請求在經(jīng)過有限的循環(huán)廣播之后,仍不能得到響應,則發(fā)送請求的節(jié)點將得到一個錯誤信息。Gnutella是泛洪的經(jīng)典之作,Gnutella協(xié)議設置了三種機制來控制消息數(shù)量的指數(shù)增長。機制一:消息生存時間(Time-to-Live簡稱TTL)消息生存時間主要是控制消息在網(wǎng)絡中傳播時能夠生存的時間,是消息頭中的一個字段,在消息生成時被賦予一個初始值。當消息被發(fā)送出去,其它主機結點接收到該消息時,首先將該消息的TTL值減1,如果為零,則將該消息丟棄掉。否則,發(fā)給它的鄰居結點。TTL值越大,消息能傳播的距離就越遠,反之,就越近。機制二:消息的唯一標識符(UniqueMessageIdentification簡稱UID).消息的唯一標識符是為了避免一個消息在同一個主機節(jié)點重復傳播而設計的。UID也被包含在消息頭中,每個消息的標識符都是不一樣的。當消息被發(fā)送出去,其它主機結點接收到該消息時,取出它的消息頭中的UID字段,同本地記錄的UID列表相比較,如果該消息的UID己經(jīng)在列表中,說明該主機結點己經(jīng)看過這條消息,它將直接把這條消息丟棄掉。否則,如果該消息的UID不在本地列表中,該主機結點將儲存這條消息的UID到本地UID列表,然后將該消息傳播出去。機制三:路徑標識符(PathIdentification)。路徑標識符是為了防止消息循環(huán)的出現(xiàn)及指導返回消息按原路返回而設置的。路徑標識符其實是一個地址列表,記錄了該消息所經(jīng)過的結點的地址。當一個主機結點接收到一條消息后,該主機結點會檢查自己的主機地址是否在消息所經(jīng)過的地址列表中,若在,說明該條消息已經(jīng)到過該主機結點,則該主機結點會將這條消息直接丟棄。否則,該主機將自己的地址加入消息的地址列表中,然后發(fā)送出去。以上三個控制機制保證了消息在網(wǎng)絡中不會被無限制的擴散,從而確保Gnutella網(wǎng)絡可以正常的運行。但是,這三種控制機制也不是盡善盡美,也會導致很多問題,其中之一便是短路效應。泛洪請求式由于通過廣播方式進行查找和定位,因此一般擴展性差,但在小范圍內(nèi)效率高,可靠性好。此外如果在系統(tǒng)中存在一些所謂的超級節(jié)點(即該節(jié)點擁有大量的資源信息),則可以顯著減少帶寬的浪費。目前第二代泛洪請求式的資源定位主要采用分布式Hash表算法:賦予系統(tǒng)中每個節(jié)點一個全局唯一標識符NID,通過一個哈希函數(shù)建立起資源唯一標識符OID和NID之間的對應關系:NID=HASH(OID),NID與OID是一對多的關系。將資源的定位信息保存到節(jié)點標識符為HASH(OID)的節(jié)點上。當用戶需要查找對象時,首先通過OID和哈希函數(shù)計算出該資源定位信息所在節(jié)點的標識符HASH(OID),然后將該請求發(fā)送到該節(jié)點上,即可找到該對象。由于P2P中,任意兩個節(jié)點可以通訊,并且各個節(jié)點上的哈希函數(shù)都相同,因此,只要知道對象的OID,用戶可以從任何一個節(jié)點出發(fā)找到該對象。根據(jù)節(jié)點的NID與OID之間的映射關系不同,分布式Hash表算法有許多不同的實現(xiàn)形式,如Chord、CAN、Pastry、Tapestry等。目前的最好效率是發(fā)現(xiàn)資源需要的路由表長度為logN(N為P2P網(wǎng)絡總節(jié)點數(shù)),查詢資源需要的通信量為logN。2.3現(xiàn)有的問題與改進圖4短路效應的成因如上所述,Gnutella中存在著短路效應。如圖4所示,假設Gnutella網(wǎng)絡上有A,B,C三臺主機,當有消息M(TTL=t)由主機A發(fā)出,假設有兩條路徑可以到達主機B,一條路徑是沿Ll(x1,x2,…,xp),路徑長度為p;一條是L2(y1,y2,…,yq),路徑長度為q。另有一條由主機B到主機C的路徑L3(z1,…,zr),路徑長度為r,其中有pr>t且qr3結束語雖然P2P的概念出現(xiàn)由來已久,但是隨著Internet的迅猛發(fā)展近年來對其的研究和應用日益成為熱點。目前Intel,SUN等多家國際IT企業(yè)都在投入相當大的力量研究適用的P2P計算模型及其實現(xiàn)。由于P2P技術在對等計算、協(xié)同工作方面的強大優(yōu)勢,今后肯定會在這兩個方面迅猛發(fā)展;將P2P技術和C/S模式的互聯(lián)網(wǎng)結合起來,在搜索引擎、文件共享方面國內(nèi)外已經(jīng)有不少商業(yè)化產(chǎn)品投入使用,但由于P2P技術本身存在不易管理、安全性差等缺陷,造成P2P技術自出現(xiàn)以來,并沒有大規(guī)模應用,而且這兩個問題如果得不到有效解決,將會成為P2P技術在這兩個方面發(fā)展的主要瓶頸。參考文獻1.L.TassiulasandA.Ephremides,Stabilitypropertiesofconstrainedqueueingsystemsandschedulingpoliciesformaximumthroughputinmultihopradionetworks.IEEETransactionsonAutomaticControl,Vol37,No12,Dec.1992,pp:1936~19482.DanaMoore,JohnHebeler著.對等網(wǎng).清華大學出版社,20033.AndyOram編.Harnessingthebenefitsfoadisruptivetechnolody.清華大學出版社,20034.Peer-to-PeerComputing[EB/OL].www.sics.se/perbrand/,20012112035.KarlA,MagdalenaP.ImprovingDataAccessinP2PSystems[J].IEEEInternetComputing,2002,6(1):58-67..6.呂向辰.P2P技術與應用./01/0128/d/0128d06-1.asp