欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于逐跳方式的單節(jié)點故障保護方法與流程

文檔序號:12309561閱讀:322來源:國知局
一種基于逐跳方式的單節(jié)點故障保護方法與流程

本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,涉及域內(nèi)路由保護方案,具體涉及一種基于逐跳方式的單節(jié)點故障保護方法。



背景技術(shù):

近些年來,互聯(lián)網(wǎng)的發(fā)展速度已經(jīng)遠遠超出了人們的預(yù)期,并且互聯(lián)網(wǎng)支撐的應(yīng)用范圍也在不斷擴大?;ヂ?lián)網(wǎng)在迅速發(fā)展的同時,面臨了新的挑戰(zhàn),其中域內(nèi)路由可用性(routingavailability)便是其中一個亟待需要解決的問題。相關(guān)研究表明,網(wǎng)絡(luò)中的故障頻繁發(fā)生,并且不可避免。在故障修復(fù)期間,路由協(xié)議需要經(jīng)歷一段時間的收斂過程,在路由協(xié)議收斂過程中將有大量報文丟失,大大降低了路由可用性。然而,隨著一些新型應(yīng)用的出現(xiàn),例如voip、在線游戲、視頻,這些應(yīng)用對網(wǎng)絡(luò)時延提出了更加嚴格的要求。因此,如何提高網(wǎng)絡(luò)可用性,降低路由協(xié)議收斂過程中報文丟失率,是互聯(lián)網(wǎng)面臨的一個重要挑戰(zhàn)。為了解決該問題,學(xué)術(shù)界和工業(yè)界提出了路由保護方案,該方案預(yù)先計算備份路由,當網(wǎng)絡(luò)出現(xiàn)故障時,利用事先計算好的備份路徑轉(zhuǎn)發(fā)受故障影響的報文,從而有效減少報文丟失率。

ip快速重路由方案以其獨特的優(yōu)勢受到學(xué)術(shù)界和工業(yè)界的青睞,該方案利用無環(huán)路規(guī)則(loopfreealternates:lfa),計算備份下一跳,從而實現(xiàn)路由保護。該方案計算復(fù)雜度小,容易部署,因此大部分廠商的路由器支持該方案。然而,研究表明,利用該方案僅僅能保護50%左右的單故障情形?;趇p快速重路由框架,我們在文章提出了一種高效的路由保護方案。該方案算法復(fù)雜度低,并且支持動態(tài)更新,支持增量部署,然而該方案的故障保護率和ip快速重路由的故障保護率接近。

為了進一步提高網(wǎng)絡(luò)可用性,提出了利用u-turn方案提高故障保護率,該方案可以在其鄰居節(jié)點中計算lfa下一跳。u-turn雖然明顯提高了故障保護率,但是仍然達不到預(yù)期目標?;诳焖僦芈酚珊蛈-turn存在的缺陷,提出了基于not-via地址的快速重路由方案。該方案利用輔助機制not-via地址,顯式的表明網(wǎng)絡(luò)中的故障,從而可用有效保護網(wǎng)絡(luò)中所有單故障情形。雖然該機制可以大大提高網(wǎng)絡(luò)的可用性,但是該機制的實現(xiàn)比較復(fù)雜,開銷較大,不容易實際部署。

基于上述方案存在的缺陷,提出了將基于ip快速重路由和基于not-via地址快速重路由結(jié)合的路由保護方案。該方案的基本思想是,當某節(jié)點存在ip快速重路由下一跳時,利用ip快速重路由方案,然而當該節(jié)點不在上述保護下一跳時,則利用基于not-via地址快速重路由計算保護下一跳。相比基于not-via地址快速重路由方案,融合方案大大降低了算法的復(fù)雜度,然而該方案仍然需要使用not-via地址,因此不容易實際部署。綜上所述,ip快速重路由方案雖然實現(xiàn)簡單,然而故障保護率較低。not-via雖然可以100%保護網(wǎng)絡(luò)中單節(jié)點故障情形,然而該方案部署困難。因此,本發(fā)明設(shè)計一種可以100%保護網(wǎng)絡(luò)中所有單節(jié)點故障情形的路由保護方法。



技術(shù)實現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是需要提供基于逐跳方式的單節(jié)點故障保護方法,該方法100%保護網(wǎng)絡(luò)中所有出現(xiàn)的單節(jié)點故障情形。由于本發(fā)明為一種分布式解決方案,所有節(jié)點采用的方法是相同的,因此下面假設(shè)計算節(jié)點為節(jié)點d。為了方便描述,我們先定義一些標記,這些標記適用于整個發(fā)明。網(wǎng)絡(luò)拓撲結(jié)構(gòu)可以用圖g=(v,e)來表示,其中v表示網(wǎng)絡(luò)中路由器的集合,e表示網(wǎng)絡(luò)中鏈路的集合。對于網(wǎng)絡(luò)中的某條鏈路e=(x,y),用w(e)代表該鏈路的權(quán)值,該值可以是跳數(shù)、時延、帶寬、能耗等,也可以是其中這幾個度量的組合。backup(s,d)表示節(jié)點s到節(jié)點d的備份下一跳;cost(s,d)表示節(jié)點s到節(jié)點d的最小代價,rspt(d)表示以節(jié)點d為根的反向最短路徑樹,child(d,v)表示在rspt(d)中節(jié)點v的孩子節(jié)點,subtree(d,v)表示在rspt(d)中以節(jié)點v為根的子樹的所有節(jié)點。

為了解決上述技術(shù)問題,本發(fā)明提供了一種基于逐跳方式的單節(jié)點故障保護方法,包括以下步驟:

步驟1:計算以節(jié)點d為根節(jié)點的反向最短路徑樹rspt(d);

步驟2:將網(wǎng)絡(luò)中所有節(jié)點的備份下一跳設(shè)置為空,所有節(jié)點的訪問標識設(shè)置為未訪問,所有節(jié)點的顏色標記為白色;

步驟3:根據(jù)深度優(yōu)先算法遍歷以d為根的最短路徑樹中的未被訪問過的節(jié)點;如果所編歷節(jié)點為未訪問過的節(jié)點,則執(zhí)行步驟4;如果所編歷的以節(jié)點d為根節(jié)點的最短路徑樹rspt(d)的全部節(jié)點均設(shè)為訪問過的節(jié)點,則終止;

步驟4:將每次遍歷的節(jié)點存儲在變量v中,設(shè)置v的訪問標識為已訪問;

步驟5:將其子樹subtree(d,v)中的所有節(jié)點標記為紅色;

步驟6:訪問節(jié)點v的未被訪問過的孩子節(jié)點,根據(jù)計算第一類橋的方法判斷;如果節(jié)點u∈child(d,v)對應(yīng)的子樹只有一個一類橋,則選擇該橋作為該子數(shù)最終橋,記為(x,y);如果節(jié)點u∈child(d,v)對應(yīng)的子樹有多個第一類橋,則根據(jù)計算最終橋的方法,計算具有最短重路由路徑的一個橋作為該子樹最終的橋,記為(x,y);

計算第一類橋的方法如下:

在以d為根的反向最短路徑樹中,對于該樹中的任意一個節(jié)點v∈v-d,當節(jié)點u∈child(d,v)時,如果存在一條鏈路,使得x∈subtree(d,u)和y∈v-subtree(d,v)-d同時成立,則鏈路(x,y)是子樹subtree(d,u)的第一類橋;如果節(jié)點u∈child(d,v)對應(yīng)的子樹有第一類橋,將子樹subtree(d,u)中的所有節(jié)點標記為紅色,根據(jù)深度優(yōu)先算法遍歷子樹subtree(d,u)中的所有節(jié)點,對于該子樹中的節(jié)點x,檢查它的每一個鄰居節(jié)點y,如果該節(jié)點的顏色為白色,則鏈路(x,y)為子樹subtree(d,u)的橋;

計算最終橋的方法如下:由下面公式計算節(jié)點u的重路由路徑的代價,r(u,d)=cost(u,x)+cost(x,y)+cost(y,d),其中r(u,d)表示節(jié)點u到節(jié)點d的重路由路徑代價;該公式中涉及到的變量都可以很容易的從鏈路狀態(tài)路由協(xié)議中得到;其中cost(x,y)可以從鏈路狀態(tài)數(shù)據(jù)庫中得到,其余變量可以通過rspt(d)得到,因此很容易計算相應(yīng)的橋?qū)?yīng)的重路由路徑的代價;對于找到的所有橋,選擇具有最短重路由路徑的一個橋作為其最終的橋;

步驟7:如果節(jié)點v的孩子節(jié)點對應(yīng)的子樹不存在第一類橋,則根據(jù)第二類橋的計算方法,計算該子樹的第二類橋,作為該子樹最終的橋,記為(x,y);

第二類橋的計算方法如下:

在以目的地址d為根的反向最短路徑樹中,對于該樹中的任意一個節(jié)點v∈v-d,當節(jié)點u∈child(v),w∈child(d,v)時,如果存在一條鏈路(p,q),使得p∈subtree(d,u)和q∈subtree(d,w)同時成立,則鏈路(p,q)為子樹subtree(d,u)和子樹subtree(d,w)的第二類橋;如果節(jié)點u∈child(d,v)對應(yīng)的子樹只有第二類橋,根據(jù)廣度優(yōu)先算法遍歷子樹subtree(d,u)中的所有節(jié)點,尋找首次出現(xiàn)的一條邊(x,y),其中x是紅色,y是綠色,則鏈路(x,y)即為該子樹的最終橋;

步驟8:根據(jù)選擇的最終的橋為相應(yīng)節(jié)點,計算備份下一跳;其方法如下:

根據(jù)選定的最終的橋計算節(jié)點u的重路由路徑,用(u,m...x,y,...p,q)來表示節(jié)點u的重路由路徑,則相應(yīng)節(jié)點的備份下一跳為:backup(u,d)=m,backup(x,d)=y(tǒng),…,backup(p,d)=q;如果節(jié)點已經(jīng)有備份下一跳,則將該節(jié)點的訪問標識設(shè)置為已訪問;

步驟9:如果節(jié)點v的孩子節(jié)點u有備份下一跳,則將該孩子節(jié)點對應(yīng)的子樹中的全部節(jié)點標記為綠色;

步驟10:檢測subtree(d,v)中節(jié)點的顏色,如果subtree(d,v)中節(jié)點的顏色存在紅色,執(zhí)行步驟6;

步驟11:檢測subtree(d,v)中節(jié)點的顏色,如果subtree(d,v)中所有節(jié)點的顏色全部為綠色,將subtree(d,v)中所有節(jié)點的顏色標記為白色,執(zhí)行步驟3;

步驟12:當節(jié)點u收到報文時,根據(jù)故障檢測方法檢測,如果節(jié)點u到達目的地址的默認下一跳沒有故障,則將該報文直接轉(zhuǎn)發(fā)到其默認下一跳;如果節(jié)點u到達目的地址的默認下一跳出現(xiàn)故障,則將該報文直接轉(zhuǎn)發(fā)到其備份下一跳;

故障檢測方法:在實際網(wǎng)絡(luò)中可以通過雙向轉(zhuǎn)發(fā)檢測機制(bfd,bidirectionalforwardingdetection)快速檢測網(wǎng)絡(luò)中的節(jié)點故障,bfd是一種高速的獨立hello協(xié)議,bfd在兩臺網(wǎng)絡(luò)設(shè)備上建立會話,用來檢測網(wǎng)絡(luò)設(shè)備間的雙向轉(zhuǎn)發(fā)路徑,為上層應(yīng)用服務(wù);bfd本身并沒有鄰居發(fā)現(xiàn)機制,而是靠被服務(wù)的上層應(yīng)用通知其鄰居信息以建立會話;會話建立后會周期性地快速發(fā)送bfd報文,如果在檢測時間內(nèi)沒有收到bfd報文則認為該雙向轉(zhuǎn)發(fā)路徑發(fā)生了故障,通知被服務(wù)的上層應(yīng)用進行相應(yīng)的處理。

與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:

本發(fā)明提出了一種基于逐跳方式的單節(jié)點故障保護方法,該方案能100%保護網(wǎng)路中所有可能的單節(jié)點故障情形,可以大大提高網(wǎng)絡(luò)可用性,從而更好的支持對時延敏感的應(yīng)用。另外,本發(fā)明充分利用了網(wǎng)絡(luò)中路徑的多樣性,因此具有更高的可靠性。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

附圖說明

圖1是本發(fā)明的保護方法流程示意圖。

圖2是本發(fā)明實施例網(wǎng)絡(luò)拓撲結(jié)構(gòu)示意圖。

圖3是本發(fā)明實施例中計算以節(jié)點d為根的反向最短路徑樹的示意圖。

圖4是本發(fā)明實施例中訪問節(jié)點a時,為節(jié)點e計算保護路徑示意圖。

圖5是本發(fā)明實施例中訪問節(jié)點a時,為節(jié)點c計算保護路徑示意圖。

圖6是本發(fā)明實施例中訪問節(jié)點a時,為節(jié)點b計算保護路徑示意圖。

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖對本發(fā)明作進一步地詳細說明。

圖1是根據(jù)本發(fā)明方法的流程示意圖。

下面詳細說明本實施例的各個步驟。目的節(jié)點為d,具體步驟如下:

步驟1:節(jié)點d構(gòu)造以自身為根的反向最短路徑樹,如圖3;

步驟2:將網(wǎng)絡(luò)中所有節(jié)點的備份下一跳設(shè)置為空,所有節(jié)點的顏色標記為白色;

步驟3:根據(jù)深度優(yōu)先算法遍歷以d為根的最短路徑樹中的所有節(jié)點;

步驟4:將訪問的節(jié)點存儲在變量v中,此時v=a;

步驟5:將v的子樹中所有節(jié)點subtree(d,v)={b,c,e,f,g,i}標記為紅色;

步驟6:找出節(jié)點v的所有孩子節(jié)點的子樹的第一類橋,因為只有節(jié)點e對應(yīng)的子樹subtree(d,e)存在第一類橋,第一類橋可以表示為{(g,k),(i,l),(i,m)};

步驟7:因為節(jié)點v的孩子節(jié)點e對應(yīng)的子樹subtree(d,e)存在第一類橋,所以該步驟不執(zhí)行任何操作;

步驟8:當選擇(g,k)為子樹subtree(d,e)的第一類橋時,節(jié)點e的重路由路徑的代價為29,當選擇(i,l)為子樹subtree(d,e)的第一類橋時,節(jié)點e的重路由路徑的代價為32,當選擇(i,m)為子樹subtree(d,e)的第一類橋時,節(jié)點e的重路由路徑的代價為38;因此選擇鏈路(g,k)作為子樹subtree(d,e)的最終橋,并且將該子樹中所有節(jié)點標記為綠色。根據(jù)選擇的最終橋可知,節(jié)點e的重路由路徑為(e,g,k,j,d),因此backup(g,d)=k,backup(e,d)=g;

步驟9:因為目前v的孩子節(jié)點e已經(jīng)有備份下一跳,則將該孩子節(jié)點對應(yīng)的子樹全部標記為綠色,如圖4所示;

步驟10:因為subtree(d,v)中有紅色節(jié)點,則執(zhí)行步驟6;

步驟6:因為節(jié)點v的其余該子節(jié)點的子樹現(xiàn)在只有二類橋,則執(zhí)行步驟7;

步驟7:選擇鏈路(c,g)作為節(jié)點c為根的子樹的最終橋;

步驟8:根據(jù)選擇的最終橋可知,節(jié)點c的重路由路徑為(c,g,k,j,d),因此backup(c,d)=g;

步驟9:因為目前v的孩子節(jié)點c已經(jīng)有備份下一跳,則將該孩子節(jié)點對應(yīng)的子樹全部標記為綠色,如圖5所示;

步驟10:因為subtree(d,a)中有紅色節(jié)點,則執(zhí)行步驟6;

步驟6:因為節(jié)點v的其余該子節(jié)點的子樹現(xiàn)在只有二類橋,則執(zhí)行步驟7;

步驟7:因此只選擇一個橋即可,因此選擇鏈路(b,c)作為以b為根的子樹的最終橋;

步驟8:根據(jù)選擇的最終橋可知,節(jié)點b的重路由路徑為(b,c,g,k,j,d),因此backup(b,d)=c;

步驟9:因為節(jié)點v的孩子節(jié)點b已經(jīng)有備份下一跳,則將該孩子節(jié)點對應(yīng)的子樹全部標記為綠色,如圖6所示;

步驟10:因為subtree(d,a)中沒有紅色節(jié)點,不執(zhí)行任何操作;

步驟11:因為subtree(d,a)中所有節(jié)點都為綠色,將v的子樹中所有節(jié)點subtree(d,v)={b,c,e,f,g,i}標記為白色,執(zhí)行步驟3;

步驟3:遍歷網(wǎng)絡(luò)rspt(d)中的下一個未被訪問過的節(jié)點。

下面具體說明本發(fā)明的工作原理。

定義1:對于任意事件(u,d,f),其中u表示源地址,d表示目的地址,f表示u到d的最優(yōu)路徑sp(u,d)上的單節(jié)點故障。當該事件出現(xiàn)時,如果u到d依然存在別的路徑,二者仍然保持連通。即該網(wǎng)絡(luò)圖中不存在割點,當該網(wǎng)絡(luò)拓撲結(jié)構(gòu)中的任何一個節(jié)點出現(xiàn)故障時,都不會影響該網(wǎng)絡(luò)的連通性,則稱該網(wǎng)絡(luò)具有健壯拓撲結(jié)構(gòu)。

原理1:對于一個健壯的網(wǎng)絡(luò)拓撲結(jié)構(gòu),假設(shè)節(jié)點f出現(xiàn)故障,節(jié)點f有k個孩子節(jié)點,分別用(f1,f2...fk)表示,則必定存在一個孩子節(jié)點fx∈child(f),該孩子節(jié)點對應(yīng)的子樹subtree(d,fx)至少有一個第一類橋;當某個孩子節(jié)點fy∈child(f)對應(yīng)的子樹沒有第一類橋時,則該孩子節(jié)點對應(yīng)的子樹subtree(d,fy)至少有一個第二類橋。

證明:下面使用反證法來證明該原理。

首先證明該原理的前半部分。當節(jié)點f出現(xiàn)故障時,假設(shè)節(jié)點f的所有孩子節(jié)點都沒有第一類橋。即對于任意節(jié)點fx∈child(f)不存在任何鏈路(p,q),使得p∈subtree(d,fx)和q∈v-subtree(d,f)-d同時成立。那么對于任意節(jié)點p∈subtree(d,fx),與節(jié)點p相連的鏈路的另一端q僅僅和集合subtree(d,f)中的結(jié)點相連,q到d的最優(yōu)路徑必定經(jīng)過節(jié)點f。根據(jù)上述描述可知,當節(jié)點f出現(xiàn)故障時,節(jié)點fx∈child(f)對應(yīng)的子樹中的節(jié)點將無法到達目的。這與健壯的網(wǎng)絡(luò)拓撲結(jié)構(gòu)的前提假設(shè)相矛盾。因此該原理的前半部分成立。

下面證明該原理的后半部分。當節(jié)點f出現(xiàn)故障時,對于節(jié)點fy∈child(f),當該節(jié)點對應(yīng)的子樹沒有第一類橋時,假設(shè)該節(jié)點對應(yīng)的子樹也不存在第二類橋。即對于節(jié)點fy∈child(f),不存在任何鏈路(m,n),使得m∈subtree(d,fy)和n∈subtree(d,fk)同時成立,其中fy∈child(f)。那么對于任意節(jié)點m∈subtree(d,fy),與節(jié)點m相連的鏈路的另一端n僅僅和集合subtree(d,fy)中的結(jié)點相連,n到d的最優(yōu)路徑必定經(jīng)過節(jié)點f。根據(jù)上述描述可知,當節(jié)點f出現(xiàn)故障時,節(jié)點fy∈child(f)對應(yīng)的子樹中的節(jié)點將無法到達目的。這與健壯的網(wǎng)絡(luò)拓撲結(jié)構(gòu)的前提假設(shè)相矛盾。因此該原理的后半部分成立。

根據(jù)上述證明可知,該原理成立。

原理2:當網(wǎng)絡(luò)中的所有節(jié)點都部署上述的路由保護算法時,可以保護網(wǎng)絡(luò)中任意單節(jié)點故障。

證明:在網(wǎng)路拓撲中,假設(shè)節(jié)點f出現(xiàn)故障。對于任意的源-目的(s,d),當源到目的的最優(yōu)路徑經(jīng)過節(jié)點f時,根據(jù)原理1可知,子樹subtree(d,f)至少存在一個橋,則算法可以保護節(jié)點f。由于節(jié)點s是節(jié)點f的子孫節(jié)點,則當節(jié)點f斷開時,從源節(jié)點s發(fā)送到目的節(jié)點d的報文可以正常到達。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鹤壁市| 衡南县| 体育| 宾阳县| 堆龙德庆县| 云和县| 樟树市| 万山特区| 玉山县| 永州市| 巴东县| 安阳县| 大渡口区| 竹山县| 安多县| 锦州市| 新晃| 略阳县| 永昌县| 新乐市| 灌阳县| 探索| 通江县| 清河县| 山阳县| 沁水县| 遵义市| 阿拉善盟| 巴楚县| 东丰县| 开封市| 宁南县| 信宜市| 宁津县| 清流县| 芷江| 白河县| 二连浩特市| 陇南市| 武平县| 那曲县|