專利名稱:一種選擇路徑的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)中多協(xié)議標(biāo)簽交換流量控制,尤其涉及一種選擇路徑的方法。
背景技術(shù):
依照傳統(tǒng)互聯(lián)網(wǎng)絡(luò)協(xié)議中關(guān)于鏈路狀態(tài)的內(nèi)部路由網(wǎng)關(guān)協(xié)議(IGP),通信網(wǎng)絡(luò)中路由器采用最短路徑優(yōu)先(SPF)算法選擇最短的路徑作為路由,不考慮路徑的帶寬因素。在最短路徑處于擁塞狀態(tài)時,即使其他次優(yōu)路徑處于空閑狀態(tài),路由器也不會選擇空閑的次優(yōu)路徑作為路由,致使通信網(wǎng)絡(luò)中網(wǎng)絡(luò)流量的分布極不均衡。
多協(xié)議標(biāo)簽交換流量工程(MPLS TE)關(guān)注通信網(wǎng)絡(luò)整體性能的優(yōu)化,綜合考慮路徑的帶寬因素,在通信網(wǎng)絡(luò)的各條路徑上均衡分布網(wǎng)絡(luò)流量。運營商利用MPLS TE可以精確控制流量流經(jīng)的路徑,從而可以避開擁塞的節(jié)點,解決一部分路徑過載,另一部路徑空閑的問題,使運營商提供的網(wǎng)絡(luò)資源得以充分利用,通信網(wǎng)絡(luò)的整體性能得以優(yōu)化。
MPLS TE的上述功能是由MPLS TE結(jié)構(gòu)實現(xiàn)的。如圖1所示,圖1為MPLSTE結(jié)構(gòu)示意圖。MPLS TE結(jié)構(gòu)主要包括4個基本組成單元報文轉(zhuǎn)發(fā)單元101、信息發(fā)布單元102、路徑選擇單元103和信令單元104。
其中,報文轉(zhuǎn)發(fā)單元101用于引導(dǎo)IP包流沿預(yù)先確定的路徑通過網(wǎng)絡(luò)。所述預(yù)先確定的路徑是基于標(biāo)簽確定的,被稱作標(biāo)簽交換路徑(LSP),即業(yè)務(wù)流量從起始路由器按一定方向流向目的路由器的路徑。由于LSP的是基于標(biāo)簽確定的,并不為通過現(xiàn)有IGP協(xié)議選擇的到達(dá)目的路由器的最短路徑所制約,所以可以避免起始路由器選擇自身與目的路由器之間的最短路徑作為路由。
信息發(fā)布單元102用于發(fā)布鏈路狀態(tài)信息、網(wǎng)絡(luò)拓?fù)湫畔⒑途W(wǎng)絡(luò)負(fù)載信息。MPLS TE在計算約束路徑時需要一些有關(guān)網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)負(fù)載的信息,例如最大鏈路帶寬、最大可預(yù)留帶寬、當(dāng)前預(yù)留帶寬、當(dāng)前帶寬使用和鏈接屬性等,這些信息是通過對現(xiàn)有IGP協(xié)議進行擴展來發(fā)布的。在對現(xiàn)有IGP協(xié)議進行擴展時,一般是在中間系統(tǒng)到中間系統(tǒng)(IS-IS)協(xié)議中引入新的類型長度值(TLV),或者在開放最短路徑優(yōu)先(OSPF)協(xié)議中引入新的鏈路狀態(tài)通告(LSA)。MPLSTE的路由器通過一個特殊的流量工程數(shù)據(jù)庫(TEDB)對網(wǎng)絡(luò)拓?fù)湫畔⒑途W(wǎng)絡(luò)負(fù)載信息進行管理。TEDB用于計算LSP通過物理網(wǎng)絡(luò)時的約束路徑,與用于計算LSP通過物理網(wǎng)絡(luò)時最短路徑的IGP鏈接狀態(tài)數(shù)據(jù)庫相互獨立。
路徑選擇單元103用于根據(jù)TEDB中的網(wǎng)絡(luò)拓?fù)湫畔⒑途W(wǎng)絡(luò)負(fù)載信息,采用約束最短路徑優(yōu)先(CSPF)算法計算滿足約束條件的路徑。CSPF是一種改進的最短路徑優(yōu)先算法,在計算通過網(wǎng)絡(luò)的最短路徑時將特定的約束條件也考慮進去,首先在當(dāng)前網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中刪除不滿足約束條件的節(jié)點和鏈路,然后再根據(jù)SPF算法計算最短路徑。這里,特定的約束條件主要包括帶寬需求,最大跳轉(zhuǎn)數(shù),和管理策略需求等。
信令單元104用于動態(tài)地建立LSP。信令單元動態(tài)地建立LSP可以避免逐跳配置的麻煩。普通的不帶約束的LSP可以通過標(biāo)簽分發(fā)協(xié)議(LDP)來建立,而帶約束的LSP可以通過約束標(biāo)簽分發(fā)協(xié)議(CR-LDP)或者資源預(yù)留協(xié)議流量工程(RSVP TE)來建立。
如圖2所示,圖2為采用MPLS TE中的CSPF算法選擇路徑的示意圖。假定所有帶寬為1G的鏈路的路由量度值(Metric)都相同,所有帶寬為155M的鏈路的Metric也都相同,且已經(jīng)建立了路由器R1到R5優(yōu)先級為0的高優(yōu)先級LSP1R1→R2→R5,LSP1占用的帶寬為155M,還建立了路由器R3到R6優(yōu)先級為2的低優(yōu)先級LSP2R3→R2→R6,LSP2占用的帶寬也為155M。
當(dāng)路由器R2與R5之間鏈路發(fā)生故障時,LSP1的頭端路由器R1采用MPLSTE中的CSPF算法將LSP1重建為R1→R2→R6→R5。由于路由器R2與R6之間鏈路的帶寬只有155M,因此LSP2中路由器R2與R6之間的鏈路被新建的LSP1搶占,LSP2的頭端路由器R3采用MPLS TE中的CSPF算法將LSP2重建為R3→R4→R5→R6。這樣,LSP2中路由器R2與R6之間的鏈路被搶占,LSP2需要重建,LSP2上的流量也被迫中斷,網(wǎng)絡(luò)因此而變得不穩(wěn)定。
雖然采用MPLS-TE中的CSPF算法選擇路徑可以在一定程度上解決網(wǎng)絡(luò)流量分布不均衡的問題,但是由于MPLS-TE中的CSPF算法忽視了選擇路徑時是否需要搶占其他LSP中的鏈路以及搶占其他LSP中鏈路的數(shù)量,被搶占的LSP又可能去搶占其他更低優(yōu)先級LSP中的鏈路,所以采用MPLS-TE中的CSPF算法選擇路徑經(jīng)常會帶來以下問題1、在不需要搶占其他LSP中的鏈路時發(fā)生了搶占,導(dǎo)致整個網(wǎng)絡(luò)中鏈路的利用率降低;2、在需要搶占其他LSP中的鏈路時搶占鏈路的數(shù)量不是最少,被搶占LSP的優(yōu)先級不是最低,被搶占的LSP再去搶占其他更低優(yōu)先級LSP中的鏈路,低優(yōu)先級LSP頻繁被建立與搶占,低優(yōu)先級LSP的流量也頻繁被中斷,導(dǎo)致網(wǎng)絡(luò)動蕩和不穩(wěn)定。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種選擇路徑的方法,以提高鏈路的利用率和網(wǎng)絡(luò)的穩(wěn)定性。
為達(dá)到上述目的,本發(fā)明提供了一種選擇路徑的方法,包括以下步驟A、起始路由器判斷是否存在不需要搶占其他標(biāo)簽交換路徑LSP的路徑,如果存在,則執(zhí)行步驟B;否則,執(zhí)行步驟C;B、在不需要搶占其他LSP的路徑中選擇一條路徑,并結(jié)束本流程;C、在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。
上述方案中,步驟A中所述判斷是否存在不需要搶占其他LSP的路徑為起始路由器判斷自身與目的路由器之間是否至少存在一條全部鏈路上可用帶寬資源都能夠滿足新業(yè)務(wù)流量需要的路徑。
上述方案中,步驟B中所述在不需要搶占其他LSP的路徑中選擇一條路徑包括在不需要搶占其他LSP的路徑中選擇一條鏈路利用率最低的路徑。
上述方案中,所述在不需要搶占其他LSP的路徑中選擇一條鏈路利用率最低的路徑包括B1、在每條不需要搶占其他LSP的路徑中選擇一條指標(biāo)最差的鏈路;B2、將選擇的指標(biāo)最差的鏈路構(gòu)成一個集合,在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路;B3、將選擇的指標(biāo)最優(yōu)的鏈路作為鏈路利用率最低的鏈路,選擇該鏈路所在的路徑。
上述方案中,所述步驟B1包括B11、假設(shè)F(link(uv))=(SB+UB(uv))/RB(uv),其中,RB(uv)表示鏈路link(uv)上的預(yù)留總帶寬,UB(uv)表示鏈路link(uv)上的已經(jīng)被占用的總帶寬,SB表示新建LSP所需的帶寬;B12、計算每條不需要搶占其他LSP的路徑中每條鏈路的F(link(uv))值,比較每條鏈路F(link(uv))值的大小,選擇F(link(uv))值最大的鏈路作為指標(biāo)最差的鏈路。
上述方案中,步驟B12中所述F(link(uv))值最大的鏈路同時存在多條,該方法進一步包括計算并比較F(link(uv))值最大鏈路的(RB-SB-UB)值,選擇(RB-SB-UB)值最小的鏈路作為指標(biāo)最差的鏈路。
上述方案中,所述(RB-SB-UB)值最小的鏈路同時存在多條,該方法進一步包括在所述多條(RB-SB-UB)值最小的鏈路中,隨機選擇一條鏈路作為指標(biāo)最差的鏈路。
上述方案中,步驟B2中所述在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路包括計算并比較指標(biāo)最差鏈路構(gòu)成的集合中每條鏈路F(link(uv))值的大小,選擇一條F(link(uv))值最小的鏈路作為指標(biāo)最優(yōu)的鏈路。
上述方案中,所述F(link(uv))值最小的鏈路同時存在多條,該方法進一步包括計算并比較F(link(uv))值最小鏈路的(RB-SB-UB)值,選擇(RB-SB-UB)值最大的鏈路作為指標(biāo)最優(yōu)的鏈路。
上述方案中,所述(RB-SB-UB)值最大的鏈路同時存在多條,該方法進一步包括在所述多條(RB-SB-UB)值最大鏈路所屬的路徑中,分別剔除各自包含的所述(RB-SB-UB)值大的鏈路,并再次執(zhí)行步驟B1和B2,直至選擇出一條指標(biāo)最優(yōu)的鏈路。
上述方案中,所述在剔除各自包含的所述(RB-SB-UB)值大的鏈路的過程中,某條路徑中的鏈路被全部剔除,步驟B3中選擇的路徑為所述鏈路被全部剔除的路徑。
上述方案中,步驟B中所述在不需要搶占其他LSP的路徑中選擇一條路徑包括在不需要搶占其他LSP的路徑中選擇一條鏈路數(shù)量最少的路徑。
上述方案中,所述在不需要搶占其他LSP的路徑中選擇一條鏈路數(shù)量最少的路徑包括B1′、在不需要搶占其他LSP的路徑中計算每條路徑所包含鏈路的數(shù)量;B2′、比較計算出的每條路徑所包含鏈路的數(shù)量,選擇鏈路數(shù)量最少的路徑。
上述方案中,步驟B2′中所述鏈路數(shù)量最少的路徑同時存在多條,該方法進一步包括將鏈路數(shù)量最少的路徑構(gòu)成一個集合,假設(shè)P(path(u))=F(link(u1))+F(link(u2))+...F(link(un)),其中F(link(uv))=(SB+UB(uv))/RB(uv),根據(jù)公式P(path(u))=F(link(u1))+F(link(u2))+...F(link(un))計算該集合中每條路徑的P(path(u))值,選擇P(path(u))值最小的路徑。
上述方案中,所述P(path(u))值最小的路徑同時存在多條,該方法進一步包括在所述多條P(path(u))值最小的路徑中隨機選擇一條路徑。
上述方案中,所述步驟C包括C1、對內(nèi)部路由網(wǎng)關(guān)協(xié)議IGP進行擴展,在每條需要搶占其他LSP的路徑中選擇一條指標(biāo)最差的鏈路;C2、將選擇的指標(biāo)最差的鏈路構(gòu)成一個集合,在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路;
C3、將選擇的指標(biāo)最優(yōu)的鏈路作為等效搶占LSP數(shù)量最少的鏈路,選擇該鏈路所在的路徑。
上述方案中,所述路徑為點到點的單播路徑,所述步驟C1包括C11、在IGP的中間系統(tǒng)到中間系統(tǒng)IS-IS協(xié)議中引入新的類型長度值TLV,或者在IGP的開放最短路徑優(yōu)先OSPF協(xié)議中引入新的鏈路狀態(tài)通告LSA,在新引入的TLV或LSA中存放每條鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息;C12、假設(shè)E(link(uv))與LSP(uvrt)之間的關(guān)系式,其中E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,LSP(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的LSP被搶占的數(shù)量;將每條鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息代入所述E(link(uv))與LSP(uvrt)之間的關(guān)系式,計算每條鏈路的E(link(uv))值;C13、在每條需要搶占其他LSP的路徑中比較每條鏈路E(link(uv))值的大小,將E(link(uv))值最大的鏈路作為該路徑中指標(biāo)最差的鏈路。
上述方案中,所述路徑為點到多點的組播路徑,所述步驟C1包括C11′、在IGP的IS-IS協(xié)議中引入新的TLV,或者在IGP的OSPF協(xié)議中引入新的LSA,在新引入的TLV或LSA中存放每條鏈路上LSP的數(shù)量、優(yōu)先級別、帶寬級別和組播組地址信息;C12′、假設(shè)E(link(uv))與LSP(uvrt)之間的關(guān)系式,其中E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+...+LSPMn(uvrt),LSPs(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的單播LSP被搶占的數(shù)量,LSPMn(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的組播路徑n被搶占的數(shù)量;將每條鏈路上LSP的數(shù)量、優(yōu)先級別、帶寬級別和組播組地址信息代入所述E(link(uv))與LSP(uvrt)之間的關(guān)系式,計算每條鏈路的E(link(uv))值;C13′、在每條需要搶占其他LSP的路徑中比較每條鏈路E(link(uv))值的大小,將E(link(uv))值最大的鏈路作為該路徑中指標(biāo)最差的鏈路。
上述方案中,步驟C13或C13′中所述E(link(uv))值最大的鏈路同時存在多條,該方法進一步包括計算并比較同時存在的多條E(link(uv))值最大的鏈路上所有被搶占的LSP數(shù)量的總和,選擇所有被搶占LSP數(shù)量總和最大的鏈路作為指標(biāo)最差的鏈路。
上述方案中,所述被搶占的LSP數(shù)量的總和最大的鏈路同時存在多條,該方法進一步包括在所述多條被搶占的LSP數(shù)量的總和最大的鏈路中隨機選擇一條鏈路作為指標(biāo)最差的鏈路。
上述方案中,步驟C2中所述在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路包括計算并比較指標(biāo)最差鏈路構(gòu)成的集合中每條鏈路E(link(uv))值的大小,選擇一條E(link(uv))值最小的鏈路作為指標(biāo)最優(yōu)的鏈路。
上述方案中,所述E(link(uv))值最小的鏈路同時存在多條,該方法進一步包括計算并比較多條E(link(uv))值最小鏈路被搶占LSP數(shù)量總和的大小,選擇一條被搶占LSP數(shù)量總和最小的鏈路作為指標(biāo)最優(yōu)的鏈路。
上述方案中,所述被搶占的LSP數(shù)量的總和最小的鏈路同時存在多條,該方法進一步包括在多條被搶占的LSP數(shù)量的總和最小鏈路所屬的路徑中,分別剔除各自包含的所述被搶占的LSP數(shù)量的總和最小的鏈路,并再次執(zhí)行步驟C1和C2,直至選擇出一條指標(biāo)最優(yōu)的鏈路。
上述方案中,所述在剔除各自包含的所述被搶占的LSP數(shù)量的總和最小的鏈路的過程中,某條路徑中的鏈路被全部剔除,步驟C3中選擇的路徑為所述鏈路被全部剔除的路徑。
因此,本發(fā)明提供的這種選擇路徑的方法,通過判斷是否存在不需要搶占其他LSP的路徑,如果存在,則起始路由器選擇不需要搶占其他LSP的路徑中的路徑;否則,起始路由器在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。
利用本發(fā)明,在不需要搶占其他LSP中的鏈路時,起始路由器選擇不需要搶占其他LSP的路徑中的路徑,避免了在不需要搶占其他LSP中的鏈路時發(fā)生搶占。因此,本發(fā)明一方面提高了整個網(wǎng)絡(luò)的穩(wěn)定性,另一方面也使整個網(wǎng)絡(luò)的流量分布趨于均衡,大大提高了整個網(wǎng)絡(luò)中鏈路的利用率。另外,在不需要搶占其他LSP中的鏈路時,路由器進一步選擇不需要搶占的LSP中鏈路利用率最低的路徑,或者進一步選擇不需要搶占其他LSP中鏈路數(shù)量最少的路徑,進一步使整個網(wǎng)絡(luò)的流量分布趨于均衡,并且進一步提高了整個網(wǎng)絡(luò)中鏈路的利用率和整個網(wǎng)絡(luò)的穩(wěn)定性。
利用本發(fā)明,在需要搶占其他LSP中的鏈路時,對于選擇點到點的單播路徑,綜合考慮了被搶占的LSP優(yōu)先級別和被搶占LSP中被搶占的鏈路數(shù)量兩方面的因素;對于選擇點到多點的組播路徑,不但綜合考慮了被搶占的LSP優(yōu)先級別和搶占鏈路上搶占LSP數(shù)量兩方面的因素,而且還考慮了搶占鏈路所處組播路徑在搶占鏈路下游所擁有的分支鏈路的數(shù)量,以及搶占鏈路是否與已建立的屬于同一組播路徑的鏈路發(fā)生重合兩方面的因素。這樣一來,使被搶占的LSP不可能再去搶占其他LSP中的鏈路,解決了低優(yōu)先級LSP頻繁被建立與搶占,低優(yōu)先級LSP的流量也頻繁被中斷的問題,所以本發(fā)明大大提高了網(wǎng)絡(luò)的穩(wěn)定性。
圖1為MPLS TE結(jié)構(gòu)示意圖;圖2為采用MPLS TE中的CSPF算法選擇路徑的示意圖;圖3為本發(fā)明選擇路徑總體技術(shù)方案的實現(xiàn)流程圖;圖4為單播情況下選擇等效搶占LSP數(shù)量最少的鏈路所在路徑的示意圖;圖5為組播情況下選擇等效搶占LSP數(shù)量最少的鏈路所在路徑的示意圖;圖6為本發(fā)明選擇等效搶占LSP數(shù)量最少鏈路所在路徑的方法流程圖;圖7為本發(fā)明在不需要搶占其他LSP的路徑中選擇鏈路利用率最低的路徑的方法流程圖;圖8為本發(fā)明在不需要搶占其他LSP的路徑中選擇鏈路數(shù)量最少的路徑的方法流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下舉實施例,并參照附圖,對本發(fā)明進一步詳細(xì)說明。
本發(fā)明的核心內(nèi)容是通過判斷是否存在不需要搶占其他LSP的路徑,如果存在,則起始路由器選擇不需要搶占其他LSP的路徑中的路徑;否則,起始路由器在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。
如圖3所示,圖3為本發(fā)明選擇路徑總體技術(shù)方案的實現(xiàn)流程圖,該方法包括以下步驟步驟301起始路由器判斷是否存在不需要搶占其他LSP的路徑,如果存在,則執(zhí)行步驟302;否則,執(zhí)行步驟303;步驟302選擇不需要搶占其他LSP的路徑中的路徑,并結(jié)束本流程;步驟303在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。
上述步驟301判斷是否存在不需要搶占其他LSP的路徑,是起始路由器判斷自身與目的路由器之間是否至少存在一條全部鏈路上可用帶寬資源都能夠滿足新業(yè)務(wù)流量需要的路徑,如果是,則存在不需要搶占其他LSP的路徑,起始路由器也不需要搶占其他LSP中的鏈路;否則,不存在不需要搶占其他LSP的路徑,起始路由器需要搶占其他LSP中的鏈路。
即如果在起始路由器與目的路由器之間至少存在一條路徑,該路徑中每條鏈路上可用的帶寬資源都能夠滿足新業(yè)務(wù)流量的需要,則起始路由器判定在起始路由器與目的路由器之間存在不需要搶占其他LSP的路徑。如果在起始路由器與目的路由器之間不存在如下所述的一條路徑,該路徑中每條鏈路上可用的帶寬資源都能夠滿足新業(yè)務(wù)流量的需要,則起始路由器判定在起始路由器與目的路由器之間不存在不需要搶占其他LSP的路徑。
在上述步驟302中,為了使網(wǎng)絡(luò)流量分布趨于均衡,并提高整個網(wǎng)絡(luò)中鏈路的利用率,在存在不需要搶占其他LSP的路徑時,起始路由器在不需要搶占其他LSP的路徑中選擇一條路徑。另外,作為本發(fā)明技術(shù)方案的優(yōu)化,為使網(wǎng)絡(luò)流量分布更加趨于均衡,并進一步提高整個網(wǎng)絡(luò)中鏈路的利用率,在存在不需要搶占其他LSP的路徑時,起始路由器在不需要搶占其他LSP的路徑中選擇一條鏈路利用率最低的路徑,或者選擇一條鏈路數(shù)量最少的路徑。
由于LSP一般有0、1、...、7等八個優(yōu)先級別,且優(yōu)先級從0到7依次遞減,優(yōu)先級別高的LSP中的鏈路被搶占以后,將會搶占其他優(yōu)先級別比自身低的LSP中的鏈路,引起網(wǎng)絡(luò)的動蕩和不穩(wěn)定。因此,為使起始路由器在搶占其他LSP中的鏈路后,被搶占的LSP不再去搶占其他的LSP,降低對整個網(wǎng)絡(luò)穩(wěn)定性的影響,提高網(wǎng)絡(luò)的穩(wěn)定性,起始路由器應(yīng)優(yōu)先選擇優(yōu)先級別最低的LSP中的鏈路來搶占。
由于在不同的LSP中起始路由器需要搶占的鏈路的數(shù)量可能是不同的,每條被搶占鏈路又可能同時屬于多條LSP,起始路由器需要搶占的鏈路所屬LSP的數(shù)量越多,搶占LSP的數(shù)量也就越多,進而對整個網(wǎng)絡(luò)穩(wěn)定性的影響也就越大。因此,為降低對整個網(wǎng)絡(luò)穩(wěn)定性的影響,提高網(wǎng)絡(luò)的穩(wěn)定性,起始路由器還應(yīng)該優(yōu)先選擇搶占鏈路上搶占LSP數(shù)量最少的鏈路所在的路徑來搶占。
上述步驟303在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑時,對于選擇點到點的單播路徑,需要綜合考慮上述被搶占的LSP優(yōu)先級別和搶占鏈路上搶占LSP數(shù)量兩方面的因素。對于選擇點到多點的組播路徑,不但需要綜合考慮上述被搶占的LSP優(yōu)先級別和搶占鏈路上搶占LSP數(shù)量兩方面的因素,而且還需要考慮以下兩方面的因素一、搶占鏈路所處組播路徑在搶占鏈路下游所擁有的分支鏈路的數(shù)量。
如果在某個鏈路的某個優(yōu)先級別某個帶寬級別上存在有多條LSP,且算法已經(jīng)計算出只需搶占一部分LSP,則對于組播路徑起始路由器應(yīng)優(yōu)先選擇在搶占鏈路下游擁有分支鏈路數(shù)量最少的組播路徑來搶占;對于單播路徑,由于下游擁有分支鏈路數(shù)量為0,所以可以隨便搶占一條。
對于組播路徑,由于選擇搶占鏈路所處的組播路徑后,該組播路徑下游分支鏈路上的業(yè)務(wù)也將被迫終斷,所以,如果搶占鏈路所處組播路徑在搶占鏈路下游所擁有的分支鏈路的數(shù)量越多,則業(yè)務(wù)被迫終斷的鏈路也將越多,這樣對整個網(wǎng)絡(luò)穩(wěn)定性的影響也將越嚴(yán)重。因此,為降低對整個網(wǎng)絡(luò)穩(wěn)定性的影響,提高網(wǎng)絡(luò)的穩(wěn)定性,起始路由器應(yīng)優(yōu)先選擇在搶占鏈路下游擁有分支鏈路數(shù)量最少的組播路徑來搶占。
二、搶占鏈路是否與已建立的屬于同一組播路徑的鏈路發(fā)生重合。
如果搶占鏈路與已建立的屬于同一組播路徑的鏈路發(fā)生重合,則可以直接接收重合鏈路傳輸?shù)慕M播數(shù)據(jù),重合鏈路上搶占LSP數(shù)量為0,即在重合鏈路并沒有發(fā)生搶占。因此,起始路由器應(yīng)該優(yōu)先選擇搶占鏈路與已建立的屬于同一組播路徑的鏈路發(fā)生重合的組播路徑。
鏈路上等效搶占LSP的數(shù)量可以通過E(link(uv))與LSP(uvrt)之間的關(guān)系式計算得出,E(link(uv))與LSP(uvrt)之間的關(guān)系式如下E(link(uv))=(1/127)(LSP(uv71)/(1+2+...+2^(t-1))+...+LSP(uv7t)*2^(t-1)/(1+2+...+2^(t-1)))+(2/127)(LSP(uv61)/(1+2+...+2^(t-1))+...+LSP(uv6t)*2^(t-1)/(1+2+...+2^(t-1)))+...
+(64/127)(LSP(uv11)/(1+2+...+2^(t-1))+...+LSP(uv1t)*2^(t-1)/(1+2+...+2^(t-1)))其中,E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,對于選擇點到點的單播路徑,LSP(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的LSP被搶占的數(shù)量;對于選擇點到多點的組播路徑,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+...+LSPMn(uvrt),其中,LSPs(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的單播LSP被搶占的數(shù)量,LSPMn(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的組播路徑n被搶占的數(shù)量。
以下結(jié)合單播和組播兩種情況,詳細(xì)說明起始路由器在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。
一、對于選擇點到點的單播路徑,選擇搶占鏈路上等效搶占LSP數(shù)量最少的鏈路所在的路徑。
如圖4所示,圖4為單播情況下選擇等效搶占LSP數(shù)量最少的鏈路所在路徑的示意圖。假設(shè)存在有路徑1A→B→E→C和路徑2A→D→E→C兩條路徑,以下分別對路徑1和路徑2進行考察對于路徑1而言,假設(shè)路徑1中鏈路AB和EC需要從其他LSP中搶占,且鏈路AB同屬于3條LSP,其中1條為優(yōu)先級別為1帶寬級別為3的LSP,另外2條為優(yōu)先級別為3帶寬級別為2的LSP,被搶占的LSP共有1K、2K和4K三種帶寬級別,則根據(jù)上述單播情況下E(link(uv))與LSP(uvrt)之間的關(guān)系式可以計算得出鏈路AB上等效搶占LSP的數(shù)量為E(link(uv))=(64/127)(2^(3-1)/(1+2+4))+(16/127)((2^(2-1)+2^(2-1))/(1+2+4))=0.36。
假設(shè)鏈路EC同時屬于2條LSP,其中一條為優(yōu)先級別為2帶寬級別為3的LSP,另外一條為優(yōu)先級別為3帶寬級別為2的LSP,則根據(jù)上述單播情況下E(link(uv))與LSP(uvrt)之間的關(guān)系式可以計算得出鏈路EC上等效搶占LSP的數(shù)量為E(link(uv))=(32/127)(2^(3-1)/(1+2+4))+(16/127)((2^(2-1))/(1+2+4))=0.18。
比較計算得出的E(link(uv))值,選擇E(link(uv))值較大的鏈路,即在路徑1中選擇的鏈路為AB。
對于路徑2而言,假設(shè)在路徑2中鏈路AD、DE和EC都需要從其他LSP中搶占,根據(jù)各鏈路所屬LSP及上述E(link(uv))與LSP(uvrt)之間的關(guān)系式分別計算鏈路AD、DE和EC的E(link(uv))值,然后比較鏈路AD、DE和EC的E(link(uv))值,選擇E(link(uv))值最大的鏈路。在本實施例中假設(shè)在路徑2中選擇的鏈路為DE。
對上述路徑1和路徑2都選擇出E(link(uv))值最大,即指標(biāo)最差的鏈路以后,再次在選擇出的鏈路中比較各鏈路的E(link(uv))值,選擇E(link(uv))值最小的鏈路所在的路徑。在本實施例中,即在路徑1中選擇鏈路AB和在路徑2中選擇鏈路DE以后,再次比較鏈路AB和DE的E(link(uv))值,選擇鏈路EC和DE中E(link(uv))值較小的鏈路所在的路徑。
根據(jù)上述方式針對點到點的單播路徑選擇出的搶占鏈路上等效搶占LSP數(shù)量最少的鏈路所在的路徑,即為綜合考慮了被搶占的LSP優(yōu)先級別和搶占鏈路上搶占LSP數(shù)量兩方面因素的路徑。
在針對點到點的單播路徑選擇搶占鏈路上等效搶占LSP數(shù)量最少的鏈路所在的路徑時,利用了鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息,該信息在現(xiàn)有的IGP協(xié)議中并沒有公布。因此,為了使路由器在需要搶占其他LSP中的鏈路時,能夠根據(jù)鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息,選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑,本發(fā)明進一步對MPLS TE結(jié)構(gòu)中的信息發(fā)布單元的功能進行增強,對現(xiàn)有的IGP協(xié)議進行擴展,用于發(fā)布鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息。
在對現(xiàn)有IGP協(xié)議進行擴展時,由于IGP協(xié)議主要包括IS-IS協(xié)議和OSPF協(xié)議,所以一般是在IS-IS協(xié)議中引入新的TLV,或者在OSPF協(xié)議中引入新的LSA,在新引入的TLV或LSA中存放鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息。
二、對于選擇點到多點的組播路徑,選擇搶占鏈路上等效搶占LSP數(shù)量最少的鏈路所在的路徑。
如圖5所示,圖5為組播情況下選擇等效搶占LSP數(shù)量最少的鏈路所在路徑的示意圖。假設(shè)有6個標(biāo)記交換路由器(LSR)LSR1、LSR2、LSR3、LSR4、LSR5和LSR6,鏈路1、鏈路2和鏈路5上的帶寬為16M,鏈路3、鏈路4和鏈路6的帶寬為32M,且已經(jīng)建立了如下4條優(yōu)先級別為r帶寬級別為t組播路徑LSP1LSR1→LSR2→LSR4,組播組地址為D1,占用帶寬為16M,如圖中“—”所示路徑;LSP2LSR1→LSR3→LSR6,組播組地址為D2,占用帶寬為16M,如圖中“——-”所示路徑; 組播組地址為D3,占用帶寬為16M,如圖中“—--—”所示路徑;
LSP4LSR2→LSR5,單播LSP,占用帶寬為16M,如圖中“---”所示路徑。
現(xiàn)在LSR5想要加入組播組地址為D1的組播,所需帶寬為16M,LSR1根據(jù)TED中保存的信息找到兩條都需要搶占鏈路的候選路徑LSP5和LSP6,其中LSP5LSR1→LSR2→LSR5,如圖中“——”所示路徑;LSP6LSR1→LSR3→LSR5,如圖中“—-—”所示路徑。以下分別對LSP5和LSP6進行考察對于LSP5而言,LSP5由鏈路1和鏈路2構(gòu)成,由于鏈路1屬于組播組地址D1,是一個已建好的可以共用的鏈路,所以,在鏈路1上不發(fā)生搶占。由于鏈路2的帶寬為16M,鏈路2上有一個占用帶寬為16M的單播LSP4,所以,需要搶占LSP4中的鏈路2。因此,在LSP5中鏈路2為指標(biāo)最差的鏈路。
對于LSP6而言,LSP6由鏈路3和鏈路4構(gòu)成,由于鏈路4的帶寬為32M,鏈路4被路徑LSP3占用了16M,剩余的可用帶寬為32-16=16M,能夠滿足LSR5加入組播組地址為D1的組播的帶寬需求,所以,在鏈路4上不發(fā)生搶占。由于鏈路3的帶寬為32M,鏈路3被路徑LSP2和LSP3分別占用了16M,剩余的可用帶寬為0,所以,需要搶占LSP2或LSP3中的鏈路3。
在選擇搶占LSP2或LSP3時,由于LSP2在鏈路3的下游有1個分支節(jié)點LSR6,LSP3在鏈路3的下游有2個分支節(jié)點LSR5和LSR6,如果搶占LSP2中的鏈路3,則等效搶占鏈路的數(shù)量為2=1(鏈路3本身)+1(鏈路3的下游鏈路6);如果搶占LSP3中的鏈路3,則等效搶占鏈路的數(shù)量為3=1(鏈路3本身)+2(鏈路3的下游鏈路5和鏈路6)。因此,為了盡量減少搶占對組播下游鏈路造成的影響,選擇搶占LSP2中的鏈路3。當(dāng)然,此時已確定在LSP6中鏈路3為指標(biāo)最差的鏈路。
對上述LSP5和LSP6都選擇出指標(biāo)最差的鏈路后,再次在選擇出的鏈路中比較各鏈路的E(link(uv))值,選擇E(link(uv))值最小的鏈路所在的路徑。
對于鏈路2和鏈路3,由于鏈路2需要搶占一個占用帶寬為16M的單播LSP,其等效搶占鏈路的數(shù)量為1;而鏈路3需要搶占一個組播路徑LSP2,其等效搶占鏈路的數(shù)量為2,所以,選擇等效搶占鏈路的數(shù)量少的鏈路所在的路徑,即選擇鏈路2所在的路徑LSP4來搶占。
根據(jù)上述方式針對點到多點的組播路徑選擇出的搶占鏈路上等效搶占LSP數(shù)量最少的鏈路所在的路徑,不但綜合考慮了被搶占的LSP優(yōu)先級別和搶占鏈路上搶占LSP數(shù)量兩方面的因素,而且考慮了搶占鏈路所處組播路徑在搶占鏈路下游所擁有的分支鏈路的數(shù)量,以及搶占鏈路是否與已建立的屬于同一組播路徑的鏈路發(fā)生重合兩方面的因素。
在上述針對點到多點的組播路徑選擇搶占鏈路上等效搶占LSP數(shù)量最少的鏈路所在的路徑時,除了增加發(fā)布鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息,還需要增加發(fā)布鏈路上每條LSP對應(yīng)的組播組地址信息。鏈路上每條LSP對應(yīng)的組播組地址信息,也被存放在對現(xiàn)有IGP協(xié)議進行擴展時在IS-IS協(xié)議中引入新的TLV,或者在OSPF協(xié)議中引入新的LSA中。
此時,信息發(fā)布組件公布的信息增多,各節(jié)點流量工程數(shù)據(jù)庫(TED)為維護這些公布的信息需要耗費更多的內(nèi)存。為了減少內(nèi)存的消耗,本發(fā)明定義了允許鏈路上組播LSP的最大個數(shù)N,由N來限制信息發(fā)布的數(shù)量和TED中表項的規(guī)模。在選擇候選路徑時,N作為一個約束條件,當(dāng)鏈路上組播LSP的個數(shù)大于等于N時,該鏈路所在的候選路徑將直接被剔除。
該另外,定義允許鏈路上組播LSP的最大個數(shù)N還可以自然地分散網(wǎng)絡(luò)中業(yè)務(wù)流量,使網(wǎng)絡(luò)中的業(yè)務(wù)分散,滿足流量工程的特點和需求。
為了能夠更加清楚地說明本發(fā)明提供的這種選擇路徑的方法,以下結(jié)合具體的實施例并參照附圖,分別對在需要搶占時起始路由器選擇路徑的方法,以及在不需要搶占時起始路由器選擇路徑的方法進行詳細(xì)說明。
假設(shè)系統(tǒng)允許最多有t個帶寬級別,t越大帶寬值越高。假設(shè)滿足約束的所有路徑為path(1)、path(2)、...、path(u)、...、path(g),path(u)包括v條鏈路,分別為link(u1)、link(u2)、...、link(uv),其中1<=u<=g,且t、u、v和g均為自然數(shù)。假設(shè)RB(uv)表示鏈路link(uv)上的預(yù)留總帶寬,UB(uv)表示鏈路link(uv)上的已經(jīng)被占用的總帶寬,SB表示新建LSP所需的帶寬。
如圖6所示,圖6為本發(fā)明選擇等效搶占LSP數(shù)量最少鏈路所在路徑的方法流程圖,該方法包括以下步驟
步驟601根據(jù)LSP的優(yōu)先級別和帶寬級別確定需要搶占其他LSP的路徑。
對于點到點的單播路徑,具體確定需要搶占其他LSP的路徑的方法如下假設(shè)單播情況下E(link(uv))與LSP(uvrt)之間的關(guān)系式為E(link(uv))=(1/127)(LSP(uv71)/(1+2+...+2^(t-1))+...+LSP(uv7t)*2^(t-1)/(1+2+...+2^(t-1)))+(2/127)(LSP(uv61)/(1+2+...+2^(t-1))+...+LSP(uv6t)*2^(t-1)/(1+2+...+2^(t-1)))+...
+(64/127)(LSP(uv11)/(1+2+...+2^(t-1))+...+LSP(uv1t)*2^(t-1)/(1+2+...+2^(t-1)))其中,E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,LSP(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的LSP被搶占的數(shù)量。
1)、首先對所有LSP依照用于帶寬資源搶占的優(yōu)先級,分別對各優(yōu)先級中的所有LSP按占用帶寬的大小排序,形成如下式表示的數(shù)量關(guān)系Wi=WLSPi1+WLSPi2+WLSPi3+......+WLSPin,WLSPi1>=WLSPi2>=WLSPi3......>=WLSPin,其中,Wi表示優(yōu)先級i中所有LSP占用的帶寬和,WLSPi1、WLSPi2、WLSPi3、......、WLSPin表示優(yōu)先級i中各LSP占用的帶寬,執(zhí)行搶占LSP的帶寬需求為PW=SB-(RB-UB),n為優(yōu)先級i中含有的總的LSP數(shù)量。
2)、找出一個最大的j,使得W7+W6+......Wj>=PW,其中j大于等于k,k為能搶占的最高的優(yōu)先級別;如果未能找到j(luò),執(zhí)行步驟7);否則,繼續(xù)執(zhí)行步驟3);3)、如果W7+W6+......Wj=PW,則優(yōu)先級7直至優(yōu)先級j中所有的LSP都被搶占,并執(zhí)行步驟7);否則,假設(shè)PWj=PW-(W7+W6+......+W(j+1)),得到j(luò)的偽代碼算法如下sum=0;for(i=7;i>=0;i--){sum=sum+Wi;if(sum>=PW){
j=i;算法完成;}}4)、在優(yōu)先級j中選擇要搶占的LSP。
找出一個最小的m,使得WLSPj1+WLSPj2+.....+WLSPjm>=PWj,如果WLSPj1+WLSPj2+.....+WLSPjm=PWj,則優(yōu)先級7直至優(yōu)先級j+1中所有的LSP和優(yōu)先級j中的LSP WLSPj1、WLSPj2.....WLSPjm被搶占,執(zhí)行步驟7);否則,在優(yōu)先級i中,選擇m條LSP,使得這m條LSP占用的帶寬之和是其他任意m條占用的帶寬之和大于PWj值中的最小值,記錄該最小值為FWs;如果FWs=PWj,則優(yōu)先級7直至優(yōu)先級j+1中所有的LSP和優(yōu)先級j中的上述m條LSP被搶占,執(zhí)行步驟7);否則,上述m條LSP被搶占。
假設(shè)FW=FWs-PWj,N=j(luò)+1,得到m的偽代碼算法如下sum=0;for(i=1;i<=n;i++){sum=sum+WLSPji;if(sum>=PWj){m=i;算法完成;}}5)、在優(yōu)先級N中選擇要搶占的LSP。
找出一個最小的q,使得WLSP(j+1)n+WLSP(j+1)(n-1)+.....+WLSP(j+1)q<=FW。如果不能得到q,則優(yōu)先級j+1中的所有LSP都被搶占,轉(zhuǎn)入4);否則,如果WLSP(j+1)n+WLSP(j+1)(n-1)+.....+WLSP(j+1)q=FW,則優(yōu)先級7直至j+2中的所有LSP和優(yōu)先級j+1中占用帶寬為WLSP(j+1)1、WLSP(j+1)2、......、WLSP(j+1)(q-1)的LSP被搶占,執(zhí)行步驟7);否則,在優(yōu)先級N中,選擇q條LSP,使得這q條LSP占用的帶寬之和是其他任意q條占用的帶寬之和小于FW值的LSP中的帶寬和最大,并記錄最大值為FWr;在優(yōu)先級N中除這q條LSP外,其它所有LSP都被搶占。
假設(shè)FW=FW-Fwr,得到j(luò)的偽代碼算法如下if(WLSP(j+1)n>FW){得不到q值,退出;}q=n;sum=WLSP(j+1)n;for(i=n-1;i>=0;i--){sum=sum+WLSP(j+1)i;if(sum>PW){q值已確定,算法完成;}else{q=i;}}6)、N=N+1。若N<=7,執(zhí)行步驟2);否則,執(zhí)行步驟7)。
7)、結(jié)束。
對于點到點的單播路徑,根據(jù)上述算法可以確定需要搶占其他LSP的路徑。但是,對于點到多點的組播路徑應(yīng)結(jié)合以下規(guī)則來確定需要搶占其他LSP的路徑。具體規(guī)則如下
如果在某個鏈路某個優(yōu)先級別某個帶寬級別的LSP中,只搶占LSP中的部分鏈路,則這條LSP與其他LSP相比在搶占鏈路數(shù)據(jù)流下游所擁有分支鏈路的數(shù)量最少。對于點到點的單播路徑,可以認(rèn)為其搶占鏈路數(shù)據(jù)流下游所擁有分支鏈路的數(shù)量為0,所以單播鏈路就不用考慮這一點。這樣做的目的是盡量避免擁有較多分支的組播LSP被搶占,因為它的重新建立無疑會給網(wǎng)絡(luò)帶來更大不穩(wěn)定性。
步驟602對IGP協(xié)議進行擴展。
在對IGP協(xié)議進行擴展時,一般是在IS-IS協(xié)議中引入新的TLV,或者在OSPF協(xié)議中引入新的LSA。
對于點到點的單播路徑,在新引入的TLV或LSA中存放鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息。對于點到多點的組播路徑,在新引入的TLV或LSA中不但存放鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息,而且存放鏈路上每條LSP對應(yīng)的組播組地址信息。
步驟603在每條需要搶占其他LSP的路徑中選擇一條指標(biāo)最差的鏈路。
對于點到點的單播路徑,將增加的鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息代入上述單播情況下E(link(uv))與LSP(uvrt)之間的關(guān)系式,計算每條路徑上每條鏈路的E(link(uv))值,比較每條鏈路E(link(uv))值的大小,選擇每條路徑中E(link(uv))值最大的鏈路作為指標(biāo)最差的鏈路;其中E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,LSP(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的LSP被搶占的數(shù)量。
對于點到多點的組播路徑,將增加的鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息和組播組地址信息代入上述組播情況下E(link(uv))與LSP(uvrt)之間的關(guān)系式,計算每條路徑上每條鏈路的E(link(uv))值,比較每條鏈路E(link(uv))值的大小,選擇每條路徑中E(link(uv))值最大的鏈路作為指標(biāo)最差的鏈路;其中,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+...+LSPMn(uvrt),其中,LSPs(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的單播LSP被搶占的數(shù)量,LSPMn(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的組播路徑n被搶占的數(shù)量。
在比較每條鏈路E(link(uv))值大小的過程中,如果所述每條路徑中E(link(uv))值最大的鏈路同時存在多條,則計算并比較同時存在的多條E(link(uv))值最大的鏈路上所有被搶占的LSP數(shù)量的總和,選擇所有被搶占LSP數(shù)量總和最大的鏈路作為指標(biāo)最差的鏈路。
在比較同時存在的多條E(link(uv))值最大的鏈路上所有被搶占的LSP數(shù)量總和的過程中,如果所述被搶占的LSP數(shù)量的總和最大的鏈路同時存在多條,則在所述多條被搶占的LSP數(shù)量的總和最大的鏈路中隨機選擇一條鏈路作為指標(biāo)最差的鏈路。
步驟604將選擇的指標(biāo)最差的鏈路構(gòu)成一個集合,在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路。
在從指標(biāo)最差鏈路構(gòu)成的集合中選擇出指標(biāo)最優(yōu)的鏈路的過程中,首先計算并比較指標(biāo)最差鏈路構(gòu)成的集合中每條鏈路的E(link(uv))值,選擇E(link(uv))值最小的鏈路作為指標(biāo)最優(yōu)的鏈路;在選擇E(link(uv))值最小鏈路的過程中,如果同時存在多條E(link(uv))值最小的鏈路,則計算并比較同時存在的多條E(link(uv))值最小的鏈路上所有被搶占的LSP數(shù)量的總和,選擇所有被搶占LSP數(shù)量總和最小的鏈路作為指標(biāo)最優(yōu)的鏈路;在比較同時存在的多條E(link(uv))值最大的鏈路上所有被搶占的LSP數(shù)量總和的過程中,如果所述被搶占的LSP數(shù)量的總和最小的鏈路同時存在有多條,則在多條被搶占的LSP數(shù)量的總和最小鏈路所屬的路徑中,分別剔除各自包含的所述被搶占的LSP數(shù)量的總和最小的鏈路,并再次執(zhí)行步驟603和604,直至選擇出一條指標(biāo)最優(yōu)的鏈路;如果所述被搶占的LSP數(shù)量的總和最小的鏈路只有一條,則選擇該鏈路作為指標(biāo)最優(yōu)的鏈路。
步驟605將選擇的指標(biāo)最優(yōu)的鏈路作為等效搶占LSP數(shù)量最少的鏈路,選擇該鏈路所在的路徑。
另外,在步驟604中,如果在剔除各自包含的所述被搶占的LSP數(shù)量的總和最小的鏈路的過程中,某條路徑中的鏈路被全部剔除,則選擇該條路徑。
假設(shè)所有滿足約束的路徑有g(shù)’條,g’條路徑分別為path(1’)、path(2’)、...、path(u’)、...、path(g’),path(u’)包括v’條鏈路,分別為link(u’1’)、link(u’2’)、...、link(u’v’),其中,1’<=u’<=g’,且u’、v’和g’都為自然數(shù)。假設(shè)F(link(u’v’))=(SB+UB(u’v’))/RB(u’v’),其中,RB(u’v’)表示鏈路link(u’v’)上的預(yù)留總帶寬,UB(u’v’)表示鏈路link(u’v’)上的已經(jīng)被占用的總帶寬,SB表示新建LSP所需的帶寬。
如圖7所示,圖7為本發(fā)明在不需要搶占其他LSP的路徑中選擇鏈路利用率最低的路徑的方法流程圖,該方法包括以下步驟步驟701在每條不需要搶占其他LSP的路徑中選擇一條指標(biāo)最差的鏈路。
在選擇每條路徑中指標(biāo)最差的鏈路的過程中,對于每條路徑中的每條鏈路,根據(jù)上述關(guān)系式F(link(u’v’))=(SB+UB(u’v’))/RB(u’v’),計算每條路徑上每條鏈路的F(link(u’v’))值,比較每條鏈路F(link(u’v’))的大小,選擇F(link(u’v’))值最大的鏈路作為指標(biāo)最差的鏈路;在比較每條鏈路F(link(u’v’))值大小的過程中,如果所述每條路徑中F(link(u’v’))值最大的鏈路同時存在多條,則計算并比較F(link(u’v’))值最大鏈路的(RB-SB-UB)值,選擇(RB-SB-UB)值最小的鏈路作為指標(biāo)最差的鏈路;在比較F(link(u’v’))值最大鏈路(RB-SB-UB)值的過程中,如果所述(RB-SB-UB)值最小的鏈路同時存在多條,則在所述多條(RB-SB-UB)值最小的鏈路中隨機選擇一條鏈路作為指標(biāo)最差的鏈路。
步驟702將選擇的指標(biāo)最差的鏈路構(gòu)成一個集合,在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路。
在從指標(biāo)最差鏈路構(gòu)成的集合中選擇出指標(biāo)最優(yōu)的鏈路的過程中,首先計算并比較指標(biāo)最差鏈路構(gòu)成的集合中每條鏈路的F(link(u’v’))值,選擇F(link(u’v’))值最小的鏈路作為指標(biāo)最優(yōu)的鏈路;在選擇F(link(u’v’))值最小鏈路的過程中,如果存在多條鏈路指標(biāo)值都一樣優(yōu)的情況,則計算并比較同時存在的多條F(link(u’v’))值最小的鏈路的(RB-SB-UB)值,選擇(RB-SB-UB)值最大的鏈路作為指標(biāo)最優(yōu)的鏈路;在選擇(RB-SB-UB)值最大鏈路的過程中,如果所述(RB-SB-UB)值最大的鏈路同時存在多條,則在多條(RB-SB-UB)值最大鏈路所屬的路徑中,分別剔除各自包含的所述(RB-SB-UB)值大的鏈路,并再次執(zhí)行步驟701和702,直至選擇出一條指標(biāo)最優(yōu)的鏈路;如果所述(RB-SB-UB)值最大的鏈路只有一條,則選擇該鏈路作為指標(biāo)最優(yōu)的鏈路。
步驟703將選擇的指標(biāo)最優(yōu)的鏈路作為鏈路利用率最低的鏈路,選擇該鏈路所在的路徑。
另外,在步驟702中,如果在剔除各自包含的所述(RB-SB-UB)值大的鏈路的過程中,某條路徑中的鏈路被全部剔除,則選擇該條路徑。
在不需要搶占其他LSP時,利用基于圖7所示的在不需要搶占其他LSP的路徑中選擇鏈路利用率最低的路徑的方法,雖然可以達(dá)到本發(fā)明提高鏈路利用率和網(wǎng)絡(luò)穩(wěn)定性的目的,但是,該方法忽視了下面這樣一種情況例如,現(xiàn)有兩條滿足約束條件的不需要搶占其他LSP中鏈路的候選路徑path(1)、path(2),這兩條路徑都能夠為需要建立的路徑提供足夠的帶寬。其中,path(1)有10條鏈路,最低的鏈路利用率為10%;path(2)有2條鏈路,最低的鏈路利用率為20%?,F(xiàn)在要建立一條帶寬10M的LSP,按照圖7所示的方法,由于path(1)中最低的鏈路利用率小于path(2)中最低的鏈路利用率,所以選擇path(1)這條路徑。但是,如果選擇path(1)這條路徑,則要分配10M×10的總帶寬,而選擇path(2)這條路徑,只要分配10M×2的總帶寬就可以了,顯然選擇path(2)分配的總帶寬要小得多,選擇path(2)也更為合理。
基于上述分析,在不需要搶占其他LSP時,本發(fā)明提供了另外一種選擇不需要搶占其他LSP的方法。如圖8所示,圖8為本發(fā)明在不需要搶占其他LSP的路徑中選擇鏈路數(shù)量最少的路徑的方法流程圖,該方法包括以下步驟步驟801在不需要搶占其他LSP的路徑中計算每條路徑所包含鏈路的數(shù)量。
步驟802根據(jù)計算出的每條路徑所包含的鏈路的數(shù)量,判斷鏈路數(shù)量最少的路徑是否只有1條,如果是,則執(zhí)行步驟803;否則,執(zhí)行步驟804。
步驟803選擇鏈路數(shù)量最少的路徑,結(jié)束本流程。
步驟804如果鏈路數(shù)量最少的路徑同時存在有多條,則將鏈路數(shù)量最少的路徑構(gòu)成一個集合,假設(shè)F(link(uv))=(SB+UB(uv))/RB(uv),其中,RB(uv)表示鏈路link(uv)上的預(yù)留總帶寬,UB(uv)表示鏈路link(uv)上的已經(jīng)被占用的總帶寬,SB表示新建LSP所需的帶寬,根據(jù)公式P(path(u))=F(link(u1))+F(link(u2))+...F(link(un))計算該集合中每條路徑的P(path(u))值,判斷P(path(u))值最小的路徑是否只有1條,如果是,則執(zhí)行步驟805;否則,執(zhí)行步驟806。
步驟805選擇P(path(u))值最小的路徑,結(jié)束本流程;步驟806在多條P(path(u))值最小的路徑中隨機選擇一條路徑。
在本發(fā)明圖8所示的實施例中,為了能夠迅速選擇出鏈路數(shù)量最少的路徑,可以在步驟801與步驟802之間進一步定義一個用戶對鏈路數(shù)量的容忍度G。假設(shè)步驟801計算出的每條路徑所包含的鏈路的數(shù)量由小到大的順序依次為N1、N2、......、Nm,其中m為路徑的數(shù)量,從這m條路徑中剔除n條路徑后,剩余的j條路徑都滿足G≥Nj/N1。其中m、n、j都為自然數(shù),且n+j=m。利用定義的用戶對鏈路數(shù)量的容忍度G,可以首先在不需要搶占其他LSP中鏈路的路徑中剔除這樣的路徑該路徑中鏈路數(shù)量與最小鏈路數(shù)量的比值大于鏈路數(shù)量的容忍度G的路徑,使步驟802在選擇鏈路數(shù)量最少的路徑時,選擇的范圍減小,更容易選擇出鏈路數(shù)量最少的路徑。這樣的技術(shù)方案與本發(fā)明提供的技術(shù)方案在思路上是一致的,應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
另外,在本發(fā)明圖8所示的實施例中,為了能夠更加迅速地選擇出鏈路數(shù)量最少的路徑,還可以在步驟801與步驟802之間,或者在利用定義的用戶對鏈路數(shù)量的容忍度G剔除鏈路數(shù)量大于鏈路數(shù)量的容忍度G的路徑后,進一步對不需要搶占其他LSP中鏈路的路徑計算該路徑中每條鏈路負(fù)載率F(link(uv))的值,其中F(link(uv))=(SB+UB(uv))/RB(uv),然后定義一個用戶對鏈路負(fù)載率的容忍度H,利用鏈路負(fù)載率的容忍度H剔除鏈路負(fù)載率大于鏈路負(fù)載率的容忍度H的路徑,使步驟802在選擇鏈路數(shù)量最少的路徑時,選擇的范圍減小,更容易選擇出鏈路數(shù)量最少的路徑。這樣的技術(shù)方案與本發(fā)明提供的技術(shù)方案在思路上是一致的,應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種選擇路徑的方法,其特征在于,包括以下步驟A、起始路由器判斷是否存在不需要搶占其他標(biāo)簽交換路徑LSP的路徑,如果存在,則執(zhí)行步驟B;否則,執(zhí)行步驟C;B、在不需要搶占其他LSP的路徑中選擇一條路徑,并結(jié)束本流程;C、在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中所述判斷是否存在不需要搶占其他LSP的路徑為起始路由器判斷自身與目的路由器之間是否至少存在一條全部鏈路上可用帶寬資源都能夠滿足新業(yè)務(wù)流量需要的路徑。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中所述在不需要搶占其他LSP的路徑中選擇一條路徑包括在不需要搶占其他LSP的路徑中選擇一條鏈路利用率最低的路徑。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在不需要搶占其他LSP的路徑中選擇一條鏈路利用率最低的路徑包括B1、在每條不需要搶占其他LSP的路徑中選擇一條指標(biāo)最差的鏈路;B2、將選擇的指標(biāo)最差的鏈路構(gòu)成一個集合,在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路;B3、將選擇的指標(biāo)最優(yōu)的鏈路作為鏈路利用率最低的鏈路,選擇該鏈路所在的路徑。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟B1包括B11、假設(shè)F(link(uv))=(SB+UB(uv))/RB(uv),其中,RB(uv)表示鏈路link(uv)上的預(yù)留總帶寬,UB(uv)表示鏈路link(uv)上的已經(jīng)被占用的總帶寬,SB表示新建LSP所需的帶寬;B12、計算每條不需要搶占其他LSP的路徑中每條鏈路的F(link(uv))值,比較每條鏈路F(link(uv))值的大小,選擇F(link(uv))值最大的鏈路作為指標(biāo)最差的鏈路。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,步驟B12中所述F(link(uv))值最大的鏈路同時存在多條,該方法進一步包括計算并比較F(link(uv))值最大鏈路的(RB-SB-UB)值,選擇(RB-SB-UB)值最小的鏈路作為指標(biāo)最差的鏈路。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述(RB-SB-UB)值最小的鏈路同時存在多條,該方法進一步包括在所述多條(RB-SB-UB)值最小的鏈路中,隨機選擇一條鏈路作為指標(biāo)最差的鏈路。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟B2中所述在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路包括計算并比較指標(biāo)最差鏈路構(gòu)成的集合中每條鏈路F(link(uv))值的大小,選擇一條F(link(uv))值最小的鏈路作為指標(biāo)最優(yōu)的鏈路。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述F(link(uv))值最小的鏈路同時存在多條,該方法進一步包括計算并比較F(link(uv))值最小鏈路的(RB-SB-UB)值,選擇(RB-SB-UB)值最大的鏈路作為指標(biāo)最優(yōu)的鏈路。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述(RB-SB-UB)值最大的鏈路同時存在多條,該方法進一步包括在所述多條(RB-SB-UB)值最大鏈路所屬的路徑中,分別剔除各自包含的所述(RB-SB-UB)值大的鏈路,并再次執(zhí)行步驟B1和B2,直至選擇出一條指標(biāo)最優(yōu)的鏈路。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述在剔除各自包含的所述(RB-SB-UB)值大的鏈路的過程中,某條路徑中的鏈路被全部剔除,步驟B3中選擇的路徑為所述鏈路被全部剔除的路徑。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中所述在不需要搶占其他LSP的路徑中選擇一條路徑包括在不需要搶占其他LSP的路徑中選擇一條鏈路數(shù)量最少的路徑。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述在不需要搶占其他LSP的路徑中選擇一條鏈路數(shù)量最少的路徑包括B1′、在不需要搶占其他LSP的路徑中計算每條路徑所包含鏈路的數(shù)量;B2′、比較計算出的每條路徑所包含鏈路的數(shù)量,選擇鏈路數(shù)量最少的路徑。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,步驟B2′中所述鏈路數(shù)量最少的路徑同時存在多條,該方法進一步包括將鏈路數(shù)量最少的路徑構(gòu)成一個集合,假設(shè)P(path(u))=F(link(u1))+F(link(u2))+…F(link(un)),其中F(link(uv))=(SB+UB(uv))/RB(uv),根據(jù)公式P(path(u))=F(link(u1))+F(link(u2))+…F(link(un))計算該集合中每條路徑的P(path(u))值,選擇P(path(u))值最小的路徑。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述P(path(u))值最小的路徑同時存在多條,該方法進一步包括在所述多條P(path(u))值最小的路徑中隨機選擇一條路徑。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C包括C1、對內(nèi)部路由網(wǎng)關(guān)協(xié)議IGP進行擴展,在每條需要搶占其他LSP的路徑中選擇一條指標(biāo)最差的鏈路;C2、將選擇的指標(biāo)最差的鏈路構(gòu)成一個集合,在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路;C3、將選擇的指標(biāo)最優(yōu)的鏈路作為等效搶占LSP數(shù)量最少的鏈路,選擇該鏈路所在的路徑。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述路徑為點到點的單播路徑,所述步驟C1包括C11、在IGP的中間系統(tǒng)到中間系統(tǒng)IS-IS協(xié)議中引入新的類型長度值TLV,或者在IGP的開放最短路徑優(yōu)先OSPF協(xié)議中引入新的鏈路狀態(tài)通告LSA,在新引入的TLV或LSA中存放每條鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息;C12、假設(shè)E(link(uv))與LSP(uvrt)之間的關(guān)系式,其中E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,LSP(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的LSP被搶占的數(shù)量;將每條鏈路上LSP的數(shù)量、優(yōu)先級別和帶寬級別信息代入所述E(link(uv))與LSP(uvrt)之間的關(guān)系式,計算每條鏈路的E(link(uv))值;C13、在每條需要搶占其他LSP的路徑中比較每條鏈路E(link(uv))值的大小,將E(link(uv))值最大的鏈路作為該路徑中指標(biāo)最差的鏈路。
18.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述路徑為點到多點的組播路徑,所述步驟C1包括C11′、在IGP的IS-IS協(xié)議中引入新的TLV,或者在IGP的OSPF協(xié)議中引入新的LSA,在新引入的TLV或LSA中存放每條鏈路上LSP的數(shù)量、優(yōu)先級別、帶寬級別和組播組地址信息;C12′、假設(shè)E(link(uv))與LSP(uvrt)之間的關(guān)系式,其中E(link(uv))表示某條鏈路上等效搶占LSP的數(shù)量,LSP(uvrt)=LSPs(uvrt)+LSPM1(uvrt)+LSPM2(uvrt)+…+LSPMn(uvrt),LSPs(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的單播LSP被搶占的數(shù)量,LSPMn(uvrt)表示路徑u上第v條鏈路的優(yōu)先級別為r帶寬級別為t的組播路徑n被搶占的數(shù)量;將每條鏈路上LSP的數(shù)量、優(yōu)先級別、帶寬級別和組播組地址信息代入所述E(link(uv))與LSP(uvrt)之間的關(guān)系式,計算每條鏈路的E(link(uv))值;C13′、在每條需要搶占其他LSP的路徑中比較每條鏈路E(link(uv))值的大小,將E(link(uv))值最大的鏈路作為該路徑中指標(biāo)最差的鏈路。
19.根據(jù)權(quán)利要求17或18所述的方法,其特征在于,步驟C13或C13′中所述E(link(uv))值最大的鏈路同時存在多條,該方法進一步包括計算并比較同時存在的多條E(link(uv))值最大的鏈路上所有被搶占的LSP數(shù)量的總和,選擇所有被搶占LSP數(shù)量總和最大的鏈路作為指標(biāo)最差的鏈路。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述被搶占的LSP數(shù)量的總和最大的鏈路同時存在多條,該方法進一步包括在所述多條被搶占的LSP數(shù)量的總和最大的鏈路中隨機選擇一條鏈路作為指標(biāo)最差的鏈路。
21.根據(jù)權(quán)利要求16所述的方法,其特征在于,步驟C2中所述在指標(biāo)最差鏈路構(gòu)成的集合中選擇一條指標(biāo)最優(yōu)的鏈路包括計算并比較指標(biāo)最差鏈路構(gòu)成的集合中每條鏈路E(link(uv))值的大小,選擇一條E(link(uv))值最小的鏈路作為指標(biāo)最優(yōu)的鏈路。
22.根據(jù)權(quán)利要求21所述的方法,其特征在于,所述E(link(uv))值最小的鏈路同時存在多條,該方法進一步包括計算并比較多條E(link(uv))值最小鏈路被搶占LSP數(shù)量總和的大小,選擇一條被搶占LSP數(shù)量總和最小的鏈路作為指標(biāo)最優(yōu)的鏈路。
23.根據(jù)權(quán)利要求22所述的方法,其特征在于,所述被搶占的LSP數(shù)量的總和最小的鏈路同時存在多條,該方法進一步包括在多條被搶占的LSP數(shù)量的總和最小鏈路所屬的路徑中,分別剔除各自包含的所述被搶占的LSP數(shù)量的總和最小的鏈路,并再次執(zhí)行步驟C1和C2,直至選擇出一條指標(biāo)最優(yōu)的鏈路。
24.根據(jù)權(quán)利要求23所述的方法,其特征在于,所述在剔除各自包含的所述被搶占的LSP數(shù)量的總和最小的鏈路的過程中,某條路徑中的鏈路被全部剔除,步驟C3中選擇的路徑為所述鏈路被全部剔除的路徑。
全文摘要
本發(fā)明公開了一種選擇路徑的方法,包括以下步驟A.起始路由器判斷是否存在不需要搶占其他LSP的路徑,如果存在,則執(zhí)行步驟B;否則,執(zhí)行步驟C;B.在不需要搶占其他LSP的路徑中選擇一條路徑,并結(jié)束本流程;C.在需要搶占其他LSP的路徑中選擇等效搶占LSP數(shù)量最少的鏈路所在的路徑。利用本發(fā)明,解決了低優(yōu)先級LSP頻繁被建立與搶占,低優(yōu)先級LSP的流量也頻繁被中斷的問題,大大提高了網(wǎng)絡(luò)的穩(wěn)定性。同時,也避免了在不需要搶占其他LSP中的鏈路時發(fā)生搶占,使整個網(wǎng)絡(luò)的流量分布趨于均衡,大大提高了整個網(wǎng)絡(luò)中鏈路的利用率。
文檔編號H04L12/56GK1859298SQ20051013598
公開日2006年11月8日 申請日期2005年12月29日 優(yōu)先權(quán)日2005年10月26日
發(fā)明者張華琛, 謝小強, 吳志明, 鄧一鷗, 張進 申請人:華為技術(shù)有限公司