一種覆蓋網(wǎng)構(gòu)建方法
【專利摘要】一種覆蓋網(wǎng)構(gòu)建方法,該方法把覆蓋網(wǎng)中的節(jié)點劃分為普通節(jié)點和超級節(jié)點,把底層介數(shù)中心值較高的物理節(jié)點作為覆蓋網(wǎng)的超級節(jié)點;先將覆蓋網(wǎng)的節(jié)點連接形成k-最小生成樹,然后再將超級節(jié)點連接形成全網(wǎng)狀結(jié)構(gòu);當?shù)讓游锢砭W(wǎng)絡(luò)中的物理鏈路故障導致數(shù)據(jù)傳輸中斷或擁塞時,采用設(shè)定的覆蓋網(wǎng)一跳路由機制以實現(xiàn)路由的快速恢復;本方法將具有較高介數(shù)中心的超節(jié)點引入覆蓋網(wǎng)絡(luò),降低了端到端的路由代價;超節(jié)點之間的全網(wǎng)狀連接提高了覆蓋網(wǎng)絡(luò)的性能,且不影響覆蓋網(wǎng)絡(luò)的可擴展性;覆蓋網(wǎng)一跳路由機制提高了覆蓋網(wǎng)的可靠性。
【專利說明】一種覆蓋網(wǎng)構(gòu)建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種覆蓋網(wǎng)構(gòu)建方法,屬于計算機網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,特別是屬于下一代互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的快速發(fā)展,基于網(wǎng)絡(luò)的應(yīng)用進一步涌現(xiàn),如視頻點播、網(wǎng)絡(luò)游戲和多播等,這些應(yīng)用給現(xiàn)有的基于IP技術(shù)的互聯(lián)網(wǎng)帶來很大的挑戰(zhàn),如時延要求、擁塞的解除、以及網(wǎng)絡(luò)鏈路故障的快速恢復等。研究表明,現(xiàn)有網(wǎng)絡(luò)對于網(wǎng)絡(luò)鏈路故障恢復需花費幾十秒,甚至數(shù)分鐘的匯聚時間,其間可能導致一些數(shù)據(jù)包的丟失。
[0003]覆蓋網(wǎng)絡(luò)(Overlay Network)作為一種新的模式彌補了互聯(lián)網(wǎng)的這一缺陷。覆蓋網(wǎng)絡(luò)是一種邏輯網(wǎng)絡(luò),它的節(jié)點由物理網(wǎng)絡(luò)的部分節(jié)點組成,連接這些節(jié)點的每一條鏈路由一條或多條物理鏈路組成。覆蓋網(wǎng)絡(luò)拓撲構(gòu)造的好壞直接影響它的性能,尤其是覆蓋網(wǎng)絡(luò)中關(guān)鍵節(jié)點的選擇與部署。
[0004]覆蓋網(wǎng)絡(luò)拓撲的構(gòu)造需解決兩個問題,其一,如何選擇覆蓋網(wǎng)絡(luò)的節(jié)點;其二,如何連接這些節(jié)點,使其滿足覆蓋網(wǎng)絡(luò)的可靠性、有效性和可擴展性要求。目前針對覆蓋網(wǎng)絡(luò)拓撲構(gòu)造的技術(shù)比較片面,存在較多缺陷,比如主要關(guān)注中繼節(jié)點的選擇,而忽略了節(jié)點的部署問題,比如只集中在一跳覆蓋網(wǎng)路由(One-hop Overlay Routing)問題上,而沒有考慮關(guān)鍵中斷節(jié)點對覆蓋網(wǎng)路由性能的影響等。如何有效地解決上述兩個問題,成為下一代網(wǎng)絡(luò)【技術(shù)領(lǐng)域】急需解決的一個技術(shù)難題。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的目的是發(fā)明一種覆蓋網(wǎng)構(gòu)建方法,解決覆蓋網(wǎng)節(jié)點有效選取和可靠連接的問題,滿足覆蓋網(wǎng)絡(luò)的可靠性、有效性和可擴展性要求。
[0006]為了達到上述目的,本發(fā)明提出了一種覆蓋網(wǎng)構(gòu)建方法,所述方法包括下列操作步驟:
[0007](I)把覆蓋網(wǎng)中的節(jié)點劃分為普通節(jié)點和超級節(jié)點;
[0008](2)普通節(jié)點是指參與通信的用戶主機;或是指運行某種業(yè)務(wù)的服務(wù)器即端系統(tǒng);普通節(jié)點的數(shù)量由參與覆蓋網(wǎng)絡(luò)構(gòu)建的用戶主機數(shù)量和端系統(tǒng)數(shù)量決定;
[0009](3)計算底層物理網(wǎng)絡(luò)中各個物理節(jié)點的介數(shù)中心(betweeenness centrality),選擇設(shè)定比例的介數(shù)中心值較高的物理節(jié)點作為覆蓋網(wǎng)的超級節(jié)點;
[0010](4)根據(jù)端系統(tǒng)和用戶主機的需求,將覆蓋網(wǎng)中的普通節(jié)點映射到底層物理網(wǎng)絡(luò)中相應(yīng)的物理節(jié)點即路由器;
[0011](5)先將所述的覆蓋網(wǎng)的節(jié)點連接形成k-最小生成樹(Κ-Minimum SpanningTree)Fk ;其中k為大于I的自然數(shù);然后再將所述的覆蓋網(wǎng)中的超級節(jié)點連接形成全網(wǎng)狀結(jié)構(gòu);所述覆蓋網(wǎng)絡(luò)中鏈路的權(quán)重定義為該覆蓋網(wǎng)鏈路的時延,或者定義為該覆蓋網(wǎng)絡(luò)鏈路所對應(yīng)的物理層路徑中所包含的物理鏈路的個數(shù),即跳數(shù);
[0012](6)當?shù)讓游锢砭W(wǎng)絡(luò)中的物理鏈路故障導致數(shù)據(jù)傳輸中斷或擁塞時,計算源節(jié)點與目的節(jié)點之間的覆蓋網(wǎng)路由路徑;如果該覆蓋網(wǎng)路由路徑?jīng)]有故障,則利用該覆蓋網(wǎng)路由路徑完成數(shù)據(jù)傳輸;如果該覆蓋網(wǎng)路由路徑同時也出現(xiàn)故障,即該覆蓋網(wǎng)路由路徑中包含了前述該條出現(xiàn)故障的物理鏈路,則采用設(shè)定的覆蓋網(wǎng)路由機制以實現(xiàn)路由的快速恢復。
[0013]所述步驟(5)中將所述的覆蓋網(wǎng)的節(jié)點連接形成k_最小生成樹Fk的具體內(nèi)容包括如下操作子步驟:
[0014](50)初始化步驟,取k-最小生成樹Fk為空集,取循環(huán)次數(shù)變量j為O ;
[0015](51)用所述的覆蓋網(wǎng)的節(jié)點構(gòu)造臨時的全網(wǎng)狀拓撲Gt ;
[0016](52)按照設(shè)定的方法求解當前Gt的最小生成樹Tj,并把Tj并入Fk,循環(huán)次數(shù)變量j增加I ;所述的求解最小生成樹的設(shè)定方法包括克魯斯卡爾kruskal算法和普里姆Prim算法;
[0017](53)從Gt中刪除Tj,得到更新后的Gt ;
[0018](54)如果循環(huán)次數(shù)變量j等于k,則過程結(jié)束,得到k-最小生成樹Fk ;否則轉(zhuǎn)到步驟(52)。
[0019]所述步驟(6)中所述的設(shè)定覆蓋網(wǎng)路由機制是指覆蓋網(wǎng)一跳路由機制,其具體內(nèi)容是:源節(jié)點從所述覆蓋網(wǎng)的超級節(jié)點中選擇那些不出現(xiàn)在所述的覆蓋網(wǎng)故障路由路徑上的超級節(jié)點作為備選中繼節(jié)點,構(gòu)成備選中繼節(jié)點集合;源節(jié)點對所述的備選中繼節(jié)點集合中的中繼節(jié)點進行探測,并最終選擇通過該中繼節(jié)點能到達目的節(jié)點并且端到端網(wǎng)絡(luò)時延最小的那個中繼節(jié)點,構(gòu)建一跳覆蓋網(wǎng)路由路徑。
[0020]本發(fā)明的有益效果在于將具有較高介數(shù)中心的超節(jié)點引入覆蓋網(wǎng)絡(luò),降低了端到端的路由代價;由于超節(jié)點之間的全網(wǎng)狀連接提高了覆蓋網(wǎng)絡(luò)的性能,且不影響覆蓋網(wǎng)絡(luò)的可擴展性;覆蓋網(wǎng)一跳路由機制提高了覆蓋網(wǎng)的可靠性。
【專利附圖】
【附圖說明】
[0021]圖1是本發(fā)明提出的一種覆蓋網(wǎng)構(gòu)建方法的流程圖。
[0022]圖2是本發(fā)明的實施例中覆蓋網(wǎng)一跳路由機制的示意圖。
[0023]圖3是本發(fā)明方法模擬實驗結(jié)果之一的失效路徑恢復率的比較示意圖。
[0024]圖4是本發(fā)明方法模擬實驗結(jié)果之一的恢復路徑跳數(shù)懲罰的比較示意圖。。
[0025]圖5是本發(fā)明方法模擬實驗結(jié)果之一的平均節(jié)點度的比較示意圖。
【具體實施方式】
[0026]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步的詳細描述。
[0027]參見圖1,介紹本發(fā)明提出的一種覆蓋網(wǎng)構(gòu)建方法,所述方法包括下列操作步驟:
[0028](I)把覆蓋網(wǎng)中的節(jié)點劃分為普通節(jié)點和超級節(jié)點;
[0029](2)普通節(jié)點是指參與通信的用戶主機;或是指運行某種業(yè)務(wù)的服務(wù)器即端系統(tǒng);普通節(jié)點的數(shù)量由參與覆蓋網(wǎng)絡(luò)構(gòu)建的用戶主機數(shù)量和端系統(tǒng)數(shù)量決定;
[0030](3)計算底層物理網(wǎng)絡(luò)中各個物理節(jié)點的介數(shù)中心(betweeenness centrality),選擇設(shè)定比例(一般選取5%-10%的節(jié)點作為超節(jié)點)的介數(shù)中心值較高的物理節(jié)點作為覆蓋網(wǎng)的超級節(jié)點;
[0031](4)根據(jù)端系統(tǒng)和用戶主機的需求,將覆蓋網(wǎng)中的普通節(jié)點映射到底層物理網(wǎng)絡(luò)中相應(yīng)的物理節(jié)點即路由器;
[0032](5)先將所述的覆蓋網(wǎng)的節(jié)點連接形成k-最小生成樹(Κ-Minimum SpanningTree)Fk ;其中k為大于I的自然數(shù);然后再將所述的覆蓋網(wǎng)中的超級節(jié)點連接形成全網(wǎng)狀結(jié)構(gòu);所述覆蓋網(wǎng)絡(luò)中鏈路的權(quán)重定義為該覆蓋網(wǎng)鏈路的時延,或者定義為該覆蓋網(wǎng)絡(luò)鏈路所對應(yīng)的物理層路徑中所包含的物理鏈路的個數(shù),即跳數(shù);
[0033](6)當?shù)讓游锢砭W(wǎng)絡(luò)中的物理鏈路故障導致數(shù)據(jù)傳輸中斷或擁塞時,計算源節(jié)點與目的節(jié)點之間的覆蓋網(wǎng)路由路徑;如果該覆蓋網(wǎng)路由路徑?jīng)]有故障,則利用該覆蓋網(wǎng)路由路徑完成數(shù)據(jù)傳輸;如果該覆蓋網(wǎng)路由路徑同時也出現(xiàn)故障(即該覆蓋網(wǎng)路由路徑中包含了前述該條出現(xiàn)故障的物理鏈路),則采用設(shè)定的覆蓋網(wǎng)路由機制以實現(xiàn)路由的快速恢復。
[0034]所述步驟(5)中將所述的覆蓋網(wǎng)的節(jié)點連接形成k_最小生成樹Fk的具體內(nèi)容包括如下操作子步驟:
[0035](50)初始化步驟,取k-最小生成樹Fk為空集,取循環(huán)次數(shù)變量j為O ;
[0036](51)用所述的覆蓋網(wǎng)的節(jié)點構(gòu)造臨時的全網(wǎng)狀拓撲Gt ;
[0037](52)按照設(shè)定的方法求解當前Gt的最小生成樹Tj,并把Tj并入Fk,循環(huán)次數(shù)變量j增加I ;所述的求解最小生成樹的設(shè)定方法包括克魯斯卡爾kruskal算法和普里姆Prim算法;
[0038](53)從Gt中刪除Tj,得到更新后的Gt ;
[0039](54)如果循環(huán)次數(shù)變量j等于k,則過程結(jié)束,得到k-最小生成樹Fk ;否則轉(zhuǎn)到步驟(52)。
[0040]所述步驟¢)中所述的設(shè)定覆蓋網(wǎng)路由機制是指覆蓋網(wǎng)一跳路由機制,其具體內(nèi)容是:源節(jié)點從所述覆蓋網(wǎng)的超級節(jié)點中選擇那些不出現(xiàn)在所述的覆蓋網(wǎng)故障路由路徑上的超級節(jié)點作為備選中繼節(jié)點,構(gòu)成備選中繼節(jié)點集合;源節(jié)點對所述的備選中繼節(jié)點集合中的中繼節(jié)點進行探測,并最終選擇通過該中繼節(jié)點能到達目的節(jié)點并且端到端網(wǎng)絡(luò)時延最小的那個中繼節(jié)點,構(gòu)建一跳覆蓋網(wǎng)路由路徑。
[0041]參見圖2,覆蓋網(wǎng)路由路徑Oa-Oc-Od-Ob (Oa表示源節(jié)點,Ob表示目的節(jié)點)與默認的物理路徑A-C-D-E-B共享了物理鏈路Lm,當Lm的故障導致覆蓋網(wǎng)路徑Oa-Oc-Od-Ob和物理路徑A-C-D-E-B同時失效時,源節(jié)點Oa選擇那些不出現(xiàn)在所述的覆蓋網(wǎng)故障路由路徑Oa-Oc-Od-Ob上的超級節(jié)點Oi (i = I, 2,3...)作為備選中繼節(jié)點。源節(jié)點Oa通過覆蓋網(wǎng)一跳路由機制Oa — Oi — Ob去探測目的節(jié)點0Β,假如Oa — Oj — Ob有最小的端到端時延,那么Oj被選擇作為最優(yōu)的中繼節(jié)點,構(gòu)建覆蓋網(wǎng)一跳路由路徑。
[0042]發(fā)明人對本發(fā)明的方法進行了模擬實驗,實驗具體如下:發(fā)明人用拓撲產(chǎn)生器GT-1TM生成隨機網(wǎng)絡(luò)GT180作為底層的物理網(wǎng)絡(luò),GT180由180個節(jié)點和502條鏈路組成。用失效路徑恢復率(FRR:Failure Recovery Rat1)、恢復路徑跳數(shù)懲罰(RPHP:RecoveryPath Hop Penalty)和平均節(jié)點度(AND:Average Node Degree)三個度量指標對覆蓋網(wǎng)的性能進行評估。失效路徑恢復率是指通過覆蓋網(wǎng)絡(luò)恢復的失效路徑的數(shù)量與失效的IP路徑數(shù)量之比,F(xiàn)RR越大表明覆蓋網(wǎng)絡(luò)恢復能力越強?;謴吐窂教鴶?shù)懲罰是指覆蓋網(wǎng)絡(luò)恢復路徑所對應(yīng)的物理鏈路的數(shù)量與默認的IP路徑所包含的物理鏈路數(shù)量之比,RPHP越小表明覆蓋網(wǎng)絡(luò)路由跳數(shù)越小,某種程度上表明所花費的時延越小。平均節(jié)點度反映了覆蓋網(wǎng)絡(luò)拓撲負載的程度,AND越大表明覆蓋網(wǎng)絡(luò)拓撲維護和路由計算的代價越大。發(fā)明人把本發(fā)明的方法與幾個著名的算法:FM算法(Full Mesh architecture:引自 D.Anderson, H.Balakrishnanj F.Kaashoekj and R.Morris, “Resilient overlaynetwork,,,In Proc.0f the 8th ACM SOSP,pp.131-145,2001),KMST 算法(K MinimumSpanning Tree:弓丨自 A.Young,J.Chen,Z.Ma,et al.,“Overlay mesh construct1n usinginterleaved spanning trees,,,in:Proc.0f IEEE INF0C0M,2004),MT 算法(Mesh Tree:弓I 自 A.Young,J.Chen,Z.Ma,et al., “Overlay mesh construct1n using interleavedspanning trees,,,in:Proc.0f IEEE INF0C0M,2004),AC 算法(Adjacent Connect1n:弓I 自 Z.Li and P.Mohapatraj “QRON: QoS-aware routing in overlay networks,,,IEEEJSAC, vol.22,n0.1, pp.29-40,2004)進行了比較,本發(fā)明的方法用SR-KMST表示,比較結(jié)果參見圖3、圖4和圖5。實驗結(jié)果驗證了本發(fā)明方法的可行性和有效性。
【權(quán)利要求】
1.一種覆蓋網(wǎng)構(gòu)建方法,其特征在于:所述方法包括下列操作步驟: (1)把覆蓋網(wǎng)中的節(jié)點劃分為普通節(jié)點和超級節(jié)點; (2)普通節(jié)點是指參與通信的用戶主機;或是指運行某種業(yè)務(wù)的服務(wù)器即端系統(tǒng);普通節(jié)點的數(shù)量由參與覆蓋網(wǎng)絡(luò)構(gòu)建的用戶主機數(shù)量和端系統(tǒng)數(shù)量決定; (3)計算底層物理網(wǎng)絡(luò)中各個物理節(jié)點的介數(shù)中心,選擇設(shè)定比例的介數(shù)中心值較高的物理節(jié)點作為覆蓋網(wǎng)的超級節(jié)點; (4)根據(jù)端系統(tǒng)和用戶主機的需求,將覆蓋網(wǎng)中的普通節(jié)點映射到底層物理網(wǎng)絡(luò)中相應(yīng)的物理節(jié)點即路由器; (5)先將所述的覆蓋網(wǎng)的節(jié)點連接形成k-最小生成樹Fk;其中k為大于1的自然數(shù);然后再將所述的覆蓋網(wǎng)中的超級節(jié)點連接形成全網(wǎng)狀結(jié)構(gòu);所述覆蓋網(wǎng)絡(luò)中鏈路的權(quán)重定義為該覆蓋網(wǎng)鏈路的時延,或者定義為該覆蓋網(wǎng)絡(luò)鏈路所對應(yīng)的物理層路徑中所包含的物理鏈路的個數(shù),即跳數(shù); (6)當?shù)讓游锢砭W(wǎng)絡(luò)中的物理鏈路故障導致數(shù)據(jù)傳輸中斷或擁塞時,計算源節(jié)點與目的節(jié)點之間的覆蓋網(wǎng)路由路徑;如果該覆蓋網(wǎng)路由路徑?jīng)]有故障,則利用該覆蓋網(wǎng)路由路徑完成數(shù)據(jù)傳輸;如果該覆蓋網(wǎng)路由路徑同時也出現(xiàn)故障,即該覆蓋網(wǎng)路由路徑中包含了前述該條出現(xiàn)故障的物理鏈路,則采用設(shè)定的覆蓋網(wǎng)路由機制以實現(xiàn)路由的快速恢復。
2.根據(jù)權(quán)利要求1所述的一種覆蓋網(wǎng)構(gòu)建方法,其特征在于:所述步驟(5)中將所述的覆蓋網(wǎng)的節(jié)點連接形成k-最小生成樹Fk的具體內(nèi)容包括如下操作子步驟: (50)初始化步驟,取k-最小生成樹Fk為空集,取循環(huán)次數(shù)變量j為0; (51)用所述的覆蓋網(wǎng)的節(jié)點構(gòu)造臨時的全網(wǎng)狀拓撲Gt; (52)按照設(shè)定的方法求解當前Gt的最小生成樹Tj,并把Tj并入Fk,循環(huán)次數(shù)變量j增加1 ;所述的求解最小生成樹的設(shè)定方法包括克魯斯卡爾kruskal算法和普里姆Prim算法; (53)從Gt中刪除Tj,得到更新后的Gt; (54)如果循環(huán)次數(shù)變量j等于k,則過程結(jié)束,得到k-最小生成樹Fk;否則轉(zhuǎn)到步驟(52)。
3.根據(jù)權(quán)利要求1所述的一種覆蓋網(wǎng)構(gòu)建方法,其特征在于:步驟(6)中所述的設(shè)定覆蓋網(wǎng)路由機制是指覆蓋網(wǎng)一跳路由機制,其具體內(nèi)容是:源節(jié)點從所述覆蓋網(wǎng)的超級節(jié)點中選擇那些不出現(xiàn)在所述的覆蓋網(wǎng)故障路由路徑上的超級節(jié)點作為備選中繼節(jié)點,構(gòu)成備選中繼節(jié)點集合;源節(jié)點對所述的備選中繼節(jié)點集合中的中繼節(jié)點進行探測,并最終選擇通過該中繼節(jié)點能到達目的節(jié)點并且端到端網(wǎng)絡(luò)時延最小的那個中繼節(jié)點,構(gòu)建一跳覆蓋網(wǎng)路由路徑。
【文檔編號】H04L12/28GK104301215SQ201410532864
【公開日】2015年1月21日 申請日期:2014年10月10日 優(yōu)先權(quán)日:2014年10月10日
【發(fā)明者】廖建新, 朱曉民, 田生文, 張磊, 王晶, 樊利民, 王敬宇 申請人:北京郵電大學