專利名稱:用于同步的路由系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及路由系統(tǒng),特別是路由系統(tǒng)的失效轉(zhuǎn)移(failover),更具體地說,涉及失效轉(zhuǎn)移之后的對等路由系統(tǒng)的再同步。
背景技術(shù):
路由器和路由系統(tǒng)提供分組交換網(wǎng)絡(luò)的節(jié)點之間的分組的路由。為了增強分組交換網(wǎng)絡(luò)的可靠性,在網(wǎng)絡(luò)節(jié)點處操作的路由系統(tǒng)可以包括冗余路由設(shè)備。例如,路由系統(tǒng)可以包括可以正常執(zhí)行或管理分組轉(zhuǎn)發(fā)的主要或活動路由處理器,以及在主要路由處理器失效時接管主要路由處理器的輔助或備用路由處理器。然而,從主要路由處理器到輔助路由處理器的轉(zhuǎn)接(即,失效轉(zhuǎn)移)常常是破壞性事件。在失效轉(zhuǎn)移時,輔助路由處理器應(yīng)當反映主要路由處理器的當前狀態(tài)。許多傳統(tǒng)路由系統(tǒng)使用活動復(fù)制技術(shù)來用于失效過程。在這些系統(tǒng)中,狀態(tài)信息被不斷保存(即,被設(shè)置檢查點)到備用處理器。利用活動復(fù)制,可以快速從失效中恢復(fù),但是在正常的執(zhí)行中存在大的開銷?;顒訌?fù)制使用由兩個處理器資源(例如,兩個處理器和存儲器)構(gòu)成的冗余結(jié)構(gòu)?;顒訌?fù)制的一個問題是,由于在系統(tǒng)運行時不斷執(zhí)行復(fù)制,所以處理資源的使用不經(jīng)濟。
BGP-4(邊界網(wǎng)關(guān)協(xié)議)路由協(xié)議是用于因特網(wǎng)路由的主要協(xié)議之一,并且是基于TCP傳輸?shù)脑鲋祬f(xié)議。BGP的一個版本由Y.Rekhter和T.Li編輯的日期為1995年3月名為“A Border Gateway Protocol 4(BGP-4)”的網(wǎng)絡(luò)工作組的請求注解(RFC)1771(被稱作RFC 1771)所描述,而其它版本在RFC 1771后續(xù)的更新和修訂中進行了描述。BGP路由信息的動態(tài)交換在E.Chen編輯的日期為2000年9月名為“Route Refresh Capabilityfor BGP-4”的網(wǎng)絡(luò)工作組的RFC 2918中描述。TCP傳輸協(xié)議本身相當復(fù)雜的事實,以及通常包含的BGP協(xié)議和純數(shù)據(jù)量的復(fù)雜性,使得難以使用主要和備用路由處理器來支持高度可靠的BGP路由系統(tǒng),這是因為在失效轉(zhuǎn)移之后,難以使BGP路由器與BGP對等路由器同步,并且難以維持TCP狀態(tài)。傳統(tǒng)系統(tǒng)或者改變協(xié)議或者使用大量的檢查點操作。例如,一些傳統(tǒng)方法基本對所有狀態(tài)數(shù)據(jù)(TCP狀態(tài)和BGP協(xié)議狀態(tài)兩者)進行檢查點操作。這種大量的檢查點操作消耗了過多的系統(tǒng)資源,從而降低了系統(tǒng)性能。
因此,通常需要一種改進的路由系統(tǒng)與路由方法。因此,還需要一種減少在正常路由操作期間所需的檢查點操作量的路由系統(tǒng)與方法。還需要一種在主要路由處理器的失效轉(zhuǎn)移之后與對等路由系統(tǒng)再同步的路由系統(tǒng)與方法。還需要一種支持邊界網(wǎng)關(guān)協(xié)議(BGP)并在主要路由處理器的失效轉(zhuǎn)移之后與對等路由系統(tǒng)再同步而無需過多檢查點操作的路由系統(tǒng)與方法。還需要一種在主要路由處理器的失效轉(zhuǎn)移之后與對等路由系統(tǒng)再同步而無需要求對等系統(tǒng)更新它們的軟件的路由系統(tǒng)與方法。
發(fā)明內(nèi)容
在一個實施例中,本發(fā)明提供了一種用于在邊界網(wǎng)關(guān)協(xié)議(BGP)路由系統(tǒng)的主要處理器失效之后使BGP路由系統(tǒng)與對等BGP路由系統(tǒng)同步的方法。在該實施例中,主要處理器使用初始路由數(shù)據(jù)庫來執(zhí)行路由操作,并且維護可由備用路由處理器訪問的前綴表,該前綴表列出了初始路由數(shù)據(jù)庫的路由的前綴。在主要路由處理器失效后,備用路由處理器可以使用該前綴表。在檢測到主要路由處理器失效后由備用處理器執(zhí)行的方法包括向BGP對等路由系統(tǒng)發(fā)送BGP路由刷新消息。BGP路由刷新消息請求由BGP對等路由系統(tǒng)所支持的路由。在該實施例中,該方法還包括響應(yīng)于BGP路由刷新消息而從BGP對等路由系統(tǒng)接收路由,以及從接收自BGP對等路由系統(tǒng)的路由中產(chǎn)生備用(即,再生)路由數(shù)據(jù)庫。備用路由數(shù)據(jù)庫中的路由的前綴與前綴表中的前綴相比較,并且對于具有在前綴表中列出而沒有在備用路由數(shù)據(jù)庫中標識的前綴的路由,將BGP路由撤銷消息發(fā)送到對等路由系統(tǒng)。
在另一個實施例中,本發(fā)明提供了一種路由系統(tǒng),該路由系統(tǒng)包括主要路由處理器、備用路由處理器以及多個線路接口,以根據(jù)路由處理器管理的路由數(shù)據(jù)庫來路由通信。響應(yīng)于檢測到主要路由處理器的失效,備用路由處理器從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫,比較備用路由數(shù)據(jù)庫中的路由的前綴和前綴表中的前綴,以及對于具有在前綴表中列出而沒有在備用路由數(shù)據(jù)庫中標識的前綴的路由,發(fā)送路由撤銷消息到對等路由系統(tǒng)。在檢測到主要路由處理器的失效之后,備用路由處理器被指示執(zhí)行失效轉(zhuǎn)移過程以使能由備用處理器所執(zhí)行的路由管理。失效轉(zhuǎn)移過程包括從對等路由系統(tǒng)請求路由。通過去除冗余路由,備用路由處理器可以產(chǎn)生備用路由數(shù)據(jù)庫,其中去除冗余路由的步驟是通過執(zhí)行最優(yōu)路徑算法以消除從對等路由系統(tǒng)接收的冗余路由而進行的。
當從對等路由系統(tǒng)之一接收到用于指示由該對等路由系統(tǒng)所處理的新路由的路由更新消息時,新路由會被添加到當前的路由數(shù)據(jù)庫中。作為檢查點操作的一部分,當新路由的前綴還沒有列入前綴表中時,可以用該前綴更新前綴表。
權(quán)利要求涉及了本發(fā)明的多種實施例。然而,當結(jié)合附圖考慮時,詳細的說明提供了對本發(fā)明更全面的理解,整個附圖中相似的標號指代類似的項目圖1圖示了根據(jù)本發(fā)明實施例的路由系統(tǒng)的網(wǎng)絡(luò);圖2是根據(jù)本發(fā)明實施例的路由數(shù)據(jù)庫的示例;圖3是根據(jù)本發(fā)明實施例的路由系統(tǒng)的功能框圖;圖4是根據(jù)本發(fā)明實施例的前綴表示例;圖5是根據(jù)本發(fā)明實施例的路由系統(tǒng)同步過程的流程圖;以及圖6是根據(jù)本發(fā)明實施例的恢復(fù)過程的流程圖。
具體實施例方式
下面的說明和附圖舉例說明了足以使本領(lǐng)域技術(shù)人員進行實施的本發(fā)明的具體實施例。其它實施例可以加入結(jié)構(gòu)、邏輯、電氣、過程以及其它改變。示例僅僅代表了可能的變化形式。除非明確要求,否則各個組件和功能都是可選的,并且操作順序可以改變。一些實施例的部分或特征可以被包括在其它實施例中或者代替其它實施例中的部分或特征。本發(fā)明的范圍覆蓋權(quán)利要求的全部范圍以及所有可得到的等同形式。
在多種實施例中,本發(fā)明提供了一種改進的路由系統(tǒng)和路由方法。在實施例中,本發(fā)明還提供了一種用于減少在正常路由操作期間所需的檢查點操作量的路由系統(tǒng)和方法。在其它實施例中,本發(fā)明提供了一種用于在主要路由處理器失效轉(zhuǎn)移之后與對等路由系統(tǒng)再同步的路由系統(tǒng)與方法。在其它實施例中,本發(fā)明還提供了一種支持邊界網(wǎng)關(guān)協(xié)議(BGP)并在主要路由處理器的失效轉(zhuǎn)移之后與對等路由系統(tǒng)再同步而無需過多檢查點操作的路由系統(tǒng)與方法。在其它實施例中,本發(fā)明還提供了一種在主要路由處理器的失效轉(zhuǎn)移之后與對等路由系統(tǒng)再同步而無需要求對等系統(tǒng)更新它們的軟件的路由系統(tǒng)與方法。在多種實施例中,本發(fā)明可以支持用于路由IPv4協(xié)議分組、IPv6協(xié)議分組、無連接網(wǎng)絡(luò)服務(wù)(CLNS)分組以及根據(jù)其它協(xié)議配置的分組的BGP。
本發(fā)明的實施例通過在正常操作期間,對路由前綴表中的路由前綴進行檢查點操作,提供了透明路由系統(tǒng)失效轉(zhuǎn)移。當新的路由被添加到路由數(shù)據(jù)庫中時,路由前綴表在前綴表中沒有該新路由的前綴時被更新。在主要路由處理器失效之后,通過使用該前綴表來同步與對等路由系統(tǒng)的路由。在檢測到失效之后,備用路由處理器響應(yīng)于該失效而從對等路由系統(tǒng)請求路由,并且從接收自對等路由系統(tǒng)的路由中生成備用路由數(shù)據(jù)庫。備用路由處理器隨后為備用路由數(shù)據(jù)庫中的路由向?qū)Φ嚷酚上到y(tǒng)發(fā)送路由通告消息。備用路由處理器還比較備用路由數(shù)據(jù)庫中的路由前綴和前綴表中的前綴,并且對于具有在前綴表中列出而沒有在備用路由數(shù)據(jù)庫中標識出的前綴的路由,發(fā)送路由撤銷消息到對等路由系統(tǒng)。
在本發(fā)明的一些實施例中,可以支持邊界網(wǎng)關(guān)協(xié)議(BGP)。BGP的一個例子由Y.Rekhter和T.Li編輯的日期為1995年3月名為“A BorderGateway Protocol 4(BGP-4)”的網(wǎng)絡(luò)工作組的請求注解1771(被稱作RFC 1771)所描述。RFC 1771的這個版本以及任意后續(xù)版本和修訂版在這里作為參考而被引用。
圖1圖示了根據(jù)本發(fā)明實施例的路由系統(tǒng)的網(wǎng)絡(luò)。網(wǎng)絡(luò)100包括通過鏈路104與對等路由系統(tǒng)通信的多個路由系統(tǒng)(RS)102。對等路由系統(tǒng)指的是具體路由系統(tǒng)可直接訪問而無需通過中間路由系統(tǒng)來請求路由的路由系統(tǒng)。例如,路由系統(tǒng)106的對等路由系統(tǒng)可以包括路由系統(tǒng)108、110、112和114。對等路由系統(tǒng)還包括下述路由系統(tǒng),這些路由系統(tǒng)可能沒有通過鏈路直接耦合,但是可以象它們被直接耦合那樣進行通信。圖1可以僅僅示出網(wǎng)絡(luò)100的一小部分,網(wǎng)絡(luò)100可以包括成千上萬或更多的路由系統(tǒng)102。鏈路104可以包括用于在路由系統(tǒng)之間提供分組數(shù)據(jù)通信的任何類型通信鏈路。鏈路104可以包括任何類型的通信鏈路,包括無線鏈路、光鏈路、有線鏈路和這里沒有列舉的其它鏈路。
在一個實施例中,至少一些路由系統(tǒng)102可以根據(jù)BGP執(zhí)行分組轉(zhuǎn)發(fā)。根據(jù)該實施例,路由表最初在節(jié)點(例如,系統(tǒng)102)之間被交換,并且可以由每個節(jié)點根據(jù)其本地存儲的路由數(shù)據(jù)庫來執(zhí)行路由。在節(jié)點之間傳送增量更新以更新它們的路由數(shù)據(jù)庫。每個路由系統(tǒng)可以在連接持續(xù)期間保持包括來自其對等系統(tǒng)的當前路由信息的路由數(shù)據(jù)庫??梢灾芷谛园l(fā)送保活(keep-alive)消息以幫助確保連接的活性。
圖2是根據(jù)本發(fā)明實施例的路由數(shù)據(jù)庫的部分示例??梢杂陕酚上到y(tǒng)從接收自對等節(jié)點的路由信息中生成路由數(shù)據(jù)庫200。接收自對等節(jié)點的路由信息可以包括路由表或者可以是路由更新消息的形式。如這里所使用的,術(shù)語“路由數(shù)據(jù)庫”可以包括用于路由的任何數(shù)據(jù)結(jié)構(gòu)。在一些實施例中,包括BGP的實施例,術(shù)語“路由數(shù)據(jù)庫”可以指代路由信息庫(RIB)。在BGP實施例中,產(chǎn)生備用本地RIB,并且備用本地RIB被用于產(chǎn)生備用轉(zhuǎn)發(fā)信息庫(FIB),其中數(shù)據(jù)可以被下載到線路卡。
路由數(shù)據(jù)庫200可以包括前綴欄202,其可以包括諸如IP地址前綴的前綴。一個示例IP地址前綴是“192.168.42/24”,其中“/24”可以指代前綴中的多個位。該示例IP前綴可以是IP地址的一部分。該示例前綴192.168.42/23將是23位前綴,其自身包括192.168.42/24和192.168.43/24以及所有更長的前綴(即,192.168.42.*/[25-32]和192.168.43.*/[25-32])。192.168.42/24的另一種寫法是利用指示有效位的“網(wǎng)絡(luò)掩碼”。如果以上述方式表示的話,將是192.168.42.0和255.255.255.0,其中第一點分四元組是地址,而第二點分四元組是掩碼。對于IPv4地址,可以具有多達232個前綴。欄202中的等同前綴可以與用于路由數(shù)據(jù)的不只一個路由或路徑相關(guān)聯(lián)。欄204標識特定路由的下一跳地址。下一跳地址可以是應(yīng)當被用作去往更新消息中所標識的目的地的下一跳的邊界路由器的IP地址。
路由數(shù)據(jù)庫200中的條目還可以包括欄206,其可以標識每個路由的自治系統(tǒng)(AS)路徑屬性。在支持BGP-4的一個實施例中,可以由單個IP前綴表示一組可到達的目的地。在欄202中具有相同前綴的路由可以具有欄206中所標識的不同AS路徑。通過具有欄206中標識的不同AS路徑或者在欄208中標識的不同路徑屬性,路由數(shù)據(jù)庫200可以被彼此區(qū)分。舉例來說,路徑屬性可以標識已經(jīng)發(fā)送了特定路由的對等系統(tǒng)。在一些實施例中(例如,一些非BGP實施例)路由數(shù)據(jù)庫200可以包括比所示出的用于每個路由的欄數(shù)更多或更少的欄數(shù)。
諸如路由系統(tǒng)102(圖1)的路由系統(tǒng)可以從路由信息(例如,更新消息)中生成路由數(shù)據(jù)庫200,所述路由信息可能接收自對等路由系統(tǒng)。更新消息可以標識由對等路由系統(tǒng)所支持的路由,并且可以包括前綴和AS路徑。更新消息還可以標識對等路由系統(tǒng)不再支持的路由。在這種情況下,可以在接收自對等系統(tǒng)的更新消息的撤銷路由字段中指示路由。
在一個實施例中,更新消息可以用于在對等路由系統(tǒng)之間傳輸路由信息。更新分組中的信息可以用于構(gòu)建描述多個自治系統(tǒng)之間關(guān)系的圖表。通過提供規(guī)則,路由信息循環(huán),并且一些其它的異??梢员粰z測到并被從AS間路由中去除。在該實施例中,更新消息可以告知對等系統(tǒng)一個或多個可行路由,或者從服務(wù)中撤銷多個不可行的路由。更新消息還可以同時告知一個或多個可行路由并從服務(wù)撤銷多個不可行路由。更新消息可以包括固定大小的頭部,并且可選地可包括其它字段,例如不可行路由長度字段、撤銷路由字段、總路徑屬性長度字段、路徑屬性字段和網(wǎng)絡(luò)層能到達性信息字段。
不可行路由長度字段可以包括兩個八位字節(jié)無符號整數(shù),用于以八位字節(jié)來指示撤銷路由字段的總長度。它的值還可以確定網(wǎng)絡(luò)層能到達性信息字段的長度。零值可以指示沒有任何路由從服務(wù)中撤銷,以及在該更新消息中不存在撤銷路由字段。撤銷路由字段可以是可變長度字段,其含有要從服務(wù)中撤銷的路由的IP地址前綴列表。每個IP地址前綴可以被編碼為<長度,前綴>的2元組形式。長度字段可以指示IP地址前綴中的位的長度。零長度可以指示匹配所有IP地址的前綴。前綴字段可以含有IP地址前綴,其后跟隨足夠的尾隨位以使字段的末端落于八位字節(jié)的界上??偮窂綄傩蚤L度可以是兩個八位字節(jié)無符號整數(shù),用于以八位字節(jié)指示路徑屬性字段的總長度。零值可以指示在該更新消息中不存在任何網(wǎng)絡(luò)層能到達性信息字段。路徑屬性可以是路徑屬性的可變長度序列。路徑屬性可以包括定義路徑信息的發(fā)端的起點。AS路徑是可以由一系列AS路徑段構(gòu)成的屬性。每個AS路徑段可以由三元組<路徑段類型、路徑段長度、路徑段值>表示。盡管這里描述的本發(fā)明的實施例支持用于IPv4分組的BGP,但是在其它實施例中,本發(fā)明可以支持用于路由IPv6協(xié)議分組、無連接網(wǎng)絡(luò)服務(wù)(CLNS)分組以及根據(jù)其它協(xié)議配置的分組的BGP。在一個實施例中,更新消息僅需要標識由前綴撤銷的路由。
圖3是根據(jù)本發(fā)明實施例的路由系統(tǒng)的功能框圖。路由系統(tǒng)300可以如這里所描述的那樣執(zhí)行在對等路由系統(tǒng)之間的路由。路由系統(tǒng)300可以適于用作路由系統(tǒng)102(圖1)之一,盡管其它路由系統(tǒng)也是適用的。路由系統(tǒng)300可以包括主要路由處理器302、備用路由處理器304和多個線路接口306,以根據(jù)路由處理器所管理的路由數(shù)據(jù)庫來對通過鏈路308接收的通信進行路由。路由數(shù)據(jù)庫200(圖2)是路由處理器所使用的適當路由數(shù)據(jù)庫的示例。通過在正常操作期間通過維護路由前綴表對路由前綴進行檢查點操作,路由系統(tǒng)300可以提供充分透明的失效轉(zhuǎn)移。適當前綴表的示例在圖4中圖示。響應(yīng)于檢測到主要路由處理器302失效,備用路由處理器304從接收自對等路由系統(tǒng)的路由中生成備用(例如,再生)路由數(shù)據(jù)庫。對于在備用路由數(shù)據(jù)庫中標識的路由,備用路由處理器304還可以向?qū)Φ嚷酚上到y(tǒng)發(fā)送路由通知消息。備用路由處理器304還可以比較備用路由數(shù)據(jù)庫中的路由前綴和前綴表中的前綴,并且對于具有在前綴表中列出而沒有在備用路由數(shù)據(jù)庫中標識的前綴的路由,可以發(fā)送路由撤銷消息到對等路由系統(tǒng)。在一個BGP實施例中,路由通知消息和路由撤銷消息都可以被認為是BGP更新消息形式。
在一個實施例中,在檢測到主要路由處理器302失效時,備用路由處理器304可以被指示執(zhí)行失效轉(zhuǎn)移過程以使備用處理器304執(zhí)行路由管理。失效轉(zhuǎn)移過程可以包括從對等路由系統(tǒng)中請求路由。通過去除冗余路由,備用路由處理器304可以產(chǎn)生備用路由數(shù)據(jù)庫,其中去除冗余路由是通過實現(xiàn)最優(yōu)路徑算法以消除從對等路由系統(tǒng)接收的冗余路由而進行的。每個路由系統(tǒng)302、304可以至少包括處理元件和關(guān)聯(lián)的存儲器。在BGP實施例中,產(chǎn)生備用本地RIB,并且備用本地RIB被用于產(chǎn)生備用轉(zhuǎn)發(fā)信息庫(FIB),其中數(shù)據(jù)可以被下載到線路卡。
在正常操作期間,當前活動的路由處理器(路由處理器302或304)可以從對等路由系統(tǒng)之一接收指示該對等路由系統(tǒng)處理的新路由的路由更新消息。當前活動的路由處理器可以將新的路由添加到當前路由數(shù)據(jù)庫中。當新路由的前綴沒有列在前綴表中時,當前活動的路由處理器還可以通過用該前綴更新前綴表來對前綴進行檢查點操作。前綴表可以被存儲在備用路由處理系統(tǒng)的存儲器中。
在一個實施例中,當當前活動的路由處理器從對等路由系統(tǒng)之一接收到標識出要被撤銷的路由的路由更新消息時,路由更新消息可以指示不再由該對等路由系統(tǒng)處理的路由。當前活動的路由處理器可以從當前路由數(shù)據(jù)庫中去除被撤銷的路由。當當前路由數(shù)據(jù)庫不包括帶有被撤銷路由的前綴的任何路由時,當前活動的路由處理器還可以從前綴表中去除該被撤銷路由的前綴。
線路接口306根據(jù)路由數(shù)據(jù)庫來路由分組,所述路由數(shù)據(jù)庫可以由當前活動的路由處理器通過通信路徑310來提供,通信路徑310可以是總線。在一個實施例中,在活動路由處理器更新路由數(shù)據(jù)庫之后,該更新可以被提供給線路接口306。在失效轉(zhuǎn)移操作期間,線路接口306可以根據(jù)最近接收的路由數(shù)據(jù)庫繼續(xù)執(zhí)行分組轉(zhuǎn)發(fā),直到接收到再生的路由數(shù)據(jù)庫。在一個實施例中,系統(tǒng)管理器312可以用于以多種不同方式檢測主要路由處理器302的失效,所述多種不同方式包括監(jiān)控來自路由處理器的諸如心跳消息的信號。盡管系統(tǒng)300被圖示為具有若干分立的功能元件,但是這些功能元件中的一個或多個可以組合在一起,并且可以通過軟件配置的元件(例如含有數(shù)字信號處理器(DSP)的處理器)和/或其它硬件元件的組合來實現(xiàn)。除非以其它方式特別指定,否則諸如處理、計算、運算、確定、顯示等的術(shù)語可以指代下述一個或多個處理或計算系統(tǒng)或類似設(shè)備的動作和/或處理,所述系統(tǒng)和設(shè)備可以操縱在處理系統(tǒng)的寄存器和存儲器中被表達為物理(例如,電子)量的數(shù)據(jù),并將其轉(zhuǎn)換成在處理系統(tǒng)的寄存器或存儲器或其它這樣的信息存儲、傳輸或顯示設(shè)備中被類似表達為物理量的其它數(shù)據(jù)。此外,如這里所使用的,計算設(shè)備包括與計算機可讀存儲器耦合的一個或多個處理元件,所述計算機可讀存儲器可以是易失性或非易失性存儲器或它們的組合。并且,如這里所使用的,數(shù)據(jù)指的是一個或多個存儲數(shù)據(jù)元素,其可以包括多文件、單文件、文件區(qū)(fileextent)、數(shù)據(jù)庫、存儲設(shè)備分區(qū)、卷、卷集等。數(shù)據(jù)不需要駐留于單個存儲設(shè)備上,而是可以跨越多個存儲設(shè)備。
圖4是根據(jù)本發(fā)明實施例的前綴表的示例。前綴表400可以包括用于路由系統(tǒng)所支持的路由的1P地址前綴402的列表,所述路由系統(tǒng)例如是路由系統(tǒng)300(圖3)。前綴表400由主要路由處理器管理,并且至少在主要路由處理器失效之后,可以由備用路由處理器訪問。在一個實施例中,當具有還沒有列入該前綴表的前綴的新路由被添加到路由數(shù)據(jù)庫中時,僅需要將前綴添加到表400。此外,當從路由數(shù)據(jù)庫中撤銷路由且在路由數(shù)據(jù)庫中不包括具有相同前綴的任何其它路由時,可以從表400去除該前綴。因此,前綴表的使用可以顯著減少與對等路由系統(tǒng)進行同步所需的檢查點操作量。在(多個)路由可能被告知對等系統(tǒng)之前,對表400進行相應(yīng)前綴的檢查點操作。另一方面,在從表400去除前綴之前,無需必須撤銷相應(yīng)路由。
圖5是根據(jù)本發(fā)明實施例的路由系統(tǒng)同步過程的流程圖。同步過程500可以由諸如圖3的系統(tǒng)300的路由系統(tǒng)來實現(xiàn),盡管其它路由系統(tǒng)也可以適于實現(xiàn)過程500。一般而言,過程500可以通過使用檢查點操作來同步對等路由系統(tǒng),并且可以提供充分透明的失效轉(zhuǎn)移。在一個實施例中,執(zhí)行過程500的路由系統(tǒng)可以支持邊界網(wǎng)關(guān)協(xié)議,例如上面描述的BGP,盡管這不是必要條件,并且可以提供透明的BGP失效轉(zhuǎn)移。在一個實施例中,可以結(jié)合TCP會話恢復(fù)技術(shù)來實現(xiàn)過程500。
過程500可以被視作在正常操作期間被執(zhí)行的過程,其包括檢查點操作和路由操作。在失效之后,可以執(zhí)行諸如過程600(圖6)的恢復(fù)過程,其包括路由的重新取得和重新分配。
在操作502中,路由系統(tǒng)可以根據(jù)一個或多個路由數(shù)據(jù)庫來路由通信。在一個實施例中,路由系統(tǒng)可以包括多個線路接口,例如用于特定通信鏈路的接口卡。線路接口可以存儲當前路由數(shù)據(jù)庫,例如在路由通信中使用的路由數(shù)據(jù)庫200(圖2)。當前路由數(shù)據(jù)庫可以由活動路由處理器提供,其中除了別的處理器之外,活動路由處理器管理路由數(shù)據(jù)庫。
在操作504中,可能從對等路由系統(tǒng)接收到新路由。在一個實施例中,新路由可以作為路由更新消息的一部分而被接收,其可以是基于BGP的。當接收到新路由時,活動路由處理器可以在操作506中更新當前路由數(shù)據(jù)庫。當在操作504中沒有接收到新路由時,會重復(fù)操作502。
在操作508中,對新路由進行檢查點操作。在一個實施例中,操作508包括向前綴表添加用于新路由的前綴,該前綴表可以由備用路由處理器訪問。前綴表優(yōu)選至少在主要路由處理器失效之后,可以由備用路由處理器訪問。前綴表400(圖4)是路由系統(tǒng)所使用的適當前綴表的示例。當所接收到的路由的前綴沒有在前綴表中預(yù)先提供時,用于特定路由的前綴被添加到前綴表。由于路由數(shù)據(jù)庫對于相同前綴可以包括許多替代的路由,所以與對每個路由進行檢查點操作的傳統(tǒng)方法相比,可以實現(xiàn)檢查點操作的顯著減少。在一個實施例中,僅有前綴自身進行檢查點操作(例如,對于IPv4路由來說為5字節(jié)或更少)。
在一個實施例中,當在操作508中路由被添加到當前路由數(shù)據(jù)庫中時,活動路由處理器可以向諸如線路接口306(圖3)的線路接口提供更新后的路由信息。此外,當新路由被添加到當前路由數(shù)據(jù)庫中時,可以通知對等路由系統(tǒng)該路由系統(tǒng)將根據(jù)所接收到的路由來執(zhí)行路由操作。在BGP實施例和一些其它實施例中,在相應(yīng)的路由被告知對等系統(tǒng)之前執(zhí)行檢查點操作。過程500還可以包括響應(yīng)于路由更新消息去除路由,以撤銷從對等路由系統(tǒng)接收的一個或多個路由。在這種情況下,當特定前綴不支持任何路由時,操作508可以包括從前綴表中去除該前綴。
在操作510中,更新消息可以被發(fā)送到對等路由系統(tǒng)。更新消息可以通知對等路由系統(tǒng)下述路由,即現(xiàn)在正由該路由系統(tǒng)處理的路由以及不再由該路由系統(tǒng)處理的路由。在BGP實施例中,操作510可以包括發(fā)送根據(jù)BGP的路由更新消息。
在過程500的執(zhí)行期間,可以監(jiān)控來自當前活動的(即,主要)路由處理器的信號以檢測失效。例如,可以監(jiān)控來自活動路由處理器的心跳消息以檢測失效??梢栽谶^程500執(zhí)行期間的任意點處檢測到失效。當檢測到當前活動的路由處理器的失效之后,啟動恢復(fù)過程,其中備用處理器從對等路由系統(tǒng)請求路由以產(chǎn)生備用路由數(shù)據(jù)庫。當沒有檢測到當前活動的路由處理器的失效時,重復(fù)操作502至510,并且路由系統(tǒng)會繼續(xù)它的正常操作,該正常操作包括如上所述的路由分組以及對新路由的前綴進行檢查點操作。
盡管過程500的各個操作被圖示和描述為單獨操作,但是可以同時執(zhí)行這些操作中的一個或多個,并且不需要以圖示的順序執(zhí)行這些操作。
圖6是根據(jù)本發(fā)明實施例的恢復(fù)過程的流程圖。當檢測到當前活動的(即,主要)路由處理器的失效時,可以適用恢復(fù)過程600。過程600可以被視為失效轉(zhuǎn)移過程,其使備用處理器能夠執(zhí)行路由管理。當在執(zhí)行過程500(圖5)期間檢測到失效時,可以適用過程600。除此之外,在執(zhí)行過程600期間,備用處理器從對等路由系統(tǒng)請求路由以產(chǎn)生新的路由數(shù)據(jù)庫。在操作602中,備用路由處理器從對等路由系統(tǒng)請求路由,并且在BGP實施例中,可以發(fā)送路由刷新/請求消息到對等系統(tǒng)。響應(yīng)于路由請求,備用路由處理器可以從對等系統(tǒng)接收對等方的路由,其可以作為路由更新消息的一部分而被接收。操作602還可以包括確定當已經(jīng)接收了全部或足夠的對等路由時,可以通過試探法(heuristic)(例如,接收保活消息或空更新消息)執(zhí)行哪種路由。在預(yù)定時間量內(nèi)沒有響應(yīng)于路由請求而從特定對等系統(tǒng)接收到保活或更新消息的情況下,還可以使用超時。
在操作604中,可以從接收自對等路由系統(tǒng)的路由中產(chǎn)生新的路由數(shù)據(jù)庫。可以從數(shù)據(jù)庫中去除從對等路由系統(tǒng)接收的冗余路由。在一個實施例中,操作604可以實現(xiàn)最優(yōu)路徑算法以消除從對等路由系統(tǒng)接收的具有冗余前綴的路由。在BGP實施例中,操作604可以使用備用本地RIB以產(chǎn)生備用轉(zhuǎn)發(fā)信息庫(FIB)。其它產(chǎn)生路由數(shù)據(jù)庫的方法也可適用于多個實施例。
在操作606中,新路由被發(fā)送(即,告知)給對等路由系統(tǒng)。根據(jù)BGP實施例,新路由作為BGP更新消息的一部分而被發(fā)送。該更新可以通知對等系統(tǒng)發(fā)送新路由的路由系統(tǒng)支持哪些路由。在操作608中,在前綴表中進行檢查點操作的前綴與操作604中產(chǎn)生的新路由數(shù)據(jù)庫中的路由的前綴相比較。當操作608標識出前綴表中不與新路由數(shù)據(jù)庫中的任何路由相關(guān)聯(lián)的前綴時,操作610可以發(fā)送撤銷消息到對等路由系統(tǒng),該撤銷消息請求該對等路由系統(tǒng)撤銷具有該前綴的路由。操作610撤銷先前告知的由失效的路由處理器所處理的路由,并且這些路由不再處于路由數(shù)據(jù)庫中。在一個實施例中,可以為存在于前綴表中而沒有存在于新路由數(shù)據(jù)庫(即,恢復(fù)后的數(shù)據(jù)庫)中的每個前綴,發(fā)送BGP更新消息(指示撤銷前綴)。在完成操作610時,對等路由系統(tǒng)的狀態(tài)應(yīng)當與本路由系統(tǒng)的狀態(tài)同步。
在操作612中,可以更新由備用路由處理器維護的前綴表,其中可以去除操作610中標識出的前綴。備用路由處理器現(xiàn)在可以被視作主要或活動路由處理器并且可以執(zhí)行操作614。在操作614中,通過使用新的(即,恢復(fù)后的)路由數(shù)據(jù)庫和檢查點操作后的前綴,現(xiàn)在活動的路由處理器可以執(zhí)行路由操作與路由同步,例如如過程500(圖5)所描述的那樣。在一個實施例中,失效的路由處理器例如可以被替換、修復(fù)或者恢復(fù)服務(wù)(例如,重啟動)。其隨后可以用作備用路由處理器。
盡管過程600的各個操作被圖示和描述為單獨操作,但是可以同時執(zhí)行這些操作中的一個或多個,并且不需要以圖示的順序執(zhí)行這些操作。然而,在一些實施例中,應(yīng)當在對等路由系統(tǒng)被告知與前綴相對應(yīng)的路由之前完成向前綴表添加那些前綴(即,檢查點操作)。
在幾個其它的實施例中,本發(fā)明提供了包括其上存儲有指令的存儲介質(zhì)的制品,所述指令當被數(shù)字計算平臺執(zhí)行時,使得響應(yīng)于失效而從對等路由系統(tǒng)請求路由,從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫,比較備用路由數(shù)據(jù)庫中的路由前綴和前綴表中的前綴,以及對于具有在前綴表中列出而沒有在備用路由數(shù)據(jù)庫中標識的前綴的路由,發(fā)送路由撤銷消息到對等路由系統(tǒng)。舉例來說,所述物件可以是計算機盤(例如磁盤或CD)或者計算機存儲器,并且所述存儲介質(zhì)可以是包括磁介質(zhì)和光介質(zhì)在內(nèi)的適于存儲數(shù)字信息的任何計算機可讀介質(zhì)。
這樣,已經(jīng)描述了用于在主要路由處理器失效后將路由管理切換到備用路由處理器的系統(tǒng)與方法。該系統(tǒng)與方法通過使用經(jīng)檢查點操作的路由前綴,可以提供充分透明的失效轉(zhuǎn)移。
前面對具體實施例的描述揭示了本發(fā)明的一般性質(zhì),這足以使本領(lǐng)域技術(shù)人員通過應(yīng)用現(xiàn)有知識方便地修改和/或改動它,以用于多種應(yīng)用而不脫離一般概念。因此這種改動和修改在所公開實施例的等同物范圍與內(nèi)涵之內(nèi)。這里使用的用語和術(shù)語是出于說明而非限制的目的。因此,本發(fā)明包括落入權(quán)利要求精神與范圍內(nèi)的所有這樣的替代形式、修改形式、等同形式和變化形式。
權(quán)利要求
1.一種在主要路由處理器失效后將路由管理切換到備用路由處理器的方法,所述方法包括響應(yīng)于所述失效,從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫;比較所述備用路由數(shù)據(jù)庫中的路由的前綴和前綴表中的前綴;以及對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到所述對等路由系統(tǒng),其中所述前綴表包括在失效之前由所述主要路由處理器所支持的路由的前綴。
2.根據(jù)權(quán)利要求1所述的方法,還包括響應(yīng)于所述失效從對等路由系統(tǒng)請求路由;以及對于在所述備用路由表中標識的路由,將路由通告消息發(fā)送到所述對等路由系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的方法,其中在檢測到所述失效之前,所述主要路由處理器使用初始路由數(shù)據(jù)庫來執(zhí)行路由操作,并且所述主要路由處理器更新所述前綴表以列出來自所述初始路由數(shù)據(jù)庫的路由前綴,所述前綴表被存儲在存儲器中,所述存儲器至少在所述主要路由處理器失效之后可由所述備用路由處理器訪問。
4.根據(jù)權(quán)利要求1所述的方法,其中在檢測到所述失效之后,所述備用路由處理器被指示執(zhí)行失效轉(zhuǎn)移過程,以使能由所述備用處理器執(zhí)行的路由管理,所述失效轉(zhuǎn)移過程包括將路由刷新消息發(fā)送到所述對等路由系統(tǒng),從所述對等路由系統(tǒng)接收所述路由,從所接收的路由中產(chǎn)生所述備用路由數(shù)據(jù)庫,比較所述備用路由數(shù)據(jù)庫中的路由的前綴和所述前綴表中的前綴,以及對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到所述對等路由系統(tǒng)。
5.根據(jù)權(quán)利要求2所述的方法,其中在檢測到所述主要路由處理器失效之后,請求路由的步驟包括將路由刷新消息發(fā)送到所述對等路由系統(tǒng);以及響應(yīng)于所述路由刷新消息,從所述對等路由系統(tǒng)接收路由,其中所述路由刷新消息請求由所述對等路由系統(tǒng)所支持的路由。
6.根據(jù)權(quán)利要求1所述的方法,其中從所接收的路由中產(chǎn)生所述備用路由數(shù)據(jù)庫的步驟包括去除從所述對等路由系統(tǒng)接收的冗余路由。
7.根據(jù)權(quán)利要求6所述的方法,其中去除冗余路由的步驟包括實現(xiàn)最優(yōu)路徑算法以消除所述冗余路由。
8.根據(jù)權(quán)利要求1所述的方法,其中多個線路接口根據(jù)初始路由數(shù)據(jù)庫來路由通信,在所述主要路由處理器失效之后,所述初始路由數(shù)據(jù)庫由所述備用路由數(shù)據(jù)庫所替換。
9.根據(jù)權(quán)利要求1所述的方法,其中所述主要與備用路由處理器是路由系統(tǒng)的一部分,并且其中響應(yīng)于由所述路由系統(tǒng)發(fā)送的所述路由撤銷消息,所述對等路由系統(tǒng)從它們的當前路由數(shù)據(jù)庫中去除路由,其中所述當前路由數(shù)據(jù)庫與所述路由系統(tǒng)處理的路由相關(guān)聯(lián)。
10.根據(jù)權(quán)利要求9所述的方法,所述路由系統(tǒng)使用邊界網(wǎng)關(guān)協(xié)議進行路由,其中路由刷新消息和路由撤銷消息是基于邊界網(wǎng)關(guān)協(xié)議的,并且其中在所述對等路由系統(tǒng)去除重復(fù)的前綴之后,所述路由系統(tǒng)與所述對等路由系統(tǒng)充分同步。
11.根據(jù)權(quán)利要求3所述的方法,還包括從所述對等路由系統(tǒng)中的至少一個接收指示出由所述至少一個對等路由系統(tǒng)處理的新路由的路由更新消息;將所述新路由添加到當前路由數(shù)據(jù)庫;以及當所述新路由的前綴沒有在所述前綴表中列出時,用所述新路由的前綴更新所述前綴表。
12.根據(jù)權(quán)利要求3所述的方法,還包括從所述對等路由系統(tǒng)中的至少一個接收路由撤銷消息,所述路由撤銷消息指示出不再由所述至少一個對等路由系統(tǒng)處理的被撤銷的路由;從當前路由數(shù)據(jù)庫中去除所述被撤銷的路由;以及當所述當前路由數(shù)據(jù)庫中沒有列出帶有所述被撤銷的路由的前綴的任何路由時,從所述前綴表去除所述前綴。
13.一種用于在邊界網(wǎng)關(guān)協(xié)議路由系統(tǒng)的主要處理器失效之后使所述邊界網(wǎng)關(guān)協(xié)議路由系統(tǒng)與對等邊界網(wǎng)關(guān)協(xié)議路由系統(tǒng)同步的方法,其中所述主要處理器使用初始路由數(shù)據(jù)庫來執(zhí)行路由操作,并且維護可由備用路由處理器訪問的前綴表,所述前綴表列出了所述初始路由數(shù)據(jù)庫的路由的前綴,在檢測到所述主要路由處理器失效后由所述備用處理器執(zhí)行的方法包括發(fā)送邊界網(wǎng)關(guān)協(xié)議路由刷新消息到所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng),所述邊界網(wǎng)關(guān)協(xié)議路由刷新消息請求由所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)所支持的路由;以及響應(yīng)于所述邊界網(wǎng)關(guān)協(xié)議路由刷新消息,從所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)接收路由;從接收自所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫;比較所述備用路由數(shù)據(jù)庫中的路由的前綴和所述前綴表中的前綴;以及對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將邊界網(wǎng)關(guān)協(xié)議路由撤銷消息發(fā)送到所述對等路由系統(tǒng)。
14.根據(jù)權(quán)利要求13所述的方法,其中從所接收的路由中產(chǎn)生所述備用路由數(shù)據(jù)庫的步驟包括通過執(zhí)行最優(yōu)路徑算法來消除從所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)接收的冗余路由,來去除從所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)接收的所述冗余路由,以及其中所述方法還包括利用多個線路接口,根據(jù)所述初始路由數(shù)據(jù)庫來路由通信;在所述主要路由處理器失效之后,將所述多個線路接口中的所述初始路由數(shù)據(jù)庫替換為所述備用路由數(shù)據(jù)庫;以及利用所述多個線路接口,根據(jù)所述備用路由數(shù)據(jù)庫來路由通信。
15.根據(jù)權(quán)利要求14所述的方法,其中所述主要與備用路由處理器是所述邊界網(wǎng)關(guān)協(xié)議路由系統(tǒng)的一部分,并且其中響應(yīng)于由所述邊界網(wǎng)關(guān)協(xié)議路由系統(tǒng)發(fā)送的所述路由撤銷消息,所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)從它們的當前路由數(shù)據(jù)庫中去除具有相同前綴的路由,其中所述當前路由數(shù)據(jù)庫與由所述邊界網(wǎng)關(guān)協(xié)議路由系統(tǒng)處理的路由相關(guān)聯(lián)。
16.根據(jù)權(quán)利要求14所述的方法,還包括從所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)中的一個接收指示出由所述一個邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)處理的新路由的邊界網(wǎng)關(guān)協(xié)議路由更新消息;將所述新路由添加到當前路由數(shù)據(jù)庫;當所述新路由的前綴沒有在所述前綴表中列出時,用所述新路由的前綴更新所述前綴表;從所述邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)中的另一個接收邊界網(wǎng)關(guān)協(xié)議路由撤銷消息,所述路由撤銷消息指示出不再由所述另一個邊界網(wǎng)關(guān)協(xié)議對等路由系統(tǒng)處理的被撤銷的路由;從所述當前路由數(shù)據(jù)庫中去除所述被撤銷的路由;以及當所述當前路由數(shù)據(jù)庫沒有列出與所述被撤銷的路由的前綴相關(guān)聯(lián)的路由時,從所述前綴表中去除所述前綴。
17.一種路由系統(tǒng),包括主要路由處理器;備用路由處理器;以及多個線路,用以根據(jù)由所述路由處理器所管理的路由數(shù)據(jù)庫來路由通信,其中響應(yīng)于檢測到所述主要路由處理器的失效,所述備用路由處理器從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫,比較所述備用路由數(shù)據(jù)庫中的路由的前綴和前綴表中的前綴,以及對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到所述對等路由系統(tǒng)。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中在檢測到所述主要路由處理器的失效之后,所述備用路由處理器被指示執(zhí)行失效轉(zhuǎn)移過程,以使能由所述備用處理器所執(zhí)行的路由管理,所述失效轉(zhuǎn)移過程包括從對等路由系統(tǒng)請求路由,并且其中所述備用路由處理器通過去除冗余路由來產(chǎn)生所述備用路由數(shù)據(jù)庫,所述去除冗余路由的步驟是通過執(zhí)行最優(yōu)路徑算法來消除從對等路由系統(tǒng)接收的冗余路由。
19.根據(jù)權(quán)利要求17所述的系統(tǒng),其中當前活動的路由處理器從所述對等路由系統(tǒng)中的一個接收指示出由所述一個對等路由系統(tǒng)所處理的新路由的路由更新消息,將所述新路由添加到當前路由數(shù)據(jù)庫,以及當所述新路由的前綴沒有列在所述前綴表中時,利用所述新路由的前綴更新所述前綴表,所述當前活動的路由處理器在所述失效之前是所述主要處理器,所述當前活動的路由處理器在所述失效之后是所述備用處理器。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述當前活動的路由處理器從所述對等路由系統(tǒng)中的一個接收路由撤銷消息,所述路由撤銷消息指示出不再由所述一個對等路由系統(tǒng)處理的被撤銷的路由,從當前路由數(shù)據(jù)庫中去除所述被撤銷的路由,以及當所述當前路由數(shù)據(jù)庫沒有列出帶有所述被撤銷的路由的前綴的路由時,從所述前綴表中去除所述前綴。
21.一種包括其上存儲有指令的存儲介質(zhì)的制品,所述指令當被數(shù)字計算平臺執(zhí)行時,使得響應(yīng)于失效而從對等路由系統(tǒng)請求路由;從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫;比較所述備用路由數(shù)據(jù)庫中的路由的前綴和前綴表中的前綴;以及對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到所述對等路由系統(tǒng)。
22.根據(jù)權(quán)利要求21所述的制品,其中所述指令當被所述數(shù)字計算平臺進一步執(zhí)行時,使得發(fā)送更新消息到所述對等路由系統(tǒng),以指示在所述備用路由表中標識出的路由,其中在檢測到所述失效之前,所述主要路由處理器使用初始路由數(shù)據(jù)庫來執(zhí)行路由,并且所述主要路由處理器更新所述前綴表以列出來自所述初始路由數(shù)據(jù)庫的路由的前綴,所述前綴表被存儲在可由所述備用路由處理器訪問的存儲器中。
23.根據(jù)權(quán)利要求22所述的制品,其中所述指令當被所述數(shù)字計算平臺進一步執(zhí)行時,使得從所述對等路由系統(tǒng)中的一個接收指示出由所述一個對等路由系統(tǒng)處理的新路由的路由更新消息;將所述新路由添加到當前路由數(shù)據(jù)庫;以及當所述新路由的前綴沒有在所述前綴表中列出時,用所述新路由的前綴更新所述前綴表。
24.一種用于在主要路由處理器失效后將路由管理切換到備用路由處理器的設(shè)備,所述設(shè)備包括用于響應(yīng)于所述失效而從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫的裝置;用于比較所述備用路由數(shù)據(jù)庫中的路由的前綴和前綴表中的前綴的裝置;以及用于對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到所述對等路由系統(tǒng)的裝置,其中所述前綴表包括在失效之前由所述主要路由處理器所支持的路由的前綴。
25.根據(jù)權(quán)利要求24所述的設(shè)備,還包括響應(yīng)于所述失效而從對等路由系統(tǒng)請求路由的裝置;以及對于在所述備用路由數(shù)據(jù)庫中標識的路由,將路由通告消息發(fā)送到所述對等路由系統(tǒng)的裝置。
26.根據(jù)權(quán)利要求24所述的設(shè)備,其中在檢測到所述失效之前,所述主要路由處理器包括使用初始路由數(shù)據(jù)庫來執(zhí)行路由的裝置,并且所述主要路由處理器包括用于更新所述前綴表以列出來自所述初始路由數(shù)據(jù)庫的路由的前綴的裝置,所述前綴表被存儲在存儲器中,所述存儲器至少在所述主要路由處理器失效之后可由所述備用路由處理器訪問。
27.根據(jù)權(quán)利要求24所述的設(shè)備,其中在檢測到所述主要路由處理器的失效之后,所述備用路由處理器包括用于執(zhí)行失效轉(zhuǎn)移過程以使能由所述備用處理器所執(zhí)行的路由管理的裝置,所述用于執(zhí)行所述失效轉(zhuǎn)移過程的裝置包括用于將路由刷新消息發(fā)送到所述對等路由系統(tǒng)的裝置,用于從所述對等路由系統(tǒng)接收所述路由的裝置,用于從所接收的路由中產(chǎn)生所述備用路由數(shù)據(jù)庫的裝置,用于比較所述備用路由數(shù)據(jù)庫中的路由的前綴和所述前綴表中的前綴的裝置,以及用于對于具有在所述前綴表中列出而沒有在所述備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到所述對等路由系統(tǒng)的裝置。
28.根據(jù)權(quán)利要求25所述的設(shè)備,其中用于請求路由的裝置包括用于將路由刷新消息發(fā)送到所述對等路由系統(tǒng)的裝置;以及用于響應(yīng)于所述路由刷新消息而從所述對等路由系統(tǒng)接收路由的裝置,其中所述路由刷新消息請求由所述對等路由系統(tǒng)所支持的路由。
29.根據(jù)權(quán)利要求24所述的設(shè)備,其中用于從所接收的路由中產(chǎn)生所述備用路由數(shù)據(jù)庫的裝置包括用于去除從所述對等路由系統(tǒng)接收的冗余路由的裝置。
30.根據(jù)權(quán)利要求29所述的設(shè)備,其中用于去除冗余路由的裝置包括用于執(zhí)行最優(yōu)路徑算法以消除所述冗余路由的裝置。
31.根據(jù)權(quán)利要求24所述的設(shè)備,其中多個線路接口包括用于根據(jù)初始路由數(shù)據(jù)庫來路由通信的裝置,在所述主要路由處理器失效之后,所述初始路由數(shù)據(jù)庫由所述備用路由數(shù)據(jù)庫所替換。
32.根據(jù)權(quán)利要求24所述的設(shè)備,其中所述主要與備用路由處理器是路由系統(tǒng)的一部分,并且其中所述對等路由系統(tǒng)包括下述裝置,所述裝置響應(yīng)于由所述路由系統(tǒng)發(fā)送的所述路由撤銷消息,從所述對等路由系統(tǒng)的當前路由數(shù)據(jù)庫中去除路由,其中所述當前路由數(shù)據(jù)庫與所述路由系統(tǒng)所處理的路由相關(guān)聯(lián)。
33.根據(jù)權(quán)利要求32所述的設(shè)備,其中所述路由系統(tǒng)包括下述裝置,所述裝置使用邊界網(wǎng)關(guān)協(xié)議進行路由,其中路由刷新消息和路由撤銷消息是基于所述邊界網(wǎng)關(guān)協(xié)議的,并且其中在所述對等路由系統(tǒng)去除重復(fù)的前綴之后,所述路由系統(tǒng)與所述對等路由系統(tǒng)充分同步。
34.根據(jù)權(quán)利要求26所述的設(shè)備,還包括用于從所述對等路由系統(tǒng)中的至少一個接收路由更新消息的裝置,所述路由更新消息指示出由所述至少一個對等路由系統(tǒng)所處理的新路由;用于將所述新路由添加到當前路由數(shù)據(jù)庫的裝置;以及用于當所述新路由的前綴沒有在所述前綴表中列出時,用所述新路由的前綴更新所述前綴表的裝置。
35.根據(jù)權(quán)利要求26所述的設(shè)備,還包括用于從所述對等路由系統(tǒng)中的至少一個接收路由撤銷消息的裝置,所述路由撤銷消息指示出不再由所述至少一個對等路由系統(tǒng)所處理的被撤銷的路由;用于從當前路由數(shù)據(jù)庫中去除所述被撤銷的路由的裝置;以及用于當所述當前路由數(shù)據(jù)庫沒有列出帶有所述被撤銷的路由的前綴的路由時,從所述前綴表中去除所述前綴的裝置。
全文摘要
一種路由系統(tǒng)通過在正常操作期間通過維護路由前綴表對路由前綴進行檢查點操作,來提供透明的路由系統(tǒng)失效轉(zhuǎn)移。在主要路由處理器失效之后,通過使用該前綴表來同步與對等路由系統(tǒng)的路由。前綴表由主要路由處理器管理,并且至少在主要路由處理器失效之后,可以由備用路由處理器訪問。在檢測到失效之后,備用路由處理器響應(yīng)于該失效而從對等路由系統(tǒng)請求路由,并且從接收自對等路由系統(tǒng)的路由中產(chǎn)生備用路由數(shù)據(jù)庫。備用路由處理器還比較備用路由數(shù)據(jù)庫中的路由前綴和前綴表中的前綴,并且對于具有在前綴表中列出而沒有在備用路由數(shù)據(jù)庫中標識的前綴的路由,將路由撤銷消息發(fā)送到對等路由系統(tǒng)。
文檔編號G06F11/16GK1711729SQ200380103126
公開日2005年12月21日 申請日期2003年11月12日 優(yōu)先權(quán)日2002年11月12日
發(fā)明者約翰·伽萊恩·斯卡德, 戴維·德拉諾·瓦德 申請人:思科技術(shù)公司