專利名稱:鏈路狀態通告的備份方法及設備的制作方法
技術領域:
本發明涉及通信領域,尤其涉及一種鏈路狀態通告的備份方法及設備。
技術背景
OSPF (Open Shortest Path First,開放最短路徑優先)是 IETF (InternetEngineering Task Force, Internet工程任務組)組織開發的一個基于鏈路狀態的內部網關協議。目前 針對IPv4協議使用的是OSPF Version 2 (RFC 2328)。0SPFv3是在OSPF的基礎上發展起 來的,用于支持IPv6。
0SPFv3協議將自治系統劃分成不同的區域(Area)。區域是從邏輯上將路由器 劃分為不同的組,每個組用區域號(AreaID)來標識。如圖1所示,網絡系統被劃分為 AreaO Area4共5個區域,其中Area O稱為骨干區。0SPFv3的鏈路狀態信息只會在區 域范圍內進行擴散,每個區域都會有獨立的鏈路狀態信息庫,每個區域內都會進行獨立 的SPF (Shortest Path First,最短路徑優先)計算。
LSA (Link State Advertisement,鏈路狀態通告)是0SPFv3協議計算和維護路由 信息的主要來源。在RFC5340中定義了七類LSA,描述如下
R0Uter-LSA(路由器LSA)由每個路由器生成,描述本路由器的鏈路狀態和開 銷,只在路由器所處區域內傳播。0SPFv3的Rcmter-LSA只用來通告本機的p^D鄰居和 廣播網鄰居信息,即0SPFv3的Rcmter-LSA只用來描述網絡拓撲情況。
Network-LSA(網絡 LSA)由廣播網絡和 NBMA(Non-BroadcastMulti-Access) 網絡的DR(Designated Router,指定路由器)生成,描述本網段接口的鏈路狀態,只在DR 所處區域內傳播,與Router-LSA類似,0SPFv3的Network-LSA只是通過Attached Router 通告本廣播網所連接的所有節點,用于描述網絡拓撲信息。
Inter-Area-Prefix-LSA (區域外前綴 LSA)該 LSA 由 ABR (Area BorderRouter,區域邊界路由器)生成,在與該LSA相關的區域內傳播。每一條Inter-Area-Prefix-LSA 描述了一條到達本自治系統內其他區域的IPv6地址前綴(IPv6 Address Prefix)的路由,用于在區域間通告可達IP前綴。
Inter-Area-Router-LSA (區域外路由器 LSA)該 LSA 由 ABR 生成,在與該 LSA相關的區域內傳播。每一條hiter-Area-Router-LSA描述了一條到達本自治系統內的 ASBR(Autonomous System Border Router,自治系統邊界路由器)的路由,用于描述到達ASBR節點的網絡拓撲。
AS-external-LSA(自治系統外部LSA)由ASBR生成,描述到達其它 AS (Autonomous System,自治系統)的路由,傳播到整個AS (Stub區域除外)。缺省路 由也可以用AS-external-LSA來描述,用于通告從其他協議引入到OSPF中的可達IP前£雙°
Link-LSA(鏈路LSA)路由器為每一條鏈路生成一個Link_LSA,在本地鏈 路范圍內傳播。每一個Link-LSA描述了該鏈路上所連接的IPv6地址前綴及路由器的Link-local 地址。
Intra-Area-Prefix-LSA (區域內前綴 LSA) OSPFv3 將原來在 OSPF 中由 Router-LSA的stub link負責通告的本機直接可達IP前綴和由Network-LSA負責通告的廣 播網的IP網段移到了此類LSA中,該LSA在區域內傳播,用于在區域內通告本區域內直 接可達的IP前綴。因為該LSA可以根據stub link來生成,也可以根據network LSA類生 成,所以該LSA還具有參考類型的含義;為2001表示參考router LSA,為2002表示參 考 network LSA?,F今網絡上存在著大量的分布式設備。如圖2所示,分布式設備包括主控板與 多個接口板。主控板上的軟件版本屬于控制軟件,負責處理用戶的各種配置信息以及運 行各自協議,例如運行OSPFv3等路由協議來發現路由并下刷給各個接口板。所有接口 板上的軟件版本屬于轉發軟件,根據主控板的通知消息維護自己的轉發表,并根據轉發 表對數據進行轉發。為了進一步加強系統的可靠性和健壯性,分布式設備通常配置兩塊主控板,其 中主板(主用主控板)負責運行正常業務,備板(備用主控板)作為備份,一旦主板故障 之后由備板接管相應業務。采用以上這種控制與轉發相分離的分布式結構后,控制軟件重啟或者重新加載 不影響轉發軟件的正常運行,因此只要在控制軟件重啟或者重新加載期間網絡拓撲保持 穩定,則正在重啟的路由器仍然可以在轉發路線上進行數據轉發。但是,控制軟件重啟 或者重新加載成功后,本機與周邊設備的鄰居關系需要重建,并重新同步所有路由信息 數據,與新發現一個鄰居沒有任何區別。周邊設備會由于鄰居關系的中斷而觸發路由計 算,如圖3所示,造成網絡上的路由振蕩以及轉發中斷問題。為了避免該問題,現有技術中提供一種NSR(Non-Stop-Routing,不間斷路由)
方案。在分布式設備上配置NSR特性,將主板的數據備份到備板上。在Rl發生主備倒 換時,Rl的備板無縫的替代了原來主板的工作,在其上已經存在的鄰居、路由等信息不 會使R2與其鄰居關系發生任何變化,所以整個網絡中的流量保持穩定。上述NSR方案中,備板在倒換時才生成自己的LSA,在平時備板上并不存在 LSA,所以備板必須要備份路由信息。但是,當路由信息較多、或者存在路由震蕩時, 主板需要通過板件通信將大量路由信息備份到備板,嚴重時會由于積壓路由信息過多而 出現內存耗盡問題。
發明內容
本發明提供了一種鏈路狀態通告的備份方法及設備,降低分布式設備中主板向 備板備份的路由信息量。本發明提供了一種鏈路狀態通告的備份方法,應用于包括主控板與接口板的分 布式設備,所述主控板包括主板與備板,該方法包括所述備板接收所述主板發送的LSA相關信息;所述備板根據所述LSA相關信息生成LSA。所述備板根據所述LSA相關信息生成LSA之前,還包括所述主板按照所述分 布式設備的接口使能的順序向所述備板發送接口使能通知;
所述備板根據所述LSA相關信息生成LSA包括所述備板根據接收到接口使能 通知的順序,生成對應接口的LSA。所述主板與所述備板上對于同一接口配置相同的接口索引。所述備板根據所述LSA相關信息生成LSA之前,還包括所述主板根據路由生 成對應的LSA后,將所述路由與該LSA的LSID的對應關系備份至備板;所述備板根據所述LSA相 關信息生成LSA包括當所述備板根據路由生成LSA時,首先查找存儲的與該路由對應的LSID ;查找到對應的LSID后,所述備板根據查找到的LSID生成對應的LSA;如果沒有查找到對應的LSID,所述備板經過預設時間后重新進行查找。還包括所述主板獲取接收到的鏈路狀態更新LSU報文內攜帶的鏈路狀態通告LSA ;所述主板判斷自身是否存儲有所述LSA,并在判斷結果為否時將所述LSA備份 至所述備板;如果判斷結果為是,不備份所述LSA。本發明提供了一種分布式設備,包括主控板與接口板,所述主控板包括主板與 備板,所述備板用于接收所述主板發送的LSA相關信息,并根據所述LSA相關信息生 成 LSA。所述主板還用于按照所述分布式設備的接口使能的順序向所述備板發送接口 使能通知;所述備板還用于根據接收到接口使能通知的順序,生成對應接口的LSA。所述主板與所述備板上對于同一接口配置相同的接口索引。所述主板還用于根據路由生成對應的LSA后,將所述路由與該LSA的LSID 的對應關系備份至備板;所述備板還用于當根據路由生成LSA時,首先查找存儲的與該路由對應的 LSID ;查找到對應的LSID后,根據查找到的LSID生成對應的LSA;如果沒有查找到對 應的LSID,經過預設時間后重新進行查找。所述主板還用于獲取接收到的鏈路狀態更新LSU報文內攜帶的鏈路狀態通 告LSA,判斷自身是否存儲有所述LSA,并在判斷結果為否時將所述LSA向所述備板發 送;如果判斷結果為是,不向所述備板發送所述LSA;所述備板還用于接收并存儲所述主板發送的LSA。與現有技術相比,本發明至少具有以下優點本發明中,分布式設備的備板自己生成LSA,不需要主板通過板件通信將大量 路由信息備份至備板,從而避免了由于板件通信積壓路由信息過多而導致的內存耗盡問 題。
為了更清楚地說明本發明的實施例或現有技術中的技術方案,下面將對本發明 的實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中 的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞 動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是現有技術中OSPFv3協議組網中區域組網方式示意圖2是現有技術中分布式設備的結構示意圖3是現有技術中分布式設備主板故障后導致網絡中斷示意圖4是本發明實施例提供的鏈路狀態通告的備份方法的流程示意圖。
具體實施方式
下面將結合本發明的實施例中的附圖,對本發明的實施例中的技術方案進行清 楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而不是全部 的實施例?;诒景l明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下 所獲得的所有其他實施例,都屬于本發明的實施例保護的范圍。
本發明的核心思想是主板向備板發送LSA相關信息,備板根據主板發送的 LSA相關信息自己生成LSA。
對于分布式設備,其上的LSA可以分為兩類一類是其他設備的LSA,例如主 板從接收到的LSU報文中獲得的LSA ;另一類是分布式設備自身生成的LSA。
下面對備板獲取這兩類LSA的方法分別進行介紹。首先介紹備板獲取第一類 LSA的方法。
本發明提供一種鏈路狀態通告的備份方法,應用于包括主控板與多個接口板的 分布式設備,主控板包括主板與備板。其中,主板與其他分布式設備交互LSU報文。 LSU報文內的特定字段攜帶LSA,主板根據配置從特定字段獲取接收到的LSU報文攜帶 的LSA。主板獲取到LSA后,從本地數據庫查找是否已經存儲該LSA,如果數據庫沒有 存儲該LSA,在數據庫存儲該LSA,并且主板通過板件通信將LSA備份至備板;如果數 據庫已經存儲有該LSA,則不備份該LSA,例如可以丟棄該LSA。
需要說明,主板將LSA備份至備板,可以發生在主板每一次得到數據庫未存儲 的LSA后,或者發生在主板多次得到LSA后,即主板可以將多次得到的LSA打包發送至 備板。
具體的,該方法如圖4所示,包括以下步驟
步驟401,主板獲取接收到的LSU報文內攜帶的LSA。
步驟402,主板判斷自身是否存儲有該LSA,如果判斷結果為否,執行步驟 403 ;如果判斷結果為是,執行步驟404。
步驟403,主板將LSA備份至備板。
步驟404,主板不備份LSA。例如,主板可以丟棄LSA。
下面介紹備板獲取第二類LSA的方法。
現有技術中,分布式設備自身生成的LSA是由主板生成,備板平時不生成 LSA,只在主備倒換時生成LSA,備板上備份路由信息,即備板需要通過板件通信獲取路由信息。
本發明中,主板將Hello報文信息、接口信息、鄰居信息等LSA相關信息備份 至備板,使得備板具備生成LSA的能力,根據LSA相關信息自己生成LSA。備板生成 LSA后,能夠根據LSA得到路由信息,因此不再需要主板通過板件通信向備板備份路由 信息,避免了由于大量路由信息的板件通信導致的板件通信阻塞等問題。7
但是,如果主板和備板的LSA不一致,那么主板和備板的LSDB就不一致。為 了避免這種情況,本發明實施例對分布式設備中的備板生成各種備份LSA的過程進行了 說明。
1、Router-LSA 的備份
Rcmter-LSA描述設備所有接口以及鄰居關系。如果主板與備板生成的 Router-LSA對應的接口不同,則主板中接口和LSID (Link State ID,鏈路狀態ID)的對應 關系與備板中接口和LSID的對應關系不一致。I^ID用于唯一標識LSA。本發明實施 例中,主板按照接口使能的順序依次向備板發送通知,備板根據接收到通知的順序生成 與接口對應的Rcmter-LSA。也就是說,主板和備板按照相同的接口使能的順序生成與接 口對應的Router-LSA,保證主板和備板上Router-LSA與接口的對應關系一致。
2、Network LSA 和 IinkLSA 的備份
Network LSA和link LSA的LS ID是接口索弓丨,所以如果主板和備板上對于相同接口的接口索引不同,則主背板上生成的對應同一接口的LS ID不同,也就是對應同一接 口的LSA不同。為了解決該問題,本發明實施例中,預先配置主板和備板上對于相同接 口具有相同的接口索引。
3、Inter-Area-Prefix-LSA、Inter-Area-Router-LSA> AS—externaHLSA 禾口 Intra-Area-Prefix-LSA 的備份
主板和備板生成這幾類LSA時,導致不一致的原因在于路由和LS ID的對應 關系不一致。例如,0SPFv3引入兩條靜態路由(external路由),分別是1000::1001和 1000::1002.如果主板首先根據1001的路由生成LSA,然后根據1002的路由生成LSA, 則1001的路由對應的LS ID是1,1002的路由對應的LS ID是2。但是,備板首先根據 1002的路由生成LSA,然后根據1001的路由生成LSA,則1002的路由對應的LS ID是 1,1001的路由對應的LS ID是2。 因此,相同路由的LS ID不同。
為了保證主板和備板上路由和LS ID的對應關系一致,本發明實施例中,主板在 生成與路由對應的LSA后,將路由和該LSA的LS ID的對應關系備份到備板。備板自己 根據引入的路由(例如)生成LSA,但是在根據路由生成LSA之前,首先查找是否存儲 有與該路由對應的LS ID,如果查找到對應的LS ID,則根據查找到的LS ID生成LSA, 如果沒有查找到對應的LS ID,則等待一段時間后重新查找?;蛘?,備板在每次接收到主 板發送的路由和LSID的對應關系后,查找是否存儲有該路由,如果查找結果為是,則根 據該路由的LS ID生成對應的LSA。
需要說明,如果主板上刪除了 LSA,則主板通知備板路由和該LSA的I^ID的對 應關系被刪除,備板根據該通知刪除對應的LSA,保證主板和備板間路由和LS ID關系的一致性。
另外,對于intra-prefixLSA,優選的,不但需要備份路由和LS ID的對應關系,還需要備份該LSA的參考類型。備板根據路由生成LSA時,不僅需要查找到該路由對應 的LS ID,還需要能夠查找到該路由對應的LSA的參考類型。
通過對上述三大類型的LSA的備份,在使備板自己生成LSA的同時,保證了主 板與備板上LSA的一致性,即保證了主板和備板的LSDB —致。
本發明實施例中,分布式設備的備板自己生成LSA,不需要主板通過板件通信將大量路由信息備份至備板,從而避免了由于板件通信積壓路由信息過多而導致的內存 耗盡問題。同時,主板獲取接收到的LSU報文內攜帶的LSA,將LSA備份至備板,不 需要備份LSU報文,避免大量LSU報文占用板件通信帶寬。
基于與上述方法實施例相同的技術構思,本發明實施例還提供一種分布式設 備,包括主控板與接口板,所述主控板包括主板與備板,
所述主板用于向所述備板發送LSA相關信息;
所述備板用于接收所述主板發送的LSA相關信息,并根據所述LSA相關信息 生成LSA。
優選的,所述主板還用于按照所述分布式設備的接口使能的順序向所述備板 發送接口使能通知;相應的,所述備板還用于根據接收到接口使能通知的順序,生成 對應接口的LSA。
所述主板與所述備板上對于同一接口配置相同的接口索引。
優選的,所述主板還用于根據路由生成對應的LSA后,將所述路由與該LSA 的I^ID的對應關系備份至備板;相應的,所述備板還用于當根據路由生成LSA時, 首先查找存儲的與該路由對應的I^ID;查找到對應的I^ID后,根據所述LSID生成對應 的LSA。所述備板還用于如果沒有查找到與該路由對應的I^ID,經過預設時間后重新 進行查找。
本發明實施例提供的分布式設備中,所述主板,還用于獲取接收到的鏈路狀態 更新LSU報文內攜帶的鏈路狀態通告LSA,判斷自身是否存儲有所述LSA,并在判斷 結果為否時將所述LSA向所述備板發送;如果判斷結果為是,不向所述備板發送所述 LSA。相應的,所述備板還用于接收并存儲所述主板發送的LSA。
本發明實施例中,分布式設備的備板自己生成LSA,不需要主板通過板件通信 將大量路由信息備份至備板,從而避免了由于板件通信積壓路由信息過多而導致的內存 耗盡問題。同時,主板獲取接收到的LSU報文內攜帶的LSA,將LSA備份至備板,不 需要備份LSU報文,避免大量LSU報文占用板件通信帶寬。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借 助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者 是更佳的實施方式?;谶@樣的理解,本發明的技術方案本質上或者說對現有技術做 出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質 中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設 備等)執行本發明各個實施例所述的方法。
本領域技術人員可以理解附圖只是一個優選實施例的示意圖,附圖中的模塊或 流程并不一定是實施本發明所必須的。
本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分 布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。 上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
以上公開的僅為本發明的幾個具體實施例,但是,本發明并非局限于此,任何 本領域的技術人員能思之的變化都應落入本發明的保護范圍。
權利要求
1.一種鏈路狀態通告的備份方法,應用于包括主控板與接口板的分布式設備,所述 主控板包括主板與備板,其特征在于,該方法包括所述備板接收所述主板發送的LSA相關信息;所述備板根據所述LSA相關信息生成LSA。
2.如權利要求1所述的方法,其特征在于,所述備板根據所述LSA相關信息生成 LSA之前,還包括所述主板按照所述分布式設備的接口使能的順序向所述備板發送接 口使能通知;所述備板根據所述LSA相關信息生成LSA包括所述備板根據接收到接口使能通知 的順序,生成對應接口的LSA。
3.如權利要求1所述的方法,其特征在于,所述主板與所述備板上對于同一接口配置 相同的接口索引。
4.如權利要求1所述的方法,其特征在于,所述備板根據所述LSA相關信息生成 LSA之前,還包括所述主板根據路由生成對應的LSA后,將所述路由與該LSA的 LSID的對應關系備份至備板;所述備板根據所述LSA相關信息生成LSA包括當所述備板根據路由生成LSA時,所述備板查找存儲的與該路由對應的LSID ;查找到對應的LSID后,所述備板根據查找到的LSID生成對應的LSA;如果沒有查 找到對應的LSID,所述備板經過預設時間后重新進行查找。
5.如權利要求1-4任意一項所述的方法,其特征在于,還包括所述主板獲取接收到的鏈路狀態更新LSU報文內攜帶的鏈路狀態通告LSA ;所述主板判斷自身是否存儲有所述LSA,并在判斷結果為否時將所述LSA備份至所 述備板;如果判斷結果為是,不備份所述LSA。
6.—種分布式設備,包括主控板與接口板,所述主控板包括主板與備板,其特征在于,所述主板用于向所述備板發送LSA相關信息;所述備板用于接收所述主板發送的LSA相關信息,并根據所述LSA相關信息生成 LSA。
7.如權利要求6所述的分布式設備,其特征在于,所述主板還用于按照所述分布 式設備的接口使能的順序向所述備板發送接口使能通知;所述備板還用于根據接收到接口使能通知的順序,生成對應接口的LSA。
8.如權利要求6所述的分布式設備,其特征在于,所述主板與所述備板上對于同一接 口配置相同的接口索引。
9.如權利要求6所述的分布式設備,其特征在于,所述主板還用于根據路由生成 對應的LSA后,將所述路由與該LSA的LSID的對應關系備份至備板;所述備板還用于當根據路由生成LSA時,查找存儲的與該路由對應的LSID ;查找 到對應的LSID后,根據查找到的LSID生成對應的LSA ;如果沒有查找到對應的LSID, 經過預設時間后重新進行查找。
10.如權利要求6-9任意一項所述的分布式設備,其特征在于,所述主板還用于獲 取接收到的鏈路狀態更新LSU報文內攜帶的鏈路狀態通告LSA,判斷自身是否存儲有所述LSA,并在判斷結果為否時將所述LSA向所述備板發送;如果判斷結果為是,不向所 述備板發送所述LSA;所述備板還用于接收并存儲所述主板發送的LSA。
全文摘要
本發明公開了一種鏈路狀態通告的備份方法及設備,該方法包括所述備板接收所述主板發送的LSA相關信息;所述備板根據所述LSA相關信息生成LSA。本發明中,分布式設備的備板自己生成LSA,不需要主板通過板件通信將大量路由信息備份至備板,從而避免了由于板件通信積壓路由信息過多而導致的內存耗盡問題。
文檔編號H04L12/24GK102025552SQ20111000553
公開日2011年4月20日 申請日期2011年1月12日 優先權日2011年1月12日
發明者張長君 申請人:杭州華三通信技術有限公司