基于多下一跳和備份路徑的混合鏈路保護方法
【技術領域】
[0001] 本發明設及互聯網技術領域,具體的說,設及一種基于多下一跳和備份路徑的混 合鏈路保護方法。
【背景技術】
[0002] 如今,互聯網在人們的日常生活和商業活動中扮演著越來越重要的角色。隨著一 些例如電子商務、視頻聊天W及一些緊急任務等新型應用的出現,人們對于網絡的延遲和 可用性提出了更高的要求,同時也給互聯網帶來了一定的挑戰。
[0003] 當網絡出現故障的時候,當前部署的域內路由協議需要一個全局的收斂過程。在 路由收斂的過程中,網絡可能會出現中斷,從而導致通信報文的丟失。國際互聯網工程任務 組(The Internet Engineering Task Force, IETF)提出 了利用IP快速重路由FRR和Not-Via框架來提高網絡的可用性,從而解決上述問題。然而相關的研究表明,利用IPFR財匡架僅 僅保護了網絡中50%左右的鏈路,因此該算法的網絡可用性大打折扣,并且IPFRR的實現方 式比較復雜,算法的時間復雜度比較高。而Not-Via框架由于其盡可能的保護網絡中所有的 鏈路,導致Not-Via框架計算復雜度比較高,會消耗大量的路由器CPU資源,給路由器增加了 額外的負擔。
[0004] 因此,亟需一種能夠解決在提高網絡可用性的同時又不增加額外負擔的混合鏈路 保護方法。
【發明內容】
[0005] 本發明的目的在于提供一種基于多下一跳和備份路徑的混合鏈路保護方法,W解 決現有的鏈路保護方法無法在提高網絡可用性的同時又不增加網絡額外負擔的技術問題。
[0006] 本發明提供一種基于多下一跳和備份路徑的混合鏈路保護方法,該方法包括:
[0007] 根據設定規則構造網絡中每個結點的W自身為根結點、W其他所有結點為目的結 點的下一跳的集合;
[0008] 在所述下一跳的集合中選擇出所述結點的所有關鍵鏈路;
[0009] 計算所述關鍵鏈路對網絡可用性的貢獻值;
[0010] 根據所述貢獻值和網絡可用性目標從網絡中所有的所述關鍵鏈路中選擇出需要 保護的所述關鍵鏈路;
[0011] 構造需要保護的所述關鍵鏈路的備份路徑。
[0012] 在選擇出所述結點的所有關鍵鏈路的步驟中包括:
[0013] 若所述根結點到目的結點有且只有最優下一跳,則所述根結點到目的結點之間的 鏈路為關鍵鏈路。
[0014] 在計算所述關鍵鏈路對網絡可用性的貢獻值的步驟中包括:
[0015] 所述關鍵鏈路對網絡可用性的貢獻值為網絡中經過所述關鍵鏈路的所有路徑在 被保護后的可用性與被保護前的可用性的差值。
[0016] 在選擇出需要保護的所述關鍵鏈路的步驟中包括:
[0017] 基于關鍵鏈路的所述貢獻值由大到小對網絡中所有關鍵鏈路進行排序;
[0018] 從所述排序中根據所述貢獻值由大到小逐一選出關鍵鏈路,每當選出一個關鍵鏈 路,根據已經選出的所有關鍵鏈路的貢獻值計算當前網絡可用性;
[0019] 當所述當前網絡可用性大于等于所述網絡可用性目標時,停止從所述排序中選出 關鍵鏈路,此時,已經選出的所有關鍵鏈路為需要保護的關鍵鏈路。
[0020] 在構造需要保護的所述關鍵鏈路的備份路徑的步驟中包括:
[0021] 構造網絡中每個結點的W自身為根結點、W其他所有結點為目的結點且不包括所 述關鍵鏈路的備份的下一跳的集合;
[0022] 從所述備份的下一跳的集合中為所述關鍵鏈路選擇備份路徑。
[0023] 在計算所述關鍵鏈路對網絡可用性的貢獻值的步驟中包括:
[0024] 所述關鍵鏈路對網絡可用性的貢獻值為網絡中經過所述關鍵鏈路的與所述關鍵 鏈路同根的所有路徑在被保護后的可用性與被保護前的可用性的差值。
[0025] 所述設定規則包括:
[0026] 假設W結點C為根的最短路徑樹中的兩個結點U和V互為鄰居關系,定義化(v,u) = Cc(v)-Cc(Bc(v))+L(u,v),若化(>,11)<抗(11)成立,則稱¥對11有貢獻,將8(3(>)加入到根結 點C到目的結點U的下一跳的集合中,
[0027] 其中,Cc (V)和Cc (U)分別表示根結點C到結點V和結點U的最小代價,Bc (V)和Bc (U) 分別表示根結點C到結點V和結點U的最優下一跳,L(u,v)表示結點U和結點V的直連代價,Cc (Be (V))和Cc (Be (U))分別表示結點C至IjBc (V)和Bc (U)的最小代價。
[00%]本發明提供的鏈路保護方法是一種基于多下一跳(MNP)和備份路徑(BPP)的混合 鏈路保護方法化LP)。其中,MNP方案定義了一個結點上的偏序關系,從而可W保證計算出的 路徑是沒有環路的。該算法僅僅需要構造一棵W自身為根結點的最短路徑樹,當該樹構造 完畢后,運行算法的結點將計算出到所有目的的下一跳集合。進而通過BPP方案保護未被 MNP保護的鏈路,首先,根據MNP的計算結果,計算出網路中所有結點的關鍵鏈路,然后根據 不同的關鍵鏈路對網絡可用性的貢獻值不相同,選擇必要的鏈路進行保護,從而使網絡的 可用性達到設計目標。實驗結果表明,HLP可W大大的提高網絡的可用性,同時不增加額外 負擔。
[0029] 本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分的從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利 要求書W及附圖中所特別指出的結構來實現和獲得。
【附圖說明】
[0030] 為了更清楚的說明本發明實施例中的技術方案,下面將對實施例描述中所需要的 附圖做簡單的介紹:
[0031 ]圖1是本發明實施例提供的鏈路保護方法的流程示意圖;
[0032]圖2是發明實施例提供的鏈路保護方法的框架示意圖。
【具體實施方式】
[0033] W下將結合附圖及實施例來詳細說明本發明的實施方式,借此對本發明如何應用 技術手段來解決技術問題,并達成技術效果的實現過程能充分理解并據W實施。需要說明 的是,只要不構成沖突,本發明中的各個實施例W及各實施例中的各個特征可W相互結合, 所形成的技術方案均在本發明的保護范圍之內。
[0034] 本發明實施例提供了一種基于多下一跳和備份路徑的混合鏈路保護方法,如圖1 和圖2所示,該方法包括步驟101至步驟106,在步驟101中,構造網絡中每個結點的W自身為 根結點、W其他所有結點為目的結點的下一跳的集合。
[0035] 本發明實施例提供的鏈路保護方法是一種基于多下一跳(MultipIe Next-hop Protect ion, MNP)和備份路徑(Backup PathProtect ion, BPP)兩種算法的混合鏈路保護方 法,在本發明實施例中,該鏈路保護方法首先執行MNP算法,接著執行BPP算法。首先在步驟 101中根據多下一跳算法獲得網絡中每個結點的最短路徑樹(Shodest Path Tree,SPT), 最短路徑樹W自身為根結點、W其他所有結點為目的結點。在構造最短路徑樹的過程中,形 成網絡中每個結點的下一跳的集合,網絡中一個結點到網絡中任意一個其他結點可能有多 個下一跳,該集合包括一個起始節點到其他所有節點的多個下一跳。
[0036] 假設當前結點為結點C,運行算法的結點C構造 Wc為根的SPT,在構造 SPT的過程中 可W計算出Wc為根結點、W其他所有結點為目的結點的下一跳信息,我們稱運種算法為多 下一跳保護算法(Multiple 化xt-hop Protection,MNP)。
[0037] 下面對MNP算法原理進行詳細的闡述:為了方便描述該算法,先定義一些標記,運 些標記適用于整個
【發明內容】
。我們將網絡拓撲抽象為一個無向連通圖G(V,E),其中V和E分 別代表圖的頂點和邊,L(u,v)是結點U和結點V的直連代價,當結點U和結點V不是鄰居時,該 值為無窮大,R(V)表示結點V的路由ID(Router-ID) ,Tc表示W結點C為根的最短路徑樹SPT。 在Tc中,Cc (V)表示結點C到結點V的最小代價,Hc (V)表示結點V的所有孩子結點,Pc(V)表示 結點V的父結點,D C (V)表示結點V W及結點V的所有子孫結點。
[0038] 該算法的目的是為結點C計算到目的結點的多個下一跳。我們用Nc(V)表示根結點 C到結點V的下一跳的集合,Bc (V)表示根結點C到結點V的最優下一跳,并且Bc (V) e Nc (V)。 為了方便表述,后面相關內容或附圖也可W使用N(V)和B(V)來分別表示根結點到結點V的 下一跳的集合W及根結點到結點V的最優下一跳。
[0039] 我們定義下述選取下一跳的規則:
[0040] 假設W結點C為根的最短路徑樹中的兩個結點U和V互為鄰居關系,定義化(v,u) = Cc(v)-Cc(Bc(v) )+L(u,v),如果化(>,11)<抗(11)成立,則稱¥對11有貢獻,將8(3(>)加入到根 結點巧贈點U的下一跳的集合中,
[0041 ]其中,Cc(V)和Cc(U)分別表示根結點C到結點V和結點U的最小代價,Bc(V)和Bc(U) 分別表示根結點C到結點V和結點U的最優下一跳,L(u,v)表示結點U和結點V的直連代價,Cc (Be (V))和Cc (B