周永福曾志
(1.河源職業(yè)技術(shù)學(xué)院 電信學(xué)院,廣東河源 517000;2.惠州學(xué)院 計(jì)算機(jī)科學(xué)系,廣東惠州 516007)
一種采用多層拓?fù)涓兄囊苿?dòng)P2P網(wǎng)絡(luò)路由模型設(shè)計(jì)
周永福1曾志2
(1.河源職業(yè)技術(shù)學(xué)院 電信學(xué)院,廣東河源 517000;2.惠州學(xué)院 計(jì)算機(jī)科學(xué)系,廣東惠州 516007)
為解決媒體信息的實(shí)時(shí)傳遞,在分析已有P2P網(wǎng)絡(luò)Chord模型算法的基礎(chǔ)上,介紹了通過(guò)拓?fù)涓兄枷氩捎肗AT節(jié)點(diǎn)作為子網(wǎng)節(jié)點(diǎn)管理的方法改進(jìn)多層網(wǎng)絡(luò)結(jié)構(gòu)Chord模型,針對(duì)結(jié)構(gòu)化P2P網(wǎng)絡(luò)比較關(guān)心的節(jié)點(diǎn)加入、退出與維護(hù)算法提出了多層拓?fù)涓兄狢hord模型,并將其應(yīng)用于P2P網(wǎng)絡(luò)多媒體即時(shí)通訊系統(tǒng)中,通過(guò)系統(tǒng)實(shí)現(xiàn)與仿真實(shí)驗(yàn)驗(yàn)證了該路由協(xié)議的有效性和高效性。
網(wǎng)絡(luò)地址翻譯;P2P點(diǎn)對(duì)點(diǎn);多層拓?fù)涓兄?;路由協(xié)議
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、通信技術(shù)和多媒體技術(shù)的快速發(fā)展與融合,人們對(duì)于多媒體信息的需求日趨復(fù)雜和多樣,各種基于網(wǎng)絡(luò)的新媒體應(yīng)用形式應(yīng)運(yùn)而生。網(wǎng)絡(luò)即時(shí)通信,由最初發(fā)送和接受文本信息發(fā)展到語(yǔ)音、視頻等多媒體時(shí)代。P2P網(wǎng)絡(luò)即時(shí)通信系統(tǒng)具有負(fù)載均衡、可擴(kuò)展性強(qiáng)、系統(tǒng)魯棒性好等特點(diǎn),逐漸成為應(yīng)用研究的主流[1]。然而,網(wǎng)絡(luò)中節(jié)點(diǎn)之間直接連接的成功率和通信質(zhì)量有時(shí)難以滿足用戶的需要。其中一個(gè)重要原因是P2P網(wǎng)絡(luò)在實(shí)現(xiàn)應(yīng)用層覆蓋網(wǎng)絡(luò)時(shí)對(duì)通信節(jié)點(diǎn)的異構(gòu)性、動(dòng)態(tài)性和網(wǎng)絡(luò)層拓?fù)浣Y(jié)構(gòu)的考慮不足,從而大大降低了節(jié)點(diǎn)之間的連通性。
Chord具有負(fù)載均衡、可擴(kuò)展性強(qiáng)的特點(diǎn),是結(jié)構(gòu)化P2P網(wǎng)絡(luò)中經(jīng)典的路由模型[2]。然而,Chord模型也存在繞路問(wèn)題、路由瓶頸和路由表信息冗余嚴(yán)重等問(wèn)題。目前主要有兩種方法來(lái)解決結(jié)構(gòu)化P2P系統(tǒng)的拓?fù)洳黄ヅ?。文獻(xiàn)[3-4]提出將節(jié)點(diǎn)分組并選取超級(jí)節(jié)點(diǎn)管理組內(nèi)節(jié)點(diǎn)信息,從而提高系統(tǒng)路由效率。但當(dāng)超節(jié)點(diǎn)的失效時(shí),容易影響其它節(jié)點(diǎn)正常工作,引起額外系統(tǒng)開(kāi)銷,系統(tǒng)穩(wěn)定性差。文獻(xiàn)[5]提出建立系統(tǒng)全局信息圖的方法。該方法的一個(gè)不足在于:系統(tǒng)中的每個(gè)節(jié)點(diǎn)的信息被多處保存,而且每個(gè)節(jié)點(diǎn)必須維護(hù)很多的信息,從而不利于系統(tǒng)的擴(kuò)展。另外,有些文獻(xiàn)[6]提出可以利用小世界網(wǎng)絡(luò)提高路由效率。
已有算法在拓?fù)淦ヅ涞男Ч喜粔蚶硐?算法帶來(lái)的額外開(kāi)銷較大,這些不足限制了拓?fù)淦ヅ涞男Ч蛯?shí)用性。通過(guò)對(duì)P2P網(wǎng)絡(luò)進(jìn)行結(jié)構(gòu)劃分,運(yùn)用拓?fù)涓兄韮?yōu)化Chord網(wǎng)絡(luò)模型,提出了多層拓?fù)涓兄狢hord模型(Multilayer Topology-Aware Chord,MTA-Chord)并應(yīng)用于P2P網(wǎng)絡(luò)多媒體即時(shí)通信,從而達(dá)到提高系統(tǒng)路由性能的目的。
1.1 Chord模型基本算法
Chord模型路由算法基于分布式散列表(DHT)思想實(shí)現(xiàn)。每個(gè)節(jié)點(diǎn)和資源都有一個(gè)m bit的標(biāo)識(shí)符,標(biāo)識(shí)符的范圍在[0,2m-1],標(biāo)識(shí)符形成一個(gè)一維的對(duì)2m取模的標(biāo)識(shí)符環(huán)。節(jié)點(diǎn)的標(biāo)識(shí)符ID是對(duì)節(jié)點(diǎn)的IP和其他一些狀態(tài)信息的散列結(jié)果。資源標(biāo)識(shí)符是對(duì)資源內(nèi)容散列的結(jié)果,稱為資源關(guān)鍵字K。在標(biāo)識(shí)符大小順時(shí)針增長(zhǎng)的標(biāo)識(shí)符環(huán)上,節(jié)點(diǎn)負(fù)責(zé)逆時(shí)針?lè)较虻缴弦粋€(gè)節(jié)點(diǎn)之間的所有關(guān)鍵字。在標(biāo)識(shí)符環(huán)上某節(jié)點(diǎn)逆時(shí)針上一個(gè)節(jié)點(diǎn)稱為該節(jié)點(diǎn)直接前驅(qū),順時(shí)針?lè)较蛳乱粋€(gè)節(jié)點(diǎn)為該節(jié)點(diǎn)的直接后續(xù),表示為successor(n)。每個(gè)節(jié)點(diǎn)都會(huì)保持一個(gè)前驅(qū)指針和后續(xù)指針,如圖1所示。
表1 Chord結(jié)點(diǎn)Finger Table定義
圖1 結(jié)點(diǎn)N8的Finger Table表結(jié)點(diǎn)指向圖
Chord網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)被稱為指針表(finger table)的路由信息表,如圖1所示。網(wǎng)絡(luò)通過(guò)指針表進(jìn)行路由,定位到負(fù)責(zé)特定資源關(guān)鍵字的節(jié)點(diǎn)。指針表里記錄的是標(biāo)識(shí)符環(huán)上其他節(jié)點(diǎn)的地址(IP地址、端口、ID等),按照以下的規(guī)則記錄,m bit的標(biāo)識(shí)符長(zhǎng)度對(duì)應(yīng)的指針表的項(xiàng)數(shù)最多也是m項(xiàng),在節(jié)點(diǎn)n的指針表中,第i行記錄著標(biāo)識(shí)符n后至少2i-1遠(yuǎn)的第一個(gè)節(jié)點(diǎn)的地址,即successor(n+ 2i-1),其中0≤i≤m-1。當(dāng)節(jié)點(diǎn)收到資源查詢包時(shí),節(jié)點(diǎn)首先判斷該資源是否就在本節(jié)點(diǎn),如果是直接返回資源給查詢的發(fā)起節(jié)點(diǎn);如果不是,通過(guò)比較資源關(guān)鍵字k和指針表中目的ID的大小,在指針表中尋找目的ID小于關(guān)鍵字而又最接近關(guān)鍵字K的項(xiàng),將查詢包轉(zhuǎn)發(fā)給該項(xiàng)中的后續(xù)節(jié)點(diǎn),也就是關(guān)鍵字K的在指針表中最近先驅(qū)節(jié)點(diǎn)。對(duì)于N個(gè)節(jié)點(diǎn)參與的Chord網(wǎng)絡(luò),平均的路由跳為O(log2N),平均查找需要1/2 log2N步[7]。
1.2 改進(jìn)的多層拓?fù)涓兄狢hord模型
MTA-Chord模型利用網(wǎng)絡(luò)坐標(biāo)測(cè)定和網(wǎng)絡(luò)節(jié)點(diǎn)NAT層次結(jié)構(gòu)探知對(duì)Chord模型進(jìn)行優(yōu)化[8-10],使覆蓋網(wǎng)Chord模型能“感知”鏈路層網(wǎng)絡(luò)拓?fù)?從而提高路由效率?;舅枷胧?將Chord節(jié)點(diǎn)標(biāo)識(shí)符分成前綴和后綴兩部分,公網(wǎng)節(jié)點(diǎn)利用樹(shù)標(biāo)識(shí)前綴構(gòu)成Chord環(huán),在公網(wǎng)節(jié)點(diǎn)間利用Chord路由的方式進(jìn)行路由查找和維護(hù),處于同一NAT下的節(jié)點(diǎn)構(gòu)成一個(gè)NAT節(jié)點(diǎn)樹(shù),由一個(gè)公網(wǎng)節(jié)點(diǎn)充當(dāng)樹(shù)根節(jié)點(diǎn)維護(hù)節(jié)點(diǎn)樹(shù)的所有節(jié)點(diǎn)信息,樹(shù)內(nèi)節(jié)點(diǎn)和對(duì)應(yīng)樹(shù)根節(jié)點(diǎn)共享樹(shù)標(biāo)識(shí)符前綴,并依據(jù)加入網(wǎng)絡(luò)的時(shí)間順序依次分配樹(shù)內(nèi)ID,通過(guò)樹(shù)根節(jié)點(diǎn)進(jìn)行資源查找。
處于同一子網(wǎng)下的節(jié)點(diǎn)前綴相同,前綴通過(guò)每個(gè)子網(wǎng)選取的一個(gè)網(wǎng)絡(luò)距離臨近的節(jié)點(diǎn)的坐標(biāo)一維化生成,使節(jié)點(diǎn)的標(biāo)識(shí)符既能反映子網(wǎng)的情況,又能反映節(jié)點(diǎn)間網(wǎng)絡(luò)距離,從而提高Chord路由效率和點(diǎn)對(duì)點(diǎn)通信成功率。
由于只在公網(wǎng)節(jié)點(diǎn)中維持Chord環(huán),當(dāng)對(duì)資源ID前綴進(jìn)行路由查找確定資源應(yīng)該存放的節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)判斷自身如果是普通節(jié)點(diǎn)的話,則保存資源;如果是樹(shù)根節(jié)點(diǎn)時(shí),則根據(jù)資源的樹(shù)內(nèi)ID確定整個(gè)ID的直接后續(xù),將資源存放到直接后續(xù)上。通過(guò)樹(shù)內(nèi)節(jié)點(diǎn)存儲(chǔ)相應(yīng)資源可以減輕樹(shù)根節(jié)點(diǎn)的存儲(chǔ)負(fù)擔(dān)。MTA-Chord協(xié)議的覆蓋網(wǎng)拓?fù)鋱D如圖2所示。從圖中可以看到,NAT樹(shù)內(nèi)節(jié)點(diǎn)n1、n2、n3與鄰近公網(wǎng)節(jié)點(diǎn)N35共享標(biāo)識(shí)符前綴,并由N35維護(hù)資源,N50負(fù)責(zé)NAT樹(shù)內(nèi)節(jié)點(diǎn)n4、n5,距離較近的公網(wǎng)節(jié)點(diǎn)之間標(biāo)識(shí)符前綴相對(duì)接近。
圖2 MTA-Chord協(xié)議的覆蓋網(wǎng)示意圖
在移動(dòng)P2P網(wǎng)絡(luò)中,衡量數(shù)據(jù)的傳遞的效率通常有節(jié)點(diǎn)的跳數(shù)決定。下面分別以多層拓?fù)涓兄夹g(shù)針對(duì)結(jié)構(gòu)化Chord網(wǎng)絡(luò),從側(cè)面研究反映P2P網(wǎng)絡(luò)性能的節(jié)點(diǎn)查詢、加入與退出等算法入手,研究P2P網(wǎng)絡(luò)即時(shí)通訊路由模型。
2.1 路由表結(jié)構(gòu)
MTA-Chord模型所有節(jié)點(diǎn)分為兩種公網(wǎng)節(jié)點(diǎn)和NAT樹(shù)內(nèi)節(jié)點(diǎn)。公網(wǎng)節(jié)點(diǎn)保存原Chord系統(tǒng)中的Finger表,用結(jié)構(gòu)〈keyID,nodeID,successor,IP〉表示,需要注意的是,Chord環(huán)中僅使用標(biāo)識(shí)符前綴參與運(yùn)算,路由查找算法與經(jīng)典Chord模型相同。公網(wǎng)節(jié)點(diǎn)負(fù)責(zé)的NAT子節(jié)點(diǎn)通過(guò)維護(hù)一張NATnode表進(jìn)行管理。NATnode表的結(jié)構(gòu)為〈keyID,node ID,rootNodeIP,IP〉,若該節(jié)點(diǎn)無(wú)需要管理的樹(shù)節(jié)點(diǎn), NATnode表可為空,多層NAT子網(wǎng)結(jié)構(gòu)也可在NATnode表中很好體現(xiàn)。
2.2 路由查找算法
為實(shí)現(xiàn)系統(tǒng)中任意用戶間的通信,路由查找的目的是找到記錄著通信用戶所在節(jié)點(diǎn)信息的資源。算法1為用戶S發(fā)起向用戶T的通信的路由查找算法。
算法1
輸入:用戶T的資源ID散列后生成的關(guān)鍵字KT,用戶S發(fā)起查詢的節(jié)點(diǎn)NS。
輸出:用戶T所在的位置信息資源RT。
begin
(1)判斷關(guān)鍵字KT前綴是否與查詢發(fā)起節(jié)點(diǎn)NS前綴相同,是則說(shuō)明查詢發(fā)起節(jié)點(diǎn)與目標(biāo)資源所在節(jié)點(diǎn)NT相同,轉(zhuǎn)到(3),否則轉(zhuǎn)到(2);
(2)通過(guò)關(guān)鍵字KT前綴,按照Chord路由算法進(jìn)行路由查找,經(jīng)若干次轉(zhuǎn)發(fā)后找到用戶T資源所在節(jié)點(diǎn)NT;
(3)解析關(guān)鍵字KT后綴,判斷資源是否由節(jié)點(diǎn)NT直接負(fù)責(zé),是則直接回復(fù)資源,否則通過(guò)NT的NATnode表查找KT后綴資源位置;
(4)end.
路由協(xié)議查詢資源的整個(gè)過(guò)程如圖3。
2.3 節(jié)點(diǎn)加入算法
MTA-Chord模型基于節(jié)點(diǎn)網(wǎng)絡(luò)坐標(biāo)構(gòu)建公網(wǎng)Chord環(huán),從而優(yōu)化路由性能。網(wǎng)絡(luò)坐標(biāo)通過(guò)節(jié)點(diǎn)與路標(biāo)節(jié)點(diǎn)(landmark node)間的往返時(shí)延(RTT)計(jì)算。節(jié)點(diǎn)坐標(biāo)采用GNP全局網(wǎng)絡(luò)定位系統(tǒng)計(jì)算。首先選取n個(gè)節(jié)點(diǎn)l1,l2…,ln作為路標(biāo)節(jié)點(diǎn),探測(cè)節(jié)點(diǎn)間的往返時(shí)延RTT,構(gòu)成n×n的往返時(shí)延矩陣:
圖3 MTA-Chord協(xié)議查詢資源流程圖
Rn其中rij表示路標(biāo)節(jié)點(diǎn)i與路標(biāo)節(jié)點(diǎn)j間的RTT。
通過(guò)最小化整體誤差,利用Simplex Downhill算法求近似解,獲得路標(biāo)節(jié)點(diǎn)坐標(biāo)。當(dāng)用戶S通過(guò)節(jié)點(diǎn)nS登錄系統(tǒng)時(shí),算法2為節(jié)點(diǎn)加入算法。
算法2
輸入:用戶S登錄系統(tǒng)節(jié)點(diǎn)nS的地址信息。
輸出:更新MTA-Chord環(huán)路由表。
begin
(1)nS進(jìn)行NAT判斷,確定節(jié)點(diǎn)是否在NAT后,如果是,轉(zhuǎn)到(2),如果否,說(shuō)明nS本身就是公網(wǎng)節(jié)點(diǎn),nS=NS,轉(zhuǎn)到(3);
(2)找到nS的樹(shù)根節(jié)點(diǎn)NS;
(3)判斷NS是否已經(jīng)存在于公網(wǎng)Chord環(huán)中,如果是,轉(zhuǎn)到(5),如果否,轉(zhuǎn)到(4);
(4)節(jié)點(diǎn)NS根據(jù)和路標(biāo)節(jié)點(diǎn)的時(shí)延數(shù)據(jù)進(jìn)行二維坐標(biāo)的計(jì)算,再使用空間填充曲線算法將二維坐標(biāo)轉(zhuǎn)化成一維數(shù)據(jù),作為節(jié)點(diǎn)的樹(shù)標(biāo)識(shí)前綴,形成節(jié)點(diǎn)ID,生成節(jié)點(diǎn)ID后,執(zhí)行基本Chord算法的加入操作,建立節(jié)點(diǎn)指針表、前驅(qū)指針、后續(xù)列表,通知相關(guān)節(jié)點(diǎn)修改finger表;
(5)如果nS=NS,轉(zhuǎn)到(6),否則,查詢NATnode表,為nS分配標(biāo)識(shí)符后綴,將nS的地址信息和標(biāo)識(shí)符加入到NS的NATnode表中,轉(zhuǎn)到(6);
(6)end.
2.4 節(jié)點(diǎn)維護(hù)和退出算法
當(dāng)節(jié)點(diǎn)失效時(shí),可視為節(jié)點(diǎn)已退出網(wǎng)絡(luò),可采用與節(jié)點(diǎn)主動(dòng)退出網(wǎng)絡(luò)類似的維護(hù)機(jī)制。節(jié)點(diǎn)退出見(jiàn)算法3。
算法3
輸入:要求退出系統(tǒng)的節(jié)點(diǎn)nE的地址信息。
輸出:更新MTA-Chord環(huán)相關(guān)節(jié)點(diǎn)路由表。
begin
(1)判斷節(jié)點(diǎn)nE的類型,如果是葉子節(jié)點(diǎn),直接通知根節(jié)點(diǎn)NE,注銷NATnode表中相關(guān)信息,轉(zhuǎn)到(4),如果是父節(jié)點(diǎn)而非根節(jié)點(diǎn),轉(zhuǎn)到2,如果是樹(shù)根節(jié)點(diǎn)(公網(wǎng)節(jié)點(diǎn))轉(zhuǎn)到3;
(2)通知樹(shù)根節(jié)點(diǎn)為nE的子節(jié)點(diǎn)重新尋找父節(jié)點(diǎn),并更新NATnode表;
(3)尋找最近的公網(wǎng)節(jié)點(diǎn)Nnear接管節(jié)點(diǎn)的NAT信息,執(zhí)行基本Chord算法的退出操作,釋放finger表,通知相關(guān)節(jié)點(diǎn)修改指針表;
(4)end.
3.1 系統(tǒng)實(shí)現(xiàn)
為驗(yàn)證MTA-Chord模型在移動(dòng)P2P網(wǎng)絡(luò)的可行性,系統(tǒng)實(shí)現(xiàn)采用Eclipse、android 4.0平臺(tái)開(kāi)發(fā)完成。其中MTA-Chord模型實(shí)現(xiàn)的即時(shí)通信系統(tǒng)由注冊(cè)服務(wù)器和移動(dòng)終端兩部分組成。嵌入式移動(dòng)終端、固定終端都是使用通信功能的主機(jī),注冊(cè)服務(wù)器用于用戶信息注冊(cè)和維護(hù)、全網(wǎng)絡(luò)NAT信息的維護(hù)。在系統(tǒng)中,部分終端充當(dāng)路標(biāo)節(jié)點(diǎn),普通終端在路標(biāo)節(jié)點(diǎn)協(xié)助下加入網(wǎng)絡(luò)。普通主機(jī)之間基于DHT協(xié)議發(fā)送路由消息,并根據(jù)NAT環(huán)境實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信。系統(tǒng)組成如圖4所示。
圖4 系統(tǒng)結(jié)構(gòu)圖
3.2 實(shí)驗(yàn)仿真
為了驗(yàn)證MTA-Chord模型的有效性,在.net環(huán)境下用C#編寫(xiě)了模擬仿真程序,仿真的重點(diǎn)包括“模型”和“實(shí)驗(yàn)”兩個(gè)方面。實(shí)驗(yàn)環(huán)境模擬的網(wǎng)絡(luò)模型共有90個(gè)節(jié)點(diǎn),其中主機(jī)終端80臺(tái),公網(wǎng)節(jié)點(diǎn)25個(gè),子網(wǎng)數(shù)量20個(gè)。
在已設(shè)置好的網(wǎng)絡(luò)模型上采用RIP協(xié)議進(jìn)行網(wǎng)絡(luò)層仿真。為了簡(jiǎn)化仿真過(guò)程,仿真主機(jī)加入、退出網(wǎng)絡(luò)和主機(jī)故障的過(guò)程,假設(shè)Chord覆蓋網(wǎng)處于穩(wěn)定狀態(tài)。在相同環(huán)境下進(jìn)行查找效率的比較。
由于實(shí)驗(yàn)設(shè)定的網(wǎng)絡(luò)模型中一共有80個(gè)終端節(jié)點(diǎn),Chord模型標(biāo)識(shí)符長(zhǎng)度設(shè)置為7,標(biāo)識(shí)符范圍[0,27-1]。模擬結(jié)果顯示,覆蓋網(wǎng)跳數(shù)0-6,由于跳數(shù)6的數(shù)據(jù)較少,在此不列入統(tǒng)計(jì)范圍。對(duì)每個(gè)覆蓋網(wǎng)絡(luò)跳數(shù)對(duì)應(yīng)的網(wǎng)絡(luò)層跳數(shù)取平均數(shù),得到表2與表3的仿真結(jié)果。
表2 傳統(tǒng)Chord協(xié)議的仿真數(shù)據(jù)
表3 MTA-Chord協(xié)議的仿真數(shù)據(jù)
經(jīng)對(duì)比可發(fā)現(xiàn),改進(jìn)后的改進(jìn)后的MTA-Chord模型對(duì)應(yīng)網(wǎng)絡(luò)層跳數(shù)比經(jīng)典Chord模型小,隨著覆蓋網(wǎng)路由跳數(shù)的增多,減小的幅度越來(lái)越大,這得益于拓?fù)涓兄獙?duì)Chord環(huán)的優(yōu)化作用。實(shí)踐表明,模型應(yīng)用于P2P網(wǎng)絡(luò)即時(shí)通訊系統(tǒng),網(wǎng)絡(luò)規(guī)模足夠大后,改進(jìn)效果更加明顯。
考慮到節(jié)點(diǎn)失效對(duì)路由效率的影響,模擬在不同網(wǎng)絡(luò)規(guī)模下存在一定節(jié)點(diǎn)失效率的路由查找情況,記錄網(wǎng)絡(luò)中路由查找失效率。節(jié)點(diǎn)失效率假定為2%,網(wǎng)絡(luò)中公網(wǎng)節(jié)點(diǎn)數(shù)與總節(jié)點(diǎn)數(shù)的比率記為網(wǎng)絡(luò)伸縮比s,實(shí)驗(yàn)分別仿真MTA-Chord模型網(wǎng)絡(luò)伸縮比s=0.8和s=0.6的情況,并將傳統(tǒng)Chord模型仿真結(jié)果與MTA-Chord模型實(shí)驗(yàn)結(jié)果進(jìn)行比較,結(jié)果如圖5所示。
圖5 節(jié)點(diǎn)失效對(duì)路由查找失效影響實(shí)驗(yàn)
從實(shí)驗(yàn)結(jié)果看,隨著網(wǎng)絡(luò)伸縮比s減小,查找失效率呈下降趨勢(shì),主要原因是由于公網(wǎng)Chord環(huán)縮小,平均路由跳數(shù)下降,路由失效風(fēng)險(xiǎn)降低。同時(shí)可以發(fā)現(xiàn),網(wǎng)絡(luò)伸縮比s減小時(shí),路由失效率波動(dòng)增大,穩(wěn)定性變?nèi)?主要是由于公網(wǎng)樹(shù)根節(jié)點(diǎn)承擔(dān)的任務(wù)變重,增加了整個(gè)P2P網(wǎng)絡(luò)不確定性。
文中針對(duì)現(xiàn)有P2P網(wǎng)絡(luò)即時(shí)通訊系統(tǒng)路由模型存在的不足,闡述了拓?fù)涓兄椒ǜ倪M(jìn)Chord模型的具體思路,提出了基于拓?fù)涓兄狢hord模型的P2P網(wǎng)絡(luò)即時(shí)通訊系統(tǒng)路由模型設(shè)計(jì)方案。最后,對(duì)路由模型方案進(jìn)行了實(shí)驗(yàn)仿真,證明了該方案的有效性和可行性。
[1] 范冶宇.基于WEB的移動(dòng)P2P即時(shí)通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林:吉林大學(xué),2011.
[2] Hu Ying-song,Guo Shou-lie.An Extended Algorithm for Hierarchical Low-Latency Chord Protocols[J].Computer Engineering&Science, 2007,99(4):74-77.
[3] 郭松梅.基于網(wǎng)絡(luò)拓?fù)浜凸?jié)點(diǎn)異構(gòu)的Chord系統(tǒng)[J].計(jì)算機(jī)科學(xué),2009,36(3):90-92.
[4] 曾曉云.基于Chord協(xié)議的混合P2P模型[J].計(jì)算機(jī)工程,2010,36(7):112-115.
[5] Xu Z,Tang C,Zhang Z.Building topology-aware overlays using global soft-state[C]//Proceedings of the23rd int’1 Conf on Distributed Computing System(ICDCS 2003).New York:IEEE Press,2003:500-508.
[6] Xiao W J,He M X,Liang H M.CayleyCCC:a robust P2P overlay network with simple routing and small-world features[J].Journal of Networks,2011,6(9):1247-1253.
[7] Stoica I,Morris R,Karger D,et al.Chord:A Scalable Peer-to-peer lookup service for Internet applications[C]//Proc of ACM SIGCOMM’01.San Deigo:[s.n.],2001:149-160.
[8] 王必晴.Chord路由算法的研究與改進(jìn)[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(14):112-115.
[9] Ratnasamy S,Handley M,Karp R,et al.Topologically-aware overlay construction and server selection[C].New York:In proceeding of IEEE INFOCOM'02,2002.
[10] 曾志,劉仁義,杜震洪,等.云格環(huán)境下基于P2P的動(dòng)態(tài)資源發(fā)現(xiàn)機(jī)制[J].浙江大學(xué)學(xué)報(bào):理學(xué)版,2013,40(4):463-468.
Design of Router Model on Mobile P2P Using M TA Technology
ZHOU Yong-fu1ZENG Zh i2
(1.Electronic and information engineering institute of Heyuan Ploytecnic,Heyuan 517000,China; 2.Department of Computer Science,Huizhou University,Huizhou 516007,China)
To solve the real-time transmission of media information,this paper introduces the methods of subnet node adopted by NAT node using the topology-aware thought(MTA)as improved multilayer net work management Chord model structure,based on the analysis of the existing P2P net work model algorithm,proposing multilayer topology-aware Chord model which is applied to instant messaging system of P2P network multimedia,and validating effectiveness and efficiency the routing protocol through system implementation and simulation.
network address translation(NAT);P2P;multilayer topology-aware(MTA);router protocol
TP3
A
1009-0312(2015)01-0050-07
2014-09-10
河源市社會(huì)發(fā)展科技項(xiàng)目(2013-1131);博士啟動(dòng)基金項(xiàng)目(2009C33011)。
周永福(1981—),男,江西貴溪人,講師,碩士,主要從事P2P網(wǎng)絡(luò)應(yīng)用研究。