專利名稱:基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及網(wǎng)絡(luò)中的路由選擇數(shù)據(jù)。更具體而言,本發(fā)明涉及用于基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的方法和裝置。
背景技術(shù):
本部分中描述的方法可以被實行,但卻不一定是先前構(gòu)想或?qū)嵭羞^的方法。因此,除非這里另有指示,否則本部分中的方法并不是本申請的權(quán)利要求的現(xiàn)有技術(shù),并且并不因為被包括在本部分中就被承認是現(xiàn)有技術(shù)。
在諸如因特網(wǎng)這樣的計算機網(wǎng)絡(luò)中,根據(jù)各種路由選擇協(xié)議之一,數(shù)據(jù)分組被經(jīng)由鏈路(諸如電話線路或光線路之類的通信路徑)和節(jié)點(通常是沿著連接到它的多個鏈路中一個或多個引導(dǎo)分組的路由器)的網(wǎng)絡(luò)從源發(fā)送到目的地。
在網(wǎng)絡(luò)中,某些節(jié)點代表末端系統(tǒng)(例如打印機、傳真機、電話、PC等等),而其他節(jié)點代表網(wǎng)絡(luò)設(shè)備(例如交換機,路由器等等)。數(shù)據(jù)分組例如是根據(jù)網(wǎng)絡(luò)節(jié)點之間共享的路由選擇信息在網(wǎng)絡(luò)中從源發(fā)送到目的地的。由于網(wǎng)絡(luò)包括多個互連的節(jié)點,因此網(wǎng)絡(luò)是相當(dāng)健壯的。如果節(jié)點或鏈路由于任何原因發(fā)生故障,則網(wǎng)絡(luò)動態(tài)地配置以重新路由數(shù)據(jù),以避開發(fā)生故障的節(jié)點。當(dāng)例如由于修復(fù)或通過添加節(jié)點因而節(jié)點或鏈路出現(xiàn)在網(wǎng)絡(luò)上時,網(wǎng)絡(luò)動態(tài)地收斂到所謂的收斂狀態(tài),在該狀態(tài)中,網(wǎng)絡(luò)的所有路由器具有公共的路由選擇信息。
依賴于共享的信息的一類路由選擇協(xié)議是鏈路狀態(tài)協(xié)議。鏈路狀態(tài)協(xié)議的示例是中間系統(tǒng)到中間系統(tǒng)(IS-IS)協(xié)議和開放最短路徑優(yōu)先(OSPF)協(xié)議。鏈路狀態(tài)協(xié)議依賴于駐留在每個節(jié)點上的路由選擇算法。網(wǎng)絡(luò)上的每個節(jié)點在整個網(wǎng)絡(luò)中通告到相鄰節(jié)點的鏈路,并提供與每個鏈路相關(guān)聯(lián)的成本,該成本可以基于諸如鏈路帶寬或延遲之類的任何適當(dāng)?shù)亩攘浚⑶乙话惚槐磉_為整數(shù)值。鏈路可以具有非對稱成本,即,沿著鏈路的方向AB上的成本可能不同于方向BA上的成本。
基于鏈路狀態(tài)分組(LSP)形式的所通告的信息,每個節(jié)點構(gòu)造作為整個網(wǎng)絡(luò)拓撲的圖的鏈路狀態(tài)數(shù)據(jù)庫(LSDB),并且一般從該數(shù)據(jù)庫構(gòu)造到每個可用節(jié)點的單個最優(yōu)路徑。鏈路可以被視為路由器上的接口。鏈路的狀態(tài)是對該接口及其與其相鄰路由器的關(guān)系的描述。接口描述例如可以包括接口的IP地址、掩碼、其連接到的網(wǎng)絡(luò)的類型、連接到該網(wǎng)絡(luò)的路由器,等等。整個網(wǎng)絡(luò)的所有鏈路狀態(tài)的集合形成鏈路狀態(tài)數(shù)據(jù)庫。
鏈路狀態(tài)協(xié)議使用鏈路狀態(tài)算法來構(gòu)建和計算到所有已知目的地的最短路徑。用于確定最短路徑的算法比較復(fù)雜,但下文提供鏈路狀態(tài)算法的步驟的簡化概觀。一旦初始化或由于任何變化的路由選擇信息,路由器生成鏈路狀態(tài)通告分組(LSP)。這個通告代表該路由器上所有鏈路狀態(tài)的集合。所有路由器通過洪泛(flooding)交換LSP。每個接收到鏈路狀態(tài)更新的路由器在其鏈路狀態(tài)數(shù)據(jù)庫中存儲復(fù)本,然后迅速將更新傳播到其他路由器。在每個路由器的數(shù)據(jù)庫完成之后,每個路由器計算到所有目的地的最短(成本最低)的路徑,并使用該信息來形成IP路由選擇表。在某些情況下,具有相等成本的兩個或多個路由器介紹自己,這被稱為“等成本路徑分割”。一種適當(dāng)?shù)乃惴ㄊ亲疃搪窂絻?yōu)先(SPF)算法。
結(jié)果,構(gòu)造出了“生成樹”,其以該節(jié)點為根,并且示出去往每個可用目的地節(jié)點的最優(yōu)路徑,其中包括中間節(jié)點。相反,可以構(gòu)造“反向生成樹”,示出從給定節(jié)點可到達的所有節(jié)點到該節(jié)點的最優(yōu)路徑。由于每個節(jié)點具有公共的LSDB(除了所通告的變化在網(wǎng)絡(luò)中傳播時),因此每個節(jié)點都能夠計算以任何其他節(jié)點為根的生成樹和反向生成樹。SPF的結(jié)果被存儲在路由選擇表中(也稱為路由選擇信息庫(RIB)),并且,基于這些結(jié)果,轉(zhuǎn)發(fā)信息庫(FIB)或轉(zhuǎn)發(fā)表被更新,以適當(dāng)?shù)乜刂品纸M的轉(zhuǎn)發(fā)。
在鏈路狀態(tài)協(xié)議中,當(dāng)鏈路或節(jié)點發(fā)生故障并且隨后被修復(fù)時,或者當(dāng)網(wǎng)絡(luò)發(fā)生其他變化,例如鏈路成本變化時,網(wǎng)絡(luò)的被修復(fù)部分所涉及的路由器則必須重新確立收斂。這是通過(一個或多個)路由器在整個網(wǎng)絡(luò)區(qū)域內(nèi)通告它們自己或者所述變化來實現(xiàn)的。但是,在拓撲變化期間,存在這樣的一小段時間,其中在關(guān)于變化的信息經(jīng)過網(wǎng)絡(luò)傳播時,網(wǎng)絡(luò)上的LSDB、RIB和FIB變得不一致。在這個不一致時段期間生成的路由可能會導(dǎo)致路由選擇循環(huán),這種路由選擇循環(huán)一直持續(xù)直到數(shù)據(jù)庫收斂,此時按照定義應(yīng)當(dāng)沒有循環(huán)。
例如,如果第一節(jié)點經(jīng)由構(gòu)第二節(jié)點向目的地節(jié)點發(fā)送分組,其中根據(jù)第一節(jié)點的SPF,第二節(jié)點構(gòu)成最優(yōu)路徑,則可能出現(xiàn)這種情形第二節(jié)點根據(jù)其SPF(基于與第一節(jié)點不同的LSDB)確定去往目的地節(jié)點的最佳路徑是經(jīng)由第一節(jié)點,并將分組發(fā)回。循環(huán)可能發(fā)生在以下情況下第一節(jié)點根據(jù)其LSDB確信鏈路成本低于第二節(jié)點根據(jù)其LSDB所確信的鏈路成本。這可能無限期地繼續(xù)下去,雖然通常分組會有最大跳計數(shù),在該計數(shù)之后它將會被丟棄。這種循環(huán)可以是兩個節(jié)點之間的直接循環(huán),或者是節(jié)點電路中的間接循環(huán)。重收斂一般將會花費幾百毫秒,從而可能導(dǎo)致持續(xù)時間比原本由故障所導(dǎo)致的更長的中斷。
此外,IP網(wǎng)絡(luò)中帶寬需求的增大已經(jīng)引起了在波分復(fù)用(WDM)網(wǎng)絡(luò)基礎(chǔ)設(shè)施上部署IP。在WDM網(wǎng)絡(luò)中,來自不同源的數(shù)據(jù)可以同時經(jīng)由相同光纖鏈路傳輸,其中為每個數(shù)據(jù)源使用不同的光波長。由于傳統(tǒng)上在數(shù)學(xué)表達式中用希臘字母λ(lambda)來表示波長,因此WDM鏈路上的不同數(shù)據(jù)源有時被稱為“l(fā)ambda”。在WDM網(wǎng)絡(luò)中,路由器可以與光學(xué)層所提供的一個或若干個lambda互連。此外,密集型WDM(DWDM)技術(shù)當(dāng)前允許特定顏色光譜內(nèi)的16個或更多個波長(即數(shù)十個lambda)的復(fù)用和解復(fù)用。
由于一般使用不同的設(shè)備來形成IP網(wǎng)絡(luò)和光學(xué)網(wǎng)絡(luò),因此在這種網(wǎng)絡(luò)中常用的做法是不同的互連路由器對具有共享公共光學(xué)網(wǎng)絡(luò)元件的一組lambda。該組lambda被稱為共享風(fēng)險鏈路群組或SRLG,以指示公共組件的故障可能影響多個資源。例如,光纖切斷可能引起穿越發(fā)生故障的光纖的所有l(wèi)ambda的故障;穿越該光纖的所有l(wèi)ambda將會共享公共的SRLG。
為了針對解決由于SRLG的使用而產(chǎn)生的收斂問題,已經(jīng)在GMPLS的上下文中定義了內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)的擴展,以分發(fā)SRLG。這種擴展在標(biāo)題為“draft-ietf-isis-gmpls-extensions-16.txt”和“draft-ietf-ccamp-ospf-gmpls-extensions-09.txt”的IETF草案文檔中定義,這些文檔目前可在IETF網(wǎng)站itetf.org上獲得。但是,現(xiàn)有的鏈路狀態(tài)協(xié)議并沒有將此信息用于其最短路徑計算中。結(jié)果,SRLG的故障可能引起路由器收斂所需時間的增加,或者可能要求在SRLG故障尚未為每個路由器所知并且這些路由器尚未收斂的時間段期間要求路由器使用非最優(yōu)路徑。
基于上述內(nèi)容,很明顯需要一種使用關(guān)于共享風(fēng)險鏈路群組的信息的確定路由選擇路徑的改進的方法。
在附圖中以示例方式而非限制方式示出了本發(fā)明,附圖中類似的標(biāo)號是指類似的元件,其中圖1A是第一假設(shè)網(wǎng)絡(luò)的簡化框圖;圖1B示出圖1A的網(wǎng)絡(luò)的路由器A的最短路徑優(yōu)先樹(SPT);圖2A是用于基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的過程的流程圖;圖2B是圖2A的過程的第一備選方案的更多步驟的流程圖;圖2C是圖2A的過程的第一備選方案或第二備選方案首先執(zhí)行的圖驗證步驟的流程圖;圖2D是圖2A的過程的第二備選方案中的更多步驟的流程圖;圖3是第二假設(shè)網(wǎng)絡(luò)的簡化框圖;以及圖4是示出其上可實現(xiàn)實施例的計算機系統(tǒng)的框圖。
具體實施例方式
描述了一種用于基于共享風(fēng)險鏈路群組信息來確定網(wǎng)絡(luò)路由選擇信息的方法和裝置。在以下描述中,出于說明目的,闡述了許多具體細節(jié),以提供對本發(fā)明的詳盡理解。但是,對于本領(lǐng)域的技術(shù)人員來說顯而易見的是,本發(fā)明可以在沒有這些具體細節(jié)的情況下實現(xiàn)。在其他情況下,以框圖形式示出公知的結(jié)構(gòu)和設(shè)備,以避免不必要地喧賓奪主。
在這里根據(jù)以下大綱描述實施例1.0一般概況2.0結(jié)構(gòu)和功能概況2.1鏈路狀態(tài)數(shù)據(jù)庫的使用2.2在沒有關(guān)于共享風(fēng)險鏈路群組的信息的情況下確定最短路徑3.0用于基于共享風(fēng)險鏈路群組信息確定路由選擇信息的方法4.0實現(xiàn)機構(gòu)-硬件概況5.0擴展和備選方案***1.0一般概況前述背景技術(shù)中識別的需求,以及將從以下描述中顯現(xiàn)出來的其他需求和目的在本發(fā)明中實現(xiàn),本發(fā)明在一個方面中包括用于基于共享風(fēng)險鏈路群組信息來確定網(wǎng)絡(luò)路由選擇信息的方法。
公開了一種方法和裝置,用于部分基于關(guān)于關(guān)聯(lián)為共享風(fēng)險鏈路群組的鏈路的信息來執(zhí)行數(shù)據(jù)通信網(wǎng)絡(luò)中的最短路徑優(yōu)先網(wǎng)絡(luò)路由選擇路徑確定。通過考慮鏈路是否在共享風(fēng)險鏈路群組內(nèi),在計算最短路徑優(yōu)先樹時避免了微循環(huán)。
在第一種方法中,對于鏈路狀態(tài)數(shù)據(jù)庫中的每個鏈路狀態(tài)分組,如果發(fā)起LSP的節(jié)點和所報告的相鄰節(jié)點之間的鏈路屬于已知其中至少一個組件(本地鏈路)發(fā)生故障的共享風(fēng)險鏈路群組,則去除所列出的相鄰節(jié)點,然后執(zhí)行最短路徑優(yōu)先計算。
在第二種方法中,在SPT計算期間并且在向路徑添加第一節(jié)點之后,在且僅在第一節(jié)點和相鄰節(jié)點之間的鏈路不屬于已知其中至少一個組件(本地鏈路)發(fā)生故障的共享風(fēng)險鏈路群組的情況下,每個相鄰節(jié)點被添加到暫定樹。
在任一種方法中,可以利用代表網(wǎng)絡(luò)中的節(jié)點和鏈路的圖來執(zhí)行圖驗證步驟。如果圖斷開,則重復(fù)SPF確定,而不刪除任何未被明確報告為發(fā)生故障的鏈路。此外,在其中可能接收到了新LSP的時間間隔之后,可以使用定時器機構(gòu)來觸發(fā)SPF計算的重新執(zhí)行。
在其他方面中本發(fā)明包括被配置成執(zhí)行上述步驟的計算機裝置和計算機可讀介質(zhì)。
這里所描述的方法可以根據(jù)任何適當(dāng)?shù)穆酚蛇x擇協(xié)議來實現(xiàn)。一般來說,諸如中間系統(tǒng)到中間系統(tǒng)(IS-IS)或開放最短路徑優(yōu)先(OSPF)這樣的鏈路狀態(tài)協(xié)議是適當(dāng)?shù)膮f(xié)議。
2.0結(jié)構(gòu)和功能背景2.1鏈路狀態(tài)數(shù)據(jù)庫的使用數(shù)據(jù)通信網(wǎng)絡(luò)包括多個互連的站點。站點之間的流量被經(jīng)由網(wǎng)絡(luò)節(jié)點從源路由到目的地。由于各種因素(例如過多的網(wǎng)絡(luò)流量、硬件故障或軟件故障),節(jié)點可能進入故障模式,在此期間路由到該節(jié)點的數(shù)據(jù)不被該節(jié)點向前路由。
除了故障模式之外,網(wǎng)絡(luò)變化可能發(fā)生在例如由于網(wǎng)絡(luò)管理員干預(yù)而造成鏈路成本增大或減小之時,并且,在這些情況中的任何一種情況下,都可能發(fā)生這種情況在變化被傳播經(jīng)過網(wǎng)絡(luò)時,網(wǎng)絡(luò)的暫時性失同步可能引起循環(huán)。其他可能的網(wǎng)絡(luò)變化包括新路由器引入(從效果上來說對應(yīng)于鏈路成本從“無窮大”減小)或路由器的去除(從效果上來說對應(yīng)于鏈路成本增大到“無窮大”)。
圖1A是示出數(shù)據(jù)通信網(wǎng)絡(luò)的示例的網(wǎng)絡(luò)圖,該網(wǎng)絡(luò)以節(jié)點和鏈路作為網(wǎng)絡(luò)元件,它可以是互聯(lián)網(wǎng)或子網(wǎng),例如路由選擇域或虛擬網(wǎng)絡(luò)。圖1A所示的網(wǎng)絡(luò)包括節(jié)點A、B、C、D、E、F、G、H、I、J、K,其中每一個都是路由器。圖1A中的線條代表節(jié)點之間的鏈路。假定所有的鏈路都是SRLG不同的,意思是它們不共享任何SRLG,除了分別連接節(jié)點A-B和F-B的鏈路12a、12b都屬于SRLG 1之外。作為示例,假定鏈路12a、12b都穿越相同的光纖。
網(wǎng)絡(luò)中的每個路由器包括使得路由器能夠維護鏈路狀態(tài)數(shù)據(jù)庫(LSDB)形式的網(wǎng)絡(luò)圖的軟件。只要網(wǎng)絡(luò)拓撲的某個區(qū)域發(fā)生變化,LSDB就被更新。如果路由器在多個區(qū)域上具有接口,則為每個不同的區(qū)域維護LSDB。LSDB是周期性地計算的。如果區(qū)域的拓撲未發(fā)生變化,則不對區(qū)域的LSDB作出改變。
LSDB包含用于區(qū)域中的每個路由器連接到的所有網(wǎng)絡(luò)的條目。它還為路由器的每個網(wǎng)絡(luò)接口分配傳出成本度量。該度量衡量通過接口將流量發(fā)送到所連接的網(wǎng)絡(luò)的成本。通過分配成本,可以基于線路成本、線路速度或任何其他參數(shù)來設(shè)置路由器偏好。假定除了A-H鏈路14的成本為2,F(xiàn)-G鏈路16的成本由變量c給定之外,圖1A中所有鏈路的鏈路成本都等于1。
LSDB中的條目是基于鏈路狀態(tài)分組(LSP)中發(fā)送的信息的,其包括由路由器生成的用于描述路由器的可達性的信息。每個LSP包含標(biāo)識路由器上的接口、該路由器的附接節(jié)點或網(wǎng)絡(luò)以及到達這些節(jié)點或網(wǎng)絡(luò)中每一個的成本的信息。當(dāng)對于區(qū)域中的所有路由器LSDB都相同時,網(wǎng)絡(luò)被視為收斂。
在LSDB達到收斂狀態(tài)之后,每個路由器計算通過網(wǎng)絡(luò)去往每個節(jié)點或網(wǎng)絡(luò)以及每個路由器的最短路徑。計算最短路徑優(yōu)先(SPF)樹(SPT),并存儲信息。每個路由器維護其自己的SPT。在構(gòu)建SPT之后,通過確定去往每個目的地節(jié)點或網(wǎng)絡(luò)的最低成本路徑計算路由選擇表。在每個路由器本地計算路由選擇表,并相應(yīng)地更新FIB。圖1A的網(wǎng)絡(luò)導(dǎo)致如下表1所示的LSDB表1
利用此LSDB,每個路由器計算SPT。圖1B示出圖1A的路由器A的SPT。這示出了從路由器A到每個網(wǎng)絡(luò)和每個路由器的最短路徑。然后路由器A可以根據(jù)此SPT計算A路由選擇表。
2.2在沒有關(guān)于共享風(fēng)險鏈路群組的信息的情況下確定最短路徑在傳統(tǒng)做法中,SPF計算是在不使用關(guān)于共享風(fēng)險鏈路群組的信息的情況下執(zhí)行的。因此,如以下兩個示例中所說明的,這種計算易受不經(jīng)意地引入到路由選擇表中的循環(huán)的影響,并會產(chǎn)生不合需要的結(jié)果。
對于兩個示例,都假定lsp-gen(X)是節(jié)點X在其LSP變化時在發(fā)起新LSP之前等待的時間段,spf-gen(X)是在接收到新LSP之后節(jié)點X等待觸發(fā)SPF的時間段。函數(shù)lsp-gen和spf-gen都可以是LSP生成和SPF發(fā)生的次數(shù)的線性的、二次的、指數(shù)的或其他函數(shù)。兩個示例都針對分組從圖1A所示的源S到目的地Z所遵循的假設(shè)路徑,其中源S直接附接到節(jié)點A,目的地Z直接附接到節(jié)點C。P(A,Z)得出由節(jié)點A為去往Z的分組計算的最短路徑上的下一跳。例如,在沒有鏈路故障的穩(wěn)定狀態(tài)下,對于圖1A的網(wǎng)絡(luò),P(A,Z)=B。從A到Z的最短路徑是A-B-C,因此從A到Z的下一跳是B。
在傳統(tǒng)的鏈路狀態(tài)協(xié)議方法中,在引起SRLG 1故障的光纖切斷的情況下,將會發(fā)生以下過程。作為第一情況,假定c=10,即F-G鏈路16的成本是10。在時刻T0,SRLG 1發(fā)生故障,從而鏈路A-B和B-F同時發(fā)生故障。在時刻T1,節(jié)點A和F檢測到鏈路故障;一般這種檢測幾乎是同時發(fā)生的。
作為響應(yīng),在時刻T2,節(jié)點A和F各自通過計算lsp-gen(A)和lsp-gen(F)來確定新的下一跳節(jié)點,然后發(fā)起新的LSP,其中l(wèi)sp-gen(A)和lsp-gen(F)是由IGP參數(shù)設(shè)置所確定的。
在時刻T3,節(jié)點A和F各自執(zhí)行新的SPF計算,如spf-trig(A)和spf-trig(F)。A和F收斂,從而P(A,Z)=D。出現(xiàn)這個結(jié)果是因為從A到C的最短路徑是A-D-E-F-B-C,因為A并不知道鏈路B-F的故障。此外,P(F,Z)=E,這是因為從F到C的最短路徑是F-E-D-A-H-I-J-K-C。此時,形成了微循環(huán)A-D-A,因為P(D,Z)=A并且因為最短路徑是D-A-B-C。此外,A計算出了包括故障鏈路的最短路徑。
在時刻T4,節(jié)點D接收到A的LSP并且基于D-E-F-B-C的最短路徑而收斂,其結(jié)果是P(D,Z)=E,這是因為D并不知道鏈路B-F發(fā)生了故障。因此,形成了另一個微循環(huán)A-D-E-F-E-D-A。
在時刻T5,節(jié)點E接收到F的LSP并且收斂,其結(jié)果是P(E,Z)=D,從而形成微循環(huán)A-D-E-D-A。在時刻T6,D接收到F的LSP并且收斂,其結(jié)果是P(D,Z)=A,從而形成微循環(huán)A-D-A。在時刻T7,A接收到F的LSP并且收斂,其結(jié)果是P(A,C)=H。
在本示例中,可能發(fā)生若干個不同的定時序列,這取決于節(jié)點之間的LSP傳播和隊列延遲、lsp-gen和spf-gen的目前(then-current)值、路由器上的處理器負載和其他因素。此外,先前的討論只識別了所有可能發(fā)生的潛在微循環(huán)中的某些。但是,該示例表明,不合需要的循環(huán)是在沒有關(guān)于與共享風(fēng)險鏈路群組相關(guān)聯(lián)的鏈路的并發(fā)故障的知識的情況下執(zhí)行SFP計算的必然結(jié)果。
考慮第二示例,其中鏈路F-G的鏈路成本是5。假定在時刻T0,SRLG 1發(fā)生故障,因此鏈路A-B和B-F同時發(fā)生故障。在時刻T1,A和F一般幾乎同時檢測到鏈路故障。在時刻T2,A和F分別確定由IGP參數(shù)所確定的lsp-gen(A)和lsp-gen(B),然后發(fā)起新的LSP。在時刻T3,在計算spf-trig(A)和spf-trig(F)之后,A和F基于F-G-C的最短路徑而收斂,其結(jié)果是P(A,Z)=D和P(F,Z)=G。此時,形成了微循環(huán)A-D-A。
在時刻T4,節(jié)點D接收到A的LSP并且收斂,其結(jié)果是P(D,Z)=E。在這個階段,微循環(huán)消失了。
在時刻T5,節(jié)點E接收到F的LSP并且收斂,其結(jié)果是P(E,Z)=F。從而,路徑不變。但是,分組從A到C所遵循的路徑不是最優(yōu)的,這是因為它們遵循總成本為9的路徑A-D-E-F-G-C,即使最短路徑是成本為6的A-H-I-J-K-C。
在時刻T6,D接收到F的LSP并且收斂,其結(jié)果是P(D,Z)=A。因此,形成微循環(huán)A-D-A。在時刻T7,A接收到F的LSP并且收斂,其結(jié)果是P(A,C)=H。
3.0基于共享風(fēng)險鏈路群組信息確定路由選擇信息的方法以上兩個示例清楚地強調(diào)了對在響應(yīng)于SRLG故障確定SPT時考慮SRLG信息的需求。一種針對解決此問題的方法可以是作為計算SPT的一部分刪除所有屬于一個公共SRLG的鏈路。但是,如果故障涉及單個鏈路故障而不是SRLG的故障,則該方法具有計算非最優(yōu)路徑的潛在缺陷。本方法通過在定時器期滿之后執(zhí)行附加的SPF計算來針對解決此問題,如下所述。
根據(jù)一個實施例,作為計算最短路徑優(yōu)先樹的一部分,執(zhí)行了使用共享風(fēng)險鏈路群組信息的最短路徑優(yōu)先過程。利用這里的技術(shù),如果SRLG發(fā)生故障,則收斂時間被減少,這對于要求快速IGP收斂并且具有多個SRLG的網(wǎng)絡(luò)來說是很關(guān)鍵的。此外,利用這里的技術(shù),選擇了更優(yōu)的路徑。
圖2A是部分基于關(guān)于網(wǎng)絡(luò)中的共享風(fēng)險鏈路群組的信息執(zhí)行最短路徑優(yōu)先確定的過程的流程圖。圖2B是圖2A的過程中的更多步驟的流程圖。圖2C是在圖2A的過程中使用的定時器期滿時執(zhí)行的步驟的流程圖。
首先參考圖2A,圖示過程一般是在SPF確定被觸發(fā)時執(zhí)行的,而SPF確定一般是響應(yīng)于路由器本地鏈路發(fā)生故障或該路由器接收到新LSP而發(fā)生在該路由器內(nèi)的。在塊202中,確定故障鏈路的身份。例如,可以使用LSP中的鏈路身份信息,或者路由器可以在本地確定故障鏈路的身份。在塊204中,確定故障鏈路所屬的共享風(fēng)險鏈路群組集合S。集合S是基于已在IGP擴展中洪泛的SRLG成員信息來確定的。從而,當(dāng)鏈路發(fā)生故障時,路由器可以確定所有與故障鏈路具有至少一個共同的SRLG的鏈路,并且在本文中該鏈路集合被表示為S。例如,假定鏈路L1被通告以SRLG 1、2,鏈路L2屬于SRLG 1,鏈路L3屬于SRLG 3,鏈路L4屬于SRLG 1。所有這種鏈路都可以連接到不同路由器。如果鏈路L1在路由器R1上發(fā)生故障,則R1知道它必須排除所有屬于S的鏈路,其中S=L1、L2和L4。
在塊206中,啟動定時器。在下文中進一步描述使用定時器來觸發(fā)其他步驟。定時器的典型時段是幾秒,或者接收到任何其他潛在LSP所需的時間。在一個實施例中,定時器的時段是可配置的。
在塊206之后,圖2A的過程可以兩個備選方案或選項中的任何一種進行下去,其中每一個在部分基于關(guān)于共享風(fēng)險鏈路群組的信息執(zhí)行最短路徑優(yōu)先確定方面的效果都是等同的。第一備選方案由圖2B、圖2C示出;第二備選方案由圖2D、圖2C示出。
首先參考圖2B,在第一備選方案中,在塊208中,掃描或?qū)彶殒溌窢顟B(tài)數(shù)據(jù)庫中的每個LSP。在塊210中,執(zhí)行測試以確定集合S是否包括發(fā)起目前的LSP的節(jié)點和LSP中報告的相鄰節(jié)點之間的鏈路。如果不是的話,則控制傳遞到塊214,該塊與塊208形成循環(huán),以掃描LSDB中的每個LSP。如果集合S不包括該鏈路,則從LSDB中去除所列出的相鄰節(jié)點,如塊212所示。這個步驟具有從LSDB中去除SRLG S中與被報告發(fā)生故障的鏈路相關(guān)聯(lián)的每個鏈路的效果。然后,如塊215所示,基于修改后的LSDB執(zhí)行SPF計算。
一種實現(xiàn)方式通過例如利用鏈接列表或樹在故障之前為每個鏈路以及鏈路集合中每個可能同時發(fā)生故障的鏈路預(yù)先計算集合S來減少執(zhí)行塊208-215的處理時間,然后執(zhí)行最短路徑優(yōu)先樹計算。
當(dāng)如塊215所示,已經(jīng)處理了LDSB中的所有LSP,并且計算了SPF時,控制傳遞到圖2C。
現(xiàn)參考圖2C,在塊216中,執(zhí)行圖驗證步驟,以確定基于產(chǎn)生的修改后LDSB所創(chuàng)建的圖是否是斷開的圖。斷開的圖是其中一個或多個子節(jié)點不再具有父節(jié)點的圖。如果在塊218中測試出圖是斷開的,則在塊220中,確定新的SPF,但并不作為塊210和塊212的一部分刪除任何未在LSP中明確報告發(fā)生故障的鏈路。
圖2C的過程使得能夠處理鏈路發(fā)生故障但相關(guān)聯(lián)的SRLG沒有發(fā)生故障的情形?,F(xiàn)參考圖3描述這種情形的示例,該圖是第二假設(shè)網(wǎng)絡(luò)的簡化框圖。圖3的網(wǎng)絡(luò)與圖1A的拓撲類似,只不過不存在路徑A-H-I-J-K和路徑F-G-C。假定由于本地接口故障而不是SRLG故障,鏈路A-B在路由器B上發(fā)生故障。執(zhí)行圖2A、圖2B的過程而不使用圖2C的過程將會導(dǎo)致基于發(fā)生了SRLG故障的錯誤假設(shè)而創(chuàng)建斷開的圖,這是因為即使在A和C之間存在可用路徑A-D-E-F-B-C,鏈路B-F作為與鏈路A-B的SRLG的一部分仍將被認為是不可用的。結(jié)合圖2C的過程避免了這種結(jié)果,其代價是收斂時間略有增加。但是,預(yù)期前述情形會相對不頻繁地發(fā)生,這是因為網(wǎng)絡(luò)拓撲通常被設(shè)計為能夠經(jīng)受得住單個SRLG的故障。然而,可以認為圖2C的過程是可選地,并且如果發(fā)現(xiàn)它顯著增大了SPT計算期間的處理復(fù)雜度,則可以省略該過程。
現(xiàn)參考圖2D,其中示出了第二備選過程。在塊240中,根據(jù)若干已知算法中的任何一種執(zhí)行最短路徑優(yōu)先樹計算。在塊242中,執(zhí)行測試以確定是否有節(jié)點被添加到了PATH中。為了方便起見,在以下描述中,這種節(jié)點被稱為節(jié)點X。如果是的話,則在塊244中,確定節(jié)點X的鄰居集合N。
在塊245中,考慮鄰居集合N的鄰居Ni。在塊246中,執(zhí)行測試以確定網(wǎng)絡(luò)鏈路(X,Ni)是否處于共享風(fēng)險鏈路群組S的集合中。在且僅在不處于的情況下,當(dāng)前鄰居Ni被添加到暫定最短路徑優(yōu)先樹TENT中,如塊248所示。在塊250中,對于N中的所有鄰居Ni重復(fù)步驟245、246、248。然后,控制進行到圖2C,并且上述圖驗證步驟被執(zhí)行。
從而,在SPT計算期間但在添加了節(jié)點X到PATH之后,在且僅在鏈路(X,Ni)不屬于S的情況下,X的每個鄰居Ni被添加到TENT中。
在第一選項或第二選項期間的任何時刻,步驟206(圖2A)中啟動的定時器都可能期滿。再將參考圖2A,一旦在塊222中測試到定時器期滿,則觸發(fā)新SPF計算,如塊224中所示。執(zhí)行新SPF計算是為了確保如果發(fā)生可能被認為是SRLG故障的簡單鏈路故障,則重新計算更優(yōu)的路徑。
例如,再次參考圖1A,假定鏈路A-B由于本地接口故障而發(fā)生故障。在不執(zhí)行圖2C的過程的情況下,所選擇的從A到C的路徑是A-H-I-J-K-C,其成本為6。如果執(zhí)行圖2C的過程,則所選擇的路徑是A-D-E-F-B-C,其成本為5。
前述技術(shù)導(dǎo)致可能經(jīng)歷共享風(fēng)險鏈路群組中相關(guān)聯(lián)的鏈路的故障的網(wǎng)絡(luò)中的路由器的鏈路狀態(tài)數(shù)據(jù)庫的更迅速的收斂。雖然前述技術(shù)與過去的方法相比要求額外的處理,但是已經(jīng)發(fā)現(xiàn)絕大多數(shù)網(wǎng)絡(luò)鏈路故障是由SRLG故障引起的。從而,與這里的技術(shù)關(guān)聯(lián)的任何缺陷都被在發(fā)生SRLG故障的情況下收斂和找出最優(yōu)路徑方面的改進實現(xiàn)的益處超過了。
為了避免可能由于不同路由器執(zhí)行的不一致的判決而產(chǎn)生的可能的微循環(huán),網(wǎng)絡(luò)中的所有路由器可以都執(zhí)行這里所描述的過程。在一個實施例中,在且僅在網(wǎng)絡(luò)中的所有路由器都支持這些過程的情況下,可以聲明和激活路由器內(nèi)這些過程的可用性。
4.0實現(xiàn)機構(gòu)-硬件概況圖3是示出其上可實現(xiàn)本方法的計算機系統(tǒng)140的框圖。該方法是用運行在諸如路由器設(shè)備這樣的網(wǎng)絡(luò)元件上的一個或多個計算機程序?qū)崿F(xiàn)的。從而,在本實施例中,計算機系統(tǒng)140是路由器。
計算機系統(tǒng)140包括用于傳輸信息的總線142或其他通信機構(gòu),以及與總線142相耦合的用于處理信息的處理器144。計算機系統(tǒng)140還包括耦合到總線142的用于存儲信息和要被處理器144執(zhí)行的指令的主存儲器146,例如隨機訪問存儲器(RAM)、閃存或其他動態(tài)存儲設(shè)備。主存儲器146還可以用于在要由處理器144執(zhí)行的指令的執(zhí)行期間存儲臨時變量或其他中間信息。計算機系統(tǒng)140還包括耦合到總線142的用于存儲處理器144的靜態(tài)信息和指令的只讀存儲器(ROM)148或其他靜態(tài)存儲設(shè)備。提供了存儲設(shè)備150,例如磁盤、閃存或光盤,其耦合到總線142,用于存儲信息和指令。
通信接口158可以與總線142相耦合,用于將信息和命令選擇傳輸?shù)教幚砥?44。接口158是傳統(tǒng)串行接口,例如RS-232或RS-422接口。外部終端152或其他計算機系統(tǒng)連接到計算機系統(tǒng)140,并利用接口158向其提供命令。運行在計算機系統(tǒng)140上的固件或軟件提供終端接口或基于字符的命令接口,從而使得外部命令可以被提供給計算機系統(tǒng)。
交換系統(tǒng)156耦合到總線142,并且具有輸入接口和到外部網(wǎng)絡(luò)元件的相應(yīng)的輸出接口(總地標(biāo)示為159)。外部網(wǎng)絡(luò)元件可以包括多個額外的路由器160或耦合到一個或多個主機或路由器的本地網(wǎng)絡(luò),或者具有一個或多個服務(wù)器的全球網(wǎng)絡(luò),例如因特網(wǎng)。交換系統(tǒng)156根據(jù)公知的預(yù)定協(xié)議和協(xié)定將在輸入接口上到達的信息流量交換到輸出接口159。例如,交換系統(tǒng)156與處理器144合作,可以確定在輸入接口上到達的數(shù)據(jù)分組的目的地,并利用輸出接口將其發(fā)送到正確的目的地。目的地可以包括本地網(wǎng)絡(luò)或因特網(wǎng)中的主機、服務(wù)器、其他末端站或其他路由選擇和交換設(shè)備。
計算機系統(tǒng)140作為充當(dāng)節(jié)點的路由器實現(xiàn)上述生成路由選擇信息的方法。所述實現(xiàn)是由計算機系統(tǒng)140響應(yīng)于處理器144執(zhí)行包含在主存儲器146中的一個或多個指令的一個或多個序列而提供的。這種指令可以從另一計算機可讀介質(zhì)被讀取到主存儲器146中,所述另一計算機可讀介質(zhì)例如是存儲設(shè)備150。對包含在主存儲器146中的指令的序列的執(zhí)行致使處理器144執(zhí)行這里所描述的過程步驟。也可以用采取多處理配置的一個或多個處理器來執(zhí)行包含在主存儲器146中的指令序列。在備選實施例中,可以使用硬連線電路來取代軟件指令或與軟件指令相結(jié)合以實現(xiàn)該方法。從而,實施例并不局限于硬件電路和軟件的任何特定組合。
這里使用的術(shù)語“計算機可讀介質(zhì)”是指任何參與向處理器144提供指令以便執(zhí)行的介質(zhì)。這種介質(zhì)可以采取許多形式,其中包括但不限于非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)例如包括光盤或磁盤,例如存儲設(shè)備150。易失性介質(zhì)包括動態(tài)存儲器,例如主存儲器146。傳輸介質(zhì)包括同軸電纜、銅線和光纖,其中包括構(gòu)成總線142的導(dǎo)線。傳輸介質(zhì)也可以采取無線鏈路的形式,例如聲波或電磁波,例如在無線電波和紅外數(shù)據(jù)通信期間生成的那些。
計算機可讀介質(zhì)的常見形式例如包括軟盤、柔性盤、硬盤、磁帶或任何其他磁介質(zhì)、CD-ROM、任何其他光介質(zhì)、打孔卡、紙帶、或任何其他具有孔圖案的物理介質(zhì)、RAM、PROM、EPROM、FLASH-EPROM、或任何其他存儲器芯片或卡式磁帶、以下所述的載波,或任何其他計算機可讀取的介質(zhì)。
在將一個或多個指令的一個或多個序列運載到處理器144以便執(zhí)行時,可涉及各種形式的計算機可讀介質(zhì)。例如,指令最初可能是承載在遠程計算機的磁盤上的。遠程計算機可將指令加載到其動態(tài)存儲器中,并利用調(diào)制解調(diào)器經(jīng)由電話線發(fā)送指令。計算機系統(tǒng)140本地的調(diào)制解調(diào)器可接收電話線上的數(shù)據(jù),并利用紅外發(fā)射器將數(shù)據(jù)轉(zhuǎn)換成紅外信號。耦合到總線142的紅外檢測器可以接收承載在紅外信號中的數(shù)據(jù)并將數(shù)據(jù)置于總線142上??偩€142將數(shù)據(jù)運載到主存儲器146,處理器144從主存儲器146取回并執(zhí)行指令。可選地,被主存儲器146所接收到的指令可以在被處理器144執(zhí)行之前或之后被存儲在存儲設(shè)備150上。
接口159還提供與連接到本地網(wǎng)絡(luò)的網(wǎng)絡(luò)鏈路的雙向數(shù)據(jù)通信耦合。例如,接口159可以是綜合業(yè)務(wù)數(shù)字服務(wù)(ISDN)卡或調(diào)制解調(diào)器,以提供到相應(yīng)類型的電話線的數(shù)據(jù)通信連接。又例如,接口159可以是局域網(wǎng)(LAN)卡,以提供到兼容的LAN的數(shù)據(jù)通信連接。也可以實現(xiàn)無線鏈路。在任何這種實現(xiàn)方式中,接口159都發(fā)送和接收攜帶代表各種類型的信息的數(shù)字數(shù)據(jù)流的電、電磁或光信號。
網(wǎng)絡(luò)鏈路一般提供通過一個或多個網(wǎng)絡(luò)到其他數(shù)據(jù)設(shè)備的數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路可以提供通過本地網(wǎng)絡(luò)到主機計算機或者由因特網(wǎng)服務(wù)提供商(ISP)所操作的數(shù)據(jù)設(shè)備的連接。ISP又通過通常稱為“因特網(wǎng)”的世界范圍的分組數(shù)據(jù)通信網(wǎng)絡(luò)提供數(shù)據(jù)通信服務(wù)。本地網(wǎng)絡(luò)和因特網(wǎng)都使用攜帶數(shù)字數(shù)據(jù)流的電、電磁或光信號。將數(shù)字數(shù)據(jù)攜帶到計算機系統(tǒng)140或攜帶來自計算機系統(tǒng)140的數(shù)字數(shù)據(jù)的經(jīng)過各種網(wǎng)絡(luò)的信號和網(wǎng)絡(luò)鏈路上的經(jīng)過接口159的信號是傳輸信息的載波的示例性形式。
計算機系統(tǒng)140可以通過(一個或多個)網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路和接口159發(fā)送消息和接收數(shù)據(jù),其中包括程序代碼。在因特網(wǎng)示例中,服務(wù)器可以通過因特網(wǎng)、ISP、本地網(wǎng)絡(luò)和通信接口158發(fā)送所請求的應(yīng)用程序的代碼。一個這種下載的應(yīng)用提供這里所描述的方法。
接收到的代碼可以在被接收到時被處理器144所執(zhí)行,以及/或者被存儲在存儲設(shè)備150中或其他非易失性存儲設(shè)備中,以便將來執(zhí)行。這樣一來,計算機系統(tǒng)140可以以載波形式獲得應(yīng)用代碼。
5.0擴展和備選方案在以上說明中,已經(jīng)參考本發(fā)明的特定實施例描述了本發(fā)明。但是,顯而易見的是,可以對其做出各種修改和改變,而不脫離本發(fā)明的更寬的精神和范圍。因此,說明書和附圖應(yīng)當(dāng)被視為說明性的而不是限制性的。
可以采用任何適當(dāng)?shù)穆酚蛇x擇協(xié)議和機構(gòu)來實現(xiàn)本發(fā)明。所闡述的方法步驟可以以任何適當(dāng)?shù)捻樞騺韴?zhí)行,并且來自所述示例和實施例的方面可以適當(dāng)?shù)夭⒘谢蚪粨Q??梢允褂萌魏芜m當(dāng)?shù)穆酚蛇x擇協(xié)議,例如中間系統(tǒng)到中間系統(tǒng)(IS-IS)或開放最短路徑優(yōu)先(OSPF)。類似地,任何適當(dāng)?shù)木W(wǎng)絡(luò)都可以提供用于實現(xiàn)本發(fā)明的方法。
權(quán)利要求書(按照條約第19條的修改)1.一種在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的方法,該方法包括以下由計算機實現(xiàn)的步驟接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息;接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組的信息;訪問鏈路狀態(tài)數(shù)據(jù)庫,該鏈路狀態(tài)數(shù)據(jù)庫存儲定義一個或多個鏈路和相鄰節(jié)點的信息;確定所述鏈路狀態(tài)數(shù)據(jù)庫中定義的每個鏈路是否處于所述一個或多個共享風(fēng)險鏈路群組中;以及對于任何被確定為處于所述共享風(fēng)險鏈路群組之一的鏈路,從所述鏈路狀態(tài)數(shù)據(jù)庫中去除相鄰節(jié)點;在所述訪問步驟之前啟動定時器;當(dāng)所述定時器期滿時,確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑。
2.如權(quán)利要求1所述的方法,是作為確定通過所述網(wǎng)絡(luò)從源到目的地的最短路徑的一部分執(zhí)行的。
3.如權(quán)利要求1所述的方法,還包括以下步驟確定基于所述鏈路狀態(tài)數(shù)據(jù)庫的所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開;以及如果所述圖斷開,則確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑,而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路。
4.如權(quán)利要求1所述的方法,其中所述鏈路所屬的共享風(fēng)險鏈路群組被表示為S;其中在最短路徑優(yōu)先樹的計算期間,在向路徑添加節(jié)點X之后,在且僅在鏈路(X,Ni)不屬于S的情況下,將節(jié)點X的每個鄰居Ni添加到暫定樹。
5.如權(quán)利要求1所述的方法,還包括以下步驟啟動最短路徑優(yōu)先樹的計算;
作為所述計算的一部分,將第一節(jié)點添加到路徑中;確定所述第一節(jié)點的鄰居集合;以及在且僅在所述第一節(jié)點和每個鄰居節(jié)點之間的鏈路不屬于所述共享風(fēng)險鏈路群組之一的情況下,將所述鄰居節(jié)點添加到暫定樹。
6.如權(quán)利要求5所述的方法,還包括以下步驟確定代表所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開;以及如果所述圖斷開,則確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑,而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路。
7.一種以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中的計算機可讀介質(zhì),包括一個或多個指令序列,用于在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求1、2或3中任何一條所述的方法的步驟。
8.一種以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中的計算機可讀介質(zhì),包括一個或多個指令序列,用于在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求4、5或6中任何一條所述的方法的步驟。
9.一種用于在以節(jié)點和鏈路作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的裝置,包括用于接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息的裝置;用于接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組的信息的裝置;用于訪問鏈路狀態(tài)數(shù)據(jù)庫的裝置,該鏈路狀態(tài)數(shù)據(jù)庫存儲定義一個或多個鏈路和相鄰節(jié)點的信息;用于確定所述鏈路狀態(tài)數(shù)據(jù)庫中定義的每個鏈路是否處于所述一個或多個共享風(fēng)險鏈路群組中的裝置;用于對于任何被確定為處于所述共享風(fēng)險鏈路群組之一的鏈路,從所述鏈路狀態(tài)數(shù)據(jù)庫中去除相鄰節(jié)點的裝置。
用于在所述訪問步驟之前啟動定時器的裝置;用于當(dāng)所述定時器期滿時確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑的裝置。
10.如權(quán)利要求9所述的裝置,是作為用于確定通過所述網(wǎng)絡(luò)從源到目的地的最短路徑的裝置一部分執(zhí)行的。
11.如權(quán)利要求10所述的裝置,還包括用于確定基于所述鏈路狀態(tài)數(shù)據(jù)庫的所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開的裝置;以及用于在所述圖斷開的情況下確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路的裝置。
12.如權(quán)利要求9所述的裝置,其中所述故障鏈路所屬的所述一個或多個共享風(fēng)險鏈路群組被表示為S,并且還包括用于在最短路徑優(yōu)先樹的計算期間,在向路徑添加節(jié)點X之后,在且僅在鏈路(X,Ni)不屬于S的情況下,將節(jié)點X的每個鄰居Ni添加到暫定樹的裝置。
13.如權(quán)利要求9所述的裝置,還包括用于啟動最短路徑優(yōu)先樹的計算的裝置;用于作為所述計算的一部分將第一節(jié)點添加到路徑中的裝置;用于確定所述第一節(jié)點的鄰居集合的裝置;以及用于在且僅在所述第一節(jié)點和每個鄰居節(jié)點之間的鏈路不屬于所述共享風(fēng)險鏈路群組之一的情況下將所述鄰居節(jié)點添加到暫定樹的裝置。
14.如權(quán)利要求13所述的裝置,還包括用于確定代表所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開的裝置;以及用于在所述圖斷開的情況下確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路的裝置。
15.一種用于在以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中生成路由選擇信息的裝置,該裝置包括一個或多個處理器;
網(wǎng)絡(luò)接口,其可通信地耦合到所述處理器,并且被配置為在所述處理器和網(wǎng)絡(luò)之間傳輸一個或多分組流;以及計算機可讀介質(zhì),其包括一個或多個指令序列,用于生成路由選擇信息,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求1、2或3中任何一條所述的方法的步驟。
16.一種用于在以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中生成路由選擇信息的裝置,該裝置包括一個或多個處理器;網(wǎng)絡(luò)接口,其可通信地耦合到所述處理器,并且被配置為在所述處理器和網(wǎng)絡(luò)之間傳輸一個或多分組流;以及計算機可讀介質(zhì),其包括一個或多個指令序列,用于生成路由選擇信息,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求4、5或6中任何一條所述的方法的步驟。
權(quán)利要求
1.一種在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的方法,該方法包括以下由計算機實現(xiàn)的步驟接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息;接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組的信息;訪問鏈路狀態(tài)數(shù)據(jù)庫,該鏈路狀態(tài)數(shù)據(jù)庫存儲定義一個或多個鏈路和相鄰節(jié)點的信息;確定所述鏈路狀態(tài)數(shù)據(jù)庫中定義的每個鏈路是否處于所述一個或多個共享風(fēng)險鏈路群組中;以及對于任何被確定為處于所述共享風(fēng)險鏈路群組之一中的鏈路,從所述鏈路狀態(tài)數(shù)據(jù)庫中去除相鄰節(jié)點。
2.如權(quán)利要求1所述的方法,是作為確定通過所述網(wǎng)絡(luò)從源到目的地的最短路徑的一部分執(zhí)行的。
3.如權(quán)利要求1所述的方法,還包括以下步驟確定基于所述鏈路狀態(tài)數(shù)據(jù)庫的所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開;以及如果所述圖斷開,則確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑,而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路。
4.如權(quán)利要求1、2或3中任何一條所述的方法,還包括以下步驟在所述訪問步驟之前啟動定時器;當(dāng)所述定時器期滿時,確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑。
5.一種在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的方法,該方法包括以下步驟接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息;接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組S的信息;在最短路徑優(yōu)先樹的計算期間,在向路徑添加節(jié)點X之后,在且僅在鏈路(X,Ni)不屬于S的情況下,將節(jié)點X的每個鄰居Ni添加到暫定樹。
6.一種在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的方法,該方法包括以下步驟接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息;接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組的信息;啟動最短路徑優(yōu)先樹的計算;作為所述計算的一部分,將第一節(jié)點添加到路徑中;確定所述第一節(jié)點的鄰居集合;以及在且僅在所述第一節(jié)點和每個鄰居節(jié)點之間的鏈路不屬于所述共享風(fēng)險鏈路群組之一的情況下,將所述鄰居節(jié)點添加到暫定樹。
7.如權(quán)利要求6所述的方法,還包括以下步驟確定代表所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開;以及如果所述圖斷開,則確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑,而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路。
8.如權(quán)利要求6或7中任何一條所述的方法,還包括以下步驟在所述訪問步驟之前啟動定時器;當(dāng)所述定時器期滿時,確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑。
9.一種以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中的計算機可讀介質(zhì),包括一個或多個指令序列,用于在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求1、2或3中任何一條所述的方法的步驟。
10.一種以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中的計算機可讀介質(zhì),包括一個或多個指令序列,用于在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求5、6或7中任何一條所述的方法的步驟。
11.一種用于在以節(jié)點和鏈路作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的裝置,包括用于接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息的裝置;用于接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組的信息的裝置;用于訪問鏈路狀態(tài)數(shù)據(jù)庫的裝置,該鏈路狀態(tài)數(shù)據(jù)庫存儲定義一個或多個鏈路和相鄰節(jié)點的信息;用于確定所述鏈路狀態(tài)數(shù)據(jù)庫中定義的每個鏈路是否處于所述一個或多個共享風(fēng)險鏈路群組中的裝置;以及用于對于任何被確定為處于所述共享風(fēng)險鏈路群組之一中的鏈路,從所述鏈路狀態(tài)數(shù)據(jù)庫中去除相鄰節(jié)點的裝置。
12.如權(quán)利要求11所述的裝置,是作為用于確定通過所述網(wǎng)絡(luò)從源到目的地的最短路徑的裝置一部分執(zhí)行的。
13.如權(quán)利要求11所述的裝置,還包括用于確定基于所述鏈路狀態(tài)數(shù)據(jù)庫的所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開的裝置;以及用于在所述圖斷開的情況下確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路的裝置。
14.如權(quán)利要求11、12或13中任何一條所述的裝置,還包括用于在所述訪問步驟之前啟動定時器的裝置;用于當(dāng)所述定時器期滿時確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑的裝置。
15.一種用于在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的裝置,該裝置包括用于接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息的裝置;用于接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組S的信息的裝置;用于在最短路徑優(yōu)先樹的計算期間,在向路徑添加節(jié)點X之后,在且僅在鏈路(X,Ni)不屬于S的情況下,將節(jié)點X的每個鄰居Ni添加到暫定樹的裝置。
16.一種用于在包括節(jié)點和鏈路的數(shù)據(jù)通信網(wǎng)絡(luò)中基于共享風(fēng)險鏈路群組信息確定網(wǎng)絡(luò)路由選擇信息的裝置,該裝置包括用于接收標(biāo)識所述網(wǎng)絡(luò)中的故障鏈路的信息的裝置;用于接收定義所述故障鏈路所屬的一個或多個共享風(fēng)險鏈路群組的信息的裝置;用于啟動最短路徑優(yōu)先樹的計算的裝置;用于作為所述計算的一部分將第一節(jié)點添加到路徑中的裝置;用于確定所述第一節(jié)點的鄰居集合的裝置;以及用于在且僅在所述第一節(jié)點和每個鄰居節(jié)點之間的鏈路不屬于所述共享風(fēng)險鏈路群組之一的情況下將所述鄰居節(jié)點添加到暫定樹的裝置。
17.如權(quán)利要求16所述的裝置,還包括用于確定代表所述數(shù)據(jù)通信網(wǎng)絡(luò)的圖是否斷開的裝置;以及用于在所述圖斷開的情況下確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑而不去除任何未被另一網(wǎng)絡(luò)元件明確報告為發(fā)生故障的鏈路的裝置。
18.如權(quán)利要求16或17中任何一條所述的裝置,還包括用于在所述訪問步驟之前啟動定時器的裝置;用于當(dāng)所述定時器期滿時確定通過所述網(wǎng)絡(luò)去往目的地網(wǎng)絡(luò)元件的新的最短路徑的裝置。
19.一種用于在以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中生成路由選擇信息的裝置,該裝置包括一個或多個處理器;網(wǎng)絡(luò)接口,其通信耦合到所述處理器,并且被配置為在所述處理器和網(wǎng)絡(luò)之間傳輸一個或多分組流;以及計算機可讀介質(zhì),其包括用于生成路由選擇信息的一個或多個指令序列,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求1、2或3中任何一條所述的方法的步驟。
20.一種用于在以鏈路和節(jié)點作為元件的數(shù)據(jù)通信網(wǎng)絡(luò)中生成路由選擇信息的裝置,該裝置包括一個或多個處理器;網(wǎng)絡(luò)接口,其通信耦合到所述處理器,并且被配置為在所述處理器和網(wǎng)絡(luò)之間傳輸一個或多分組流;以及計算機可讀介質(zhì),其包括用于生成路由選擇信息的一個或多個指令序列,所述指令在被一個或多個處理器執(zhí)行時,致使所述一個或多個處理器執(zhí)行如權(quán)利要求5、6或7中任何一條所述的方法的步驟。
全文摘要
公開了一種方法和裝置,用于部分基于關(guān)于關(guān)聯(lián)為共享風(fēng)險鏈路群組的鏈路的信息來執(zhí)行數(shù)據(jù)通信網(wǎng)絡(luò)中的最短路徑優(yōu)先網(wǎng)絡(luò)路由選擇路徑確定。通過考慮鏈路是否在共享風(fēng)險鏈路群組內(nèi),在計算最短路徑優(yōu)先樹時避免了微循環(huán)。
文檔編號G01S13/00GK1879356SQ200480033399
公開日2006年12月13日 申請日期2004年11月9日 優(yōu)先權(quán)日2003年11月21日
發(fā)明者讓·菲利普·瓦瑟爾, 斯特凡諾·B·普雷維蒂, 克拉倫斯·菲爾斯非斯, 戴維·沃德 申請人:思科技術(shù)公司