陳永紅 羅 寧
P2P和移動自組織網(wǎng)絡(luò)架構(gòu)屬于通信中的不同層次,兩者有相似之處,也有許多差異。如何將兩種架構(gòu)進行整合,得到一個可運行的P2P應(yīng)用平臺,是非常有意義的事情。P2P協(xié)議是基于固定的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,不知道底層的移動自組織網(wǎng)絡(luò),因此將產(chǎn)生額外和不必要的網(wǎng)絡(luò)流量。一般P2P應(yīng)用為在其重疊網(wǎng)絡(luò)內(nèi)部尋找信息而優(yōu)化了算法,但對于信息交互它們通常依賴TCP,并假定有穩(wěn)定的連接,無論何時連接中斷,P2P節(jié)點將切換到其它選中的隨機節(jié)點,但在移動自組織網(wǎng)絡(luò)中,由于所有節(jié)點都在移動之中,當(dāng)兩個相鄰的節(jié)點移動出相互的無線范圍,鏈路就將中斷,此時網(wǎng)絡(luò)拓?fù)浒l(fā)生變化,其它節(jié)點能以更低的開銷提供相同的信息,移動自組織網(wǎng)絡(luò)節(jié)點必須將路由中斷匯報給上層P2P節(jié)點,處于上層的P2P節(jié)點確定舊的源節(jié)點是否仍然可用,或重新建立一條新的連接。因此,僅通過在移動自組織網(wǎng)絡(luò)上簡單地建立P2P網(wǎng)絡(luò)的組合,將是一個低性能的網(wǎng)絡(luò),需要重新建立模型和協(xié)議。
通過物理網(wǎng)絡(luò)層和P2P層之間的一條交叉層通信信道,移動P2P協(xié)議將重疊網(wǎng)結(jié)構(gòu)適配到物理移動自組織網(wǎng)絡(luò)結(jié)構(gòu)上。相比于使用非別處理的重疊網(wǎng)和物理網(wǎng)的方法,這種整合的方法能明顯地降低消息傳輸負(fù)擔(dān),并增加搜索成功率,在協(xié)議中引入各種新服務(wù),提供上下文的路由和基于位置的服務(wù)[1]。新的應(yīng)用層協(xié)議(MPP)盡可能地重用現(xiàn)有的網(wǎng)絡(luò)協(xié)議,對于節(jié)點到節(jié)點通信,協(xié)議使用動態(tài)源路由協(xié)議,對于用戶數(shù)據(jù)的傳輸,使用TCP之上的HTTP,如圖1所示。為了將應(yīng)用層協(xié)議(MPP)與物理網(wǎng)絡(luò)層協(xié)議(EDSR)連接,使用了移動對等端控制協(xié)議(MPCP)。在移動自組織網(wǎng)絡(luò)中已經(jīng)提供了路由機制,在網(wǎng)絡(luò)層執(zhí)行路由任務(wù),并補充應(yīng)有層協(xié)議,和兩種網(wǎng)絡(luò)的獨立處理相比,它具有以下優(yōu)勢:
1)移動自組織網(wǎng)絡(luò)控制網(wǎng)絡(luò)的組織,因此移動自組織網(wǎng)絡(luò)拓?fù)涞淖兓詣拥乇籔2P網(wǎng)絡(luò)考慮在內(nèi)[6~10];
2)網(wǎng)絡(luò)層負(fù)責(zé)路由,應(yīng)用層控制數(shù)據(jù)交換;
3)兩種網(wǎng)絡(luò)的整合避免了冗余的信息請求;
4)協(xié)議的層間通信優(yōu)化了性能,因此重疊網(wǎng)能夠最優(yōu)地調(diào)整以適合物理網(wǎng)絡(luò);
5)應(yīng)用層協(xié)議簡化了新服務(wù)的實現(xiàn)。
數(shù)據(jù)交換和路由任務(wù)的分離允許重用現(xiàn)有協(xié)議,如TCP和HTTP。僅有MPP必須直接與EDSR交互的路由任務(wù)駐留在網(wǎng)絡(luò)層。
圖1 MPP的分層結(jié)構(gòu)
MPP允許對方對等端透明地交換數(shù)據(jù),因此MPP在負(fù)責(zé)P2P網(wǎng)絡(luò)內(nèi)部地文件傳遞,并駐留于P2P客戶應(yīng)用中。MPP利用HTTP進行數(shù)據(jù)交互,HTTP內(nèi)容范圍首部能夠在由于鏈路中斷而導(dǎo)致的網(wǎng)絡(luò)錯誤中恢復(fù)文件傳遞[2]。EDSR主要基于DSR協(xié)議,規(guī)范了新的請求和應(yīng)答類型,以提供通過IP地址之外的標(biāo)準(zhǔn)尋找對等端地方式。EDSR擴展了DSR,并因此EDSR節(jié)點可以是DSR網(wǎng)絡(luò)中不可分割的部分。
MPCP是應(yīng)用層和網(wǎng)絡(luò)層之間的層間通信信道,因此MPCP將在網(wǎng)絡(luò)層的EDSR協(xié)議與在應(yīng)用層的P2P協(xié)議連接起來。使用MPCP,應(yīng)用能夠在EDSR層注冊自己,以初始化搜索請求并處理來自其它節(jié)點的進入搜索請求,它與相應(yīng)協(xié)議交流溝通所有進入和外出請求及響應(yīng),除了文件交換自身。
啟動時,移動設(shè)備上的P2P應(yīng)用通過MPCP向EDSR層聲明自己,如果一位用戶初始化一條數(shù)據(jù)搜索,MPCP轉(zhuǎn)發(fā)請求到EDSR,EDSR將之轉(zhuǎn)換成一條搜索請求(SREQ)。類似于DSR路由請求(RREQ),EDSR通過移動自組織網(wǎng)絡(luò)將SREQ洪泛[1~5]。接收到請求的 EDSR 節(jié)點將請求通過MPCP轉(zhuǎn)發(fā)到注冊的P2P應(yīng)用中,因此P2P應(yīng)用能夠確定本地共享的數(shù)據(jù)是否滿足請求條件[11~15]。如果請求匹配由節(jié)點共享的一個文件描述,應(yīng)用就初始化一條EDSR文件應(yīng)答,這條應(yīng)答反向發(fā)送回源節(jié)點,并包含文件傳送的所有必要信息,類似于DSR路由應(yīng)答(RREP),一條文件應(yīng)答(FREP)包括源和目的地之間的完整路徑。
為了將一個適應(yīng)底層物理網(wǎng)絡(luò)協(xié)議的性能(如MPP)與一個完全獨立于物理層而仍然建立其重疊網(wǎng)的協(xié)議的性能作比較,這里使用一種分析性方法。首先,必須評估一個移動自組織網(wǎng)絡(luò)環(huán)境中可達節(jié)點的數(shù)量。如果我們假定每節(jié)點平均x個鄰居和R的無線范圍,于是就能計算節(jié)點密度,即
如果進一步假定在平面中節(jié)點的均勻分布,兩節(jié)點之間距離的累積分布給出如下:
這導(dǎo)致兩個自組織節(jié)點之間距離增加發(fā)生的概率增加。對F(r)取導(dǎo)數(shù),現(xiàn)在這個函數(shù)的pdf根據(jù)式計算,即
它簡單地反映了這樣一個事實,即面積差是線性地隨半徑r的增長而增長的。據(jù)此,這也意味著在距離r內(nèi)節(jié)點出現(xiàn)的概率也是呈線性增長的。因此,兩節(jié)點之間的平均距離可以表示為
圖2 一個平均Ad hoc節(jié)點的多跳到達的范圍
如果這時假定在一個P2P網(wǎng)絡(luò)中的一個節(jié)點步將其重疊網(wǎng)適應(yīng)導(dǎo)底層物理網(wǎng)絡(luò),那么它就必須隨機地建立起連接。從上述公式已經(jīng)能夠觀察到,就物理跳數(shù)而言,一個節(jié)點越遠,連接到它的概率越高。如果假定隨機選擇,則能夠更詳細地計算概率,即
式中,hmax定義物理跳數(shù)的最大可能數(shù)量,通常限制在6跳以內(nèi)。在一個物理網(wǎng)絡(luò)中沒有進行適應(yīng)的重疊網(wǎng)平均路徑長度可計算如下:
因此,如果假定重疊網(wǎng)中最大為6跳,就能夠計算出在沒有適應(yīng)的重疊網(wǎng)的平均路徑長度為4.31物理跳。這意味著每條消息在網(wǎng)絡(luò)中傳輸4.31次,這比MPP中一個適應(yīng)重疊網(wǎng)中更頻繁。在MPP中,每條重疊網(wǎng)消息通過一條物理線路僅一次,這是物理層和應(yīng)用層之間層間通信信道的結(jié)果,進而能夠得到信令流量的降低,這是因為沒有額外的存活消息是必要的。
移動自組織網(wǎng)絡(luò)和P2P系統(tǒng)間存在著相似性,讓兩種處于不同層次的網(wǎng)絡(luò)技術(shù)緊密地結(jié)合起來,必須在P2P系統(tǒng)中作多方面地修改,才能使之在移動自組織網(wǎng)絡(luò)中得到應(yīng)用。本文提出了在應(yīng)用層和路由層協(xié)議的層間互聯(lián)的應(yīng)用,大幅度地提高了移動自組織網(wǎng)絡(luò)上非結(jié)構(gòu)化P2P系統(tǒng)的性能,并用一個示例協(xié)議以分析性研究的方式進行了研究。
[1]K.Aberer,V.Kalogeraki,and M.E.Koubarakis,“Databases,information systems and peer-to-peer computing”[C].In Proc.1.Internat.DBISP2Pworkshop,Berlin,Germany,Springer LNCS2944,2004:443-452.
[2]K.Aberer,A.Datta,M.Hauswirth,and R.Schmidt,“Indexing data-oriented overlay networks”[C]//In 31st International Conference on Very Large Databases,Morgan Kaufmann,IEEE,2005:223-232.
[3]K.Aberer and M.Hauswirth,“overview on Peer-to-Peer Information Systems”[M].In WDAS,Carleton Scientific,2002:48-56.
[4]L.A.Adamic,“The Small World Web”[C]//In Proceedings of ECDL’99,Springer,1999:443-452.
[5]E.Brosh and Y.Shavitt,“Approximation and Heuristic Algorithms for Minimum-Delay Application Layer Multicast Trees”[C]//In IEEE INFOCM 2004,Hong Kong,April IEEE,2004:343-355.
[6]Elizabeth M Royer and Chai-Keong Toh,“A review of current routing protocols for ad hoc mobile wireless networks”[M].IEEEpersonal communications,1999:46-55.
[7]David B Johnson and David A Maltz,“Dynamic source routing in ad hoc wireless networks”[M].Mobile computing,1996:153-181.
[8]Alan D Amis and Ravi Prakash,“Max-min d-cluster formation in wireless ad hoc networks”[C]//INFOCOM 2000.Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies.Proceedings,2000:32-41.
[9]Ya Xu and John Heidemann,“Geography-informed energy conservation for ad hoc routing”[C]//Proceedings of the 7th annual international conference on Mobile computing and networking,2001:70-81.
[10]Raghupathy Sivakumar and Prasun Sinha,“A core-extraction distributed ad hoc routing algorithm”[M].IEEE Journal on Selected Areas in communications,1999:1454-1465.
[11]Sepandar DKamvar and Marion T Schlosser,“The eigentrust algorithm for reputation management in p2p networks”[C]//Proceedings of the 12th international conference on World Wide Web,2003:640-651.
[12]Xiaojun Hei and Chao Liang,“A measurement study of a large-scale P2P IPTV system”[M].IEEE transactions on multimedia,2007:1672-1687.
[13]Hari Balakrishnan and M Frans Kaashoek,“Looking up data in P2Psystems”[M].Communications of the ACM,2003:43-48.
[14]Subhabrata Sen and Oliver Spatscheck,“Accurate,Scalable in-network identification of p2p traffic using application signatures”[C]//Proceedings of the 13th international conference on World Wide Web,2004:512-521.
[15]Avinash Lakshman and Prashant Malik,“Structured storage system on a p2p network”[C]//Proceedings of the 28th ACM symposium on Principles of distributed computing,2009:5.