專利名稱:網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法及裝置。
背景技術(shù):
隨著計算機網(wǎng)絡(luò)規(guī)模的不斷擴大,大型互聯(lián)網(wǎng)絡(luò)(如Internet)的迅猛發(fā)展,路由技術(shù)在網(wǎng)絡(luò)技術(shù)中已逐漸成為關(guān)鍵部分,路由器也隨之成為最重要的網(wǎng)絡(luò)設(shè)備。路由器工作在OSI(開放系統(tǒng)互聯(lián))模型中的第三層,即網(wǎng)絡(luò)層。路由器利用網(wǎng)絡(luò)層定義的“邏輯”上的網(wǎng)絡(luò)地址(即IP地址)來區(qū)別不同的網(wǎng)絡(luò),實現(xiàn)網(wǎng)絡(luò)的互連和隔離,保持各個網(wǎng)絡(luò)的獨立性。
在路由器、中高層交換機設(shè)備中,通過路由協(xié)議所學(xué)到的路由信息,除了直接被IP(網(wǎng)絡(luò)協(xié)議)轉(zhuǎn)發(fā)模塊應(yīng)用以指導(dǎo)信息轉(zhuǎn)發(fā)外,還常常被一些特性模塊所應(yīng)用,如GRE(通用路由封裝)、QACL(流分類與訪問控制)的策略路由等。由于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是動態(tài)變化的,導(dǎo)致路由信息也隨之變化,因此,為了保證網(wǎng)絡(luò)信息的正確傳送,就需要將路由變化信息及時有效地通知各特性模塊。
目前,業(yè)界通常采用以下兩種路由變化通知機制1、由IP轉(zhuǎn)發(fā)模塊負(fù)責(zé)通知各相關(guān)模塊。IP轉(zhuǎn)發(fā)模塊保存所有需要通知的各特性模塊信息,一旦發(fā)現(xiàn)路由變化就依次以消息的方式通知各特性模塊,其流程如圖1所示。
由于各個特性模塊只與一定的路由信息相關(guān),因此,對各特性模塊來說會收到許多無效的通知;而且,各特性模塊收到路由變化通知后,需要檢查是否與自己有關(guān),這個檢查過程需要一定的時間,當(dāng)某個時刻有大量路由變化發(fā)生時,會由于路由變化消息得不到及時處理而導(dǎo)致消息隊列堵死。
2、各特性模塊各自定時主動去檢查與自己有關(guān)的路由是否有變化,一旦有變化,則執(zhí)行相關(guān)動作,其流程如圖2所示。
在這種機制中,路由變化不再是由IP轉(zhuǎn)發(fā)模塊進(jìn)行通知,而是由各特性模塊自己主動去檢查,但由于沒有統(tǒng)一的機制,使得各模塊分別有一套完成類似功能的代碼,導(dǎo)致代碼量大,相應(yīng)地維護(hù)工作量也大,不符合代碼設(shè)計中的“可重用、模塊化”的原則。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的上述缺點,提供一種網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法及裝置,以簡單、有效地將路由變化信息實時通知到相關(guān)設(shè)備,進(jìn)一步提高系統(tǒng)效率。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的一種網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,包括A、獲取各特性模塊的屬性信息和路由相關(guān)信息以及路由變化處理方案;B、根據(jù)所述獲取的各特性模塊的屬性信息及路由相關(guān)信息建立特性模塊路由信息鏈表;C、按預(yù)定方式檢查所述特性模塊路由信息鏈表,對發(fā)生變化的路由通過對應(yīng)的特性模塊提供的路由變化處理方案進(jìn)行處理;D、根據(jù)特性模塊路由的變化情況修改所述特性模塊路由信息鏈表。
所述步驟A包括A1、對各特性模塊提供統(tǒng)一注冊接口;
A2、各特性模塊通過所述注冊接口進(jìn)行注冊,提供注冊信息;A3、根據(jù)所述注冊信息獲取各特性模塊的屬性信息和路由信息以及路由變化處理方案。
所述各特性模塊的屬性信息包括模塊號,子模塊號和模塊優(yōu)先級。
所述特性模塊路由信息鏈表包括至少一個特性模塊的路由信息鏈,所述路由信息鏈包括所述特性模塊的所有與路由有關(guān)的信息結(jié)點。
所述路由信息鏈包括單向鏈和環(huán)形鏈。
所述路由信息鏈?zhǔn)前凑账瞿K優(yōu)先級進(jìn)行排序的。
所述步驟C包括C1、定時輪流檢查所述各特性模塊對應(yīng)的路由信息鏈;C2、逐個檢查所述路由信息鏈中的每個結(jié)點。
所述步驟D包括D1、對各特性模塊提供統(tǒng)一數(shù)據(jù)接口;D2、各特性模塊通過所述數(shù)據(jù)接口維護(hù)所述特性模塊路由信息鏈表。
所述步驟D2包括建立結(jié)點索引鏈表;所述特性模塊根據(jù)網(wǎng)絡(luò)變化情況獲取發(fā)生變化的結(jié)點信息,所述發(fā)生變化的結(jié)點信息包括新增結(jié)點和刪除結(jié)點;將所述新增結(jié)點通過所述數(shù)據(jù)接口添加到所述特性模塊路由信息鏈表及結(jié)點索引鏈表中;通過所述數(shù)據(jù)接口根據(jù)所述結(jié)點索引鏈表查找所述刪除結(jié)點在所述特性模塊路由信息鏈表中的位置,并刪除該位置上的節(jié)點;刪除所述結(jié)點索引鏈表中所述刪除結(jié)點對應(yīng)的索引。
所述方法還包括建立并維護(hù)路由備份信息鏈表。
本發(fā)明還提供了一種實現(xiàn)上述方法的裝置,包括公共模塊和至少一個特性模塊,其中,所述特性模塊包括結(jié)點信息獲取裝置,用于獲取路由結(jié)點的變化信息;路由變化操作裝置,用于提供對應(yīng)所述特性模塊的路由變化處理方案的具體操作;所述公共模塊包括注冊接口,用于獲取所述特性模塊的屬性信息和路由信息以及路由變化處理方案;路由信息存儲裝置,用于存儲所述獲取的特性模塊的屬性信息及路由信息;路由信息維護(hù)裝置,用于根據(jù)所述結(jié)點信息獲取裝置獲取的路由結(jié)點的變化信息修改所述路由信息存儲裝置存儲的特性模塊的路由信息;路由變化處理裝置,用于存儲所述獲取的特性模塊的屬性信息及路由變化處理方案;檢查裝置,用于檢查所述路由信息存儲裝置存儲的路由信息,并將發(fā)生變化的路由信息通知所述路由變化處理裝置。
所述路由信息維護(hù)裝置包括數(shù)據(jù)接口,用于根據(jù)所述結(jié)點信息獲取裝置獲取的路由結(jié)點的變化信息控制所述路由信息存儲裝置添加或刪除路由結(jié)點信息;檢索裝置,用于根據(jù)所述數(shù)據(jù)接口的命令檢索所述路由信息存儲裝置中需要刪除的結(jié)點位置。
所述特性模塊還包括路由備份裝置,用于建立路由備份并通過所述路由變化操作裝置對所述路由備份進(jìn)行維護(hù)。
由以上本發(fā)明提供的技術(shù)方案可以看出,通過為各特性模塊提供統(tǒng)一的路由信息存儲與檢索方式接口、統(tǒng)一注冊接口,以及為各特性模塊實施統(tǒng)一的有針對性的路由檢查,有效地保存了各特性模塊與路由變化有關(guān)的數(shù)據(jù),提高了路由變化通知及處理的效率,同時還可實現(xiàn)路由的備份,保證了網(wǎng)絡(luò)系統(tǒng)的正常運行。
圖1是現(xiàn)有技術(shù)中路由變化信息采用IP模塊通知機制的流程圖;圖2是現(xiàn)有技術(shù)中路由變化信息采用特性模塊主動檢查機制的流程圖;圖3是本發(fā)明裝置的結(jié)構(gòu)示意圖;圖4是本發(fā)明方法的流程圖;圖5是本發(fā)明方法中特性模塊進(jìn)行注冊的實現(xiàn)流程圖;圖6是本發(fā)明方法中結(jié)點加入處理流程圖;圖7是本發(fā)明方法中結(jié)點刪除處理流程圖;圖8是本發(fā)明方法中檢索特定結(jié)點的流程圖。
具體實施例方式
本發(fā)明的核心在于為各個特性模塊提供一個公共的有效的路由變化通知機制,通過為各特性模塊提供統(tǒng)一的路由信息數(shù)據(jù)存儲與檢索方式接口、統(tǒng)一注冊接口,以及為各特性模塊實施統(tǒng)一的有針對性的路由變化檢查,對不同特性模塊的路由信息進(jìn)行統(tǒng)一維護(hù)和管理,以減少不同特性模塊類似功能的代碼,提高路由變化通知的效率;并通過建立、維護(hù)路由備份信息,保證網(wǎng)絡(luò)的正常運行。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明,下面結(jié)合附圖和實施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。
參照圖3,圖3示出了本發(fā)明裝置的結(jié)構(gòu)本發(fā)明裝置由公共模塊31和特性模塊32組成。其中,特性模塊32包括結(jié)點信息獲取裝置321,用于獲取路由結(jié)點的變化信息;路由變化操作裝置322,用于提供對應(yīng)特性模塊32的路由變化處理方案的具體操作;路由備份裝置323,用于建立路由備份并通過路由變化操作裝置322對所述路由備份進(jìn)行維護(hù)。
公共模塊31包括注冊接口311,用于獲取特性模塊32的屬性信息和路由相關(guān)信息以及路由變化處理方案,通過該接口,特性模塊向公共模塊注冊必要的信息,以告訴公共模塊本模塊需要接收路由變化通知,需要公共模塊幫助檢查。當(dāng)特性模塊注冊時,需要提供以下信息(1)模塊屬性信息,包括模塊號、子模塊號、模塊優(yōu)先級信息;(2)與路由變化有關(guān)的數(shù)據(jù)信息。
路由信息存儲裝置312,用于存儲獲取的特性模塊的屬性信息及路由相關(guān)信息,這些信息將按照特性模塊的優(yōu)先級的高低進(jìn)行存儲,以保證在進(jìn)行路由變化檢查時優(yōu)先檢查優(yōu)先級高的特性模塊。
數(shù)據(jù)接口313,用于根據(jù)結(jié)點信息獲取裝置321獲取的路由結(jié)點的變化信息控制路由信息存儲裝置312添加或刪除路由結(jié)點信息。
檢索裝置314,用于根據(jù)數(shù)據(jù)接口313的命令檢索路由信息存儲裝置312中需要刪除的結(jié)點位置。
路由變化處理裝置316,用于存儲獲取的特性模塊的屬性信息及路由變化處理方案,以模塊屬性信息為索引進(jìn)行存儲。
檢查裝置315,用于檢查路由信息存儲裝置312存儲的路由相關(guān)信息,并將發(fā)生變化的路由相關(guān)信息通知路由變化處理裝置316。
定時器317,用于定時啟動檢查裝置315進(jìn)入檢查工作狀態(tài)。
下面分別描述公共模塊31和特性模塊32的工作過程公共模塊31初始化時,啟動定時器317,當(dāng)定時器時間到時,啟動檢查裝置315對注冊的特性模塊進(jìn)行路由檢查,即檢查路由信息存儲裝置312存儲的路由相關(guān)信息,如果發(fā)現(xiàn)某結(jié)點路由不可達(dá)或發(fā)生變化時,則通知路由變化處理裝置316調(diào)用存儲的對應(yīng)該特性模塊的路由變化處理方案進(jìn)行處理。對于不同的特性模塊,當(dāng)發(fā)生路由變化時,它需要做的處理可能是不同的,因此具體的處理操作還需要由特性模塊中的路由變化操作裝置322來完成。
特性模塊32初始化時,需要通過公共模塊提供的注冊接口311進(jìn)行注冊,向公共模塊提供必要的注冊信息,包括特性模塊32的屬性信息和路由相關(guān)信息以及路由變化處理方案。當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,相應(yīng)地需要增加或刪除該特性模塊的部分結(jié)點信息,這時,需要結(jié)點信息獲取裝置321收集路由結(jié)點的變化信息,然后通過公共模塊的數(shù)據(jù)接口313控制路由信息存儲裝置312添加或刪除變化了的路由結(jié)點信息。在進(jìn)行刪除時,還需要檢索裝置314來完成刪除結(jié)點的檢索定位,以準(zhǔn)確、高效地維護(hù)特性模塊的所有路由信息。
上面提到特性模塊中路由變化的處理具體由路由變化操作裝置322來完成,如果該特性模塊沒有路由備份方面的業(yè)務(wù),則路由變化操作裝置322只關(guān)心發(fā)生路由變化的結(jié)點,并根據(jù)該結(jié)點的信息在本模塊內(nèi)部做必要的處理,具體的處理內(nèi)容由特性模塊根據(jù)自身的數(shù)據(jù)情況決定。如果該特性模塊有路由備份方面的業(yè)務(wù),則路由變化操作裝置322根據(jù)發(fā)生路由變化的結(jié)點信息在本模塊內(nèi)部做必要處理的同時,還要對路由備份裝置323進(jìn)行相應(yīng)的操作。如果該結(jié)點的路由情況為不可達(dá),需要將該結(jié)點的有效標(biāo)志置為無效,并將路由備份中次優(yōu)先級且路由可達(dá)的結(jié)點的有效標(biāo)志置為有效。反之,當(dāng)公共模塊維護(hù)的路由信息中的高優(yōu)先級的結(jié)點的路由恢復(fù)為可達(dá)時,要將其有效標(biāo)志位恢復(fù),并置備份結(jié)點的有效標(biāo)志為無效。
比如,對QACL(流分類與接入控制)模塊來說,假如在該模塊中用戶配置將某種特征的流(可根據(jù)收到的包中的各個特征項決定)進(jìn)行某種規(guī)定的路由處理。當(dāng)公共模塊檢測到該規(guī)定的路由已經(jīng)不可達(dá)時,QACL模塊就將該種流的處理方式轉(zhuǎn)而改為丟棄處理。如果用戶同時對該種流還配置了備份路由處理,則QACL模塊收到在用的路由不可達(dá)的消息后,可以先檢查備份路由是否可用,如果備份路由可用,則將這條流的路由處理方式設(shè)置為備份路由。如果所有的備份路由都不可用,則也仍然設(shè)置為丟棄。假如在使用某備份路由的過程中,又收到優(yōu)先級更高的路由可用的路由變化消息,則仍將對該流的處理恢復(fù)為當(dāng)前可用的路由中最高優(yōu)先級路由的處理方式。
為了使本技術(shù)領(lǐng)域人員更好地理解本發(fā)明,下面參照圖4對本發(fā)明方法作詳細(xì)說明。
參照圖4,圖4描繪了本發(fā)明方法的詳細(xì)流程,包括以下步驟步驟401公共模塊為各特性模塊提供統(tǒng)一注冊接口。為了能夠接收各個特性模塊的注冊,并對各個特性模塊的注冊信息進(jìn)行管理,公共模塊定義了一個定長(該長度可定義為所能支持的最多特性模塊個數(shù))的全局?jǐn)?shù)組,該數(shù)組的每個元素的結(jié)構(gòu)定義如下typedef struct tagRtCh_RegInfo{/*安排注冊模塊位置及識別注冊模塊路由信息*/
ULONG ulUsed;/*該位置是否已被占用*/ULONG ulModuleID;/*模塊ID*/LLONG ulSubID;ULONG ulPriority;/*模塊優(yōu)先級*//*注冊模塊要注冊的數(shù)據(jù)及函數(shù)*/void*pstDataStart;/*存儲與路由變化有關(guān)的數(shù)據(jù)信息起始指針*/ULONG ulTravelLen;/*用于輪循時記住輪到了哪一個*/RtChNodePro pProFunc;/*對與路由有關(guān)的結(jié)點的處理函數(shù)指針*/}RtCh_RegInfo_S;當(dāng)某特性模塊注冊時,需要提供以上結(jié)構(gòu)定義中的以下兩類信息①模塊信息,包括模塊號、子模塊號、模塊優(yōu)先級信息;②與路由變化有關(guān)的數(shù)據(jù)信息,包括用來存儲特性模塊與路由有關(guān)的數(shù)據(jù)的起始指針、當(dāng)路由發(fā)生變化時的特性模塊的處理函數(shù)指針;公共模塊將按照模塊優(yōu)先級的高低將各個特性模塊的注冊信息保存在全局?jǐn)?shù)組中,從而保證在進(jìn)行路由變化檢查時優(yōu)先檢查優(yōu)先級高的特性模塊。
供各特性模塊注冊使用的接口的具體形式如下ULONG RouteChange_Register(ULONG ulModuleID,ULONG ulSubID,ULONG ulPriority,void*pstDataStart,RtChNodePro pProFunc)該接口的實現(xiàn)流程如圖5所示。
步驟402各特性模塊通過注冊接口進(jìn)行注冊,提供注冊信息。
步驟403根據(jù)注冊信息獲取各特性模塊的屬性信息和路由相關(guān)信息以及路由變化處理方案。其中,各特性模塊的屬性信息包括模塊號,子模塊號和模塊優(yōu)先級。
步驟404建立并維護(hù)特性模塊路由信息鏈表。
根據(jù)獲取的各特性模塊的屬性信息及路由相關(guān)信息建立特性模塊路由信息鏈表,該鏈表包括至少一個特性模塊的路由信息鏈,所述路由信息鏈包括特性模塊的所有與路由有關(guān)的信息結(jié)點。該鏈表的組織形式如下所示O----O-----O------O----O(最高優(yōu)先級結(jié)點鏈L1,)|O|O(備份用數(shù)據(jù)結(jié)點所在的子鏈L2,按優(yōu)先級從高到低排列)其中,鏈L1中存儲的是某特性模塊的與路由有關(guān)的信息結(jié)點,由公共模塊維護(hù)。鏈L2用于路由備份的情況,由特性模塊維護(hù)。如果該特性模塊不需要路由備份,則可以不用鏈L2。公共模塊提供了統(tǒng)一的接口,用于將各特性模塊與路由有關(guān)的數(shù)據(jù)以L1鏈的形式保存,同時對L1鏈建立HASH索引,以方便快速查找。其中,鏈L1和鏈L2可以使用單向鏈表,也可以使用環(huán)形鏈表。
鏈表中結(jié)點的數(shù)據(jù)結(jié)構(gòu)如下typedef struct tagRtCh_Node{SLL_NODE_S stSLNode;ULONG ulEntryIndex;/*可唯一標(biāo)識受影響模塊的與路由信息有關(guān)的對應(yīng)數(shù)據(jù)的索引*/ULONG ulIpAddr;/*路由信息中的目的IP地址*/ULONG ulNextHop;/*用于保存現(xiàn)有路由信息中的下一跳信息,以防止雖然檢查出目的IP可達(dá),但實際上下一跳已發(fā)生變化。將最新的路由信息與原本保存信息的比較,以確定路由是否發(fā)生變化*/USHORT usVTID;/*與路由信息有關(guān)的其他信息*/USHORT usPriority;/*用于多條路徑備份*/ULONG ulValid;/*用于標(biāo)志該結(jié)點有效*/struct tagRtCh_Node*pHashBucketNext;/*用于建立鏈表的HASH索引*/struct tagRtCh_Node*pEqualNext;/*用于處理多條路徑備份的情況*/}RtCh_Node_S;對特性模塊路由信息鏈表的維護(hù)需要根據(jù)特性模塊路由的變化情況修改該特性模塊路由信息鏈表。
前面已經(jīng)提到各特性模塊的與路由有關(guān)的數(shù)據(jù),需要組織成前面所述的L1鏈表的方式,如果需要路由備份還需要組織成L2鏈表的方式,同時為了查找方便,還要建立HASH索引表。為此公共模塊提供了以下三個數(shù)據(jù)操作接口①將結(jié)點加入用戶指定的鏈表pDataList,并加入對應(yīng)的HASH索引表ppHashIndexByAddr中ULONG RtCh_DataAttach(SLL_S*pDataList,RtCh_Node_S**ppHashIndexByAddr,RtCh_Node_S*pNode)該接口的實現(xiàn)流程如圖6所示。
②將結(jié)點從鏈表pDataList及對應(yīng)的HASH索引表ppHashIndexByAddr中解除RtCh_Node_S*RtCh_DataDetach(SLL_S*pDataList,RtCh_Node_S**ppHashIndexByAddr,ULONG ulIndex)該接口的實現(xiàn)流程如圖7所示。
③從鏈表中尋找特定結(jié)點的接口ULONG RtCh_GetNodeWithIndex(RtCh_Node_S**ppHashIndexByAddr,ULONG ulIndex,RtCh_Node_S**pNode)通過函數(shù)接口中的ulIndex參數(shù)可在特性模塊中方便地找到當(dāng)路由變化時需對其進(jìn)行操作的數(shù)據(jù),且該值也是計算在HASH表中的位置時要用到的關(guān)鍵字。
該接口的實現(xiàn)流程如圖8所示。
步驟405按預(yù)定方式檢查特性模塊路由信息鏈表,對發(fā)生變化的路由通過對應(yīng)的特性模塊提供的路由變化處理方案進(jìn)行處理。所述的預(yù)定方式包括定時檢查方式和消息通知檢查方式。
輪流啟動對各注冊模塊的檢查。檢查時,將調(diào)用本模塊的路由變化的檢查函數(shù)對L1鏈表逐一實施檢查。如果發(fā)現(xiàn)某結(jié)點路由不可達(dá)或發(fā)生變化時則調(diào)用相應(yīng)特性模塊注冊的處理函數(shù)進(jìn)行處理。對不同特性模塊來說,當(dāng)發(fā)生路由變化時,它需要做的處理是不同的,具體的處理內(nèi)容由特性模塊決定,公共模塊只是直接調(diào)用特性模塊注冊的處理函數(shù)。
在定時檢查路由變化的過程中,為了防止異常情況,特別做了以下兩方面的處理①為了使檢查過程不至于過長以影響系統(tǒng)中的其他操作,規(guī)定對每一特性模塊只檢查特定的長度。每次定時檢查完成后要記錄當(dāng)前的檢查長度,當(dāng)檢查到L1鏈表的末尾后,將當(dāng)前檢查長度清零。
②為了防止在定時器間隔期間(即對某結(jié)點實施檢查的間隔期間),上次正在檢查的結(jié)點被刪除,在本次檢查時要檢查鏈表的長度,若鏈表的長度比當(dāng)前的檢查長度還短則將當(dāng)前的檢查長度清零,并從頭查起,否則將從鏈表頭開始數(shù)到當(dāng)前檢查長度的下一個開始檢查。當(dāng)然,也可以采用其他方式,比如專門建立一種機制,用于保存該結(jié)點的下一個結(jié)點,當(dāng)發(fā)生該結(jié)點被刪除的情況時,則立即取其下一個。
前面提到,在路由發(fā)生變化后,需要由公共模塊調(diào)用相應(yīng)特性模塊注冊的處理函數(shù)進(jìn)行處理,具體的處理內(nèi)容由特性模塊決定。在該處理函數(shù)中,如果特性模塊有路由備份方面的業(yè)務(wù)時,還需要對鏈表L2進(jìn)行維護(hù)。具體為如果發(fā)生變化的結(jié)點的路由情況為不可達(dá),需要將該結(jié)點的有效標(biāo)志置為無效,并將L2鏈表上次優(yōu)先級且路由可達(dá)的結(jié)點的有效標(biāo)志置為有效。反之,當(dāng)公共模塊通知L1鏈表中的最高優(yōu)先級的結(jié)點的路由恢復(fù)為可達(dá)時,要將其有效標(biāo)志位恢復(fù),并置備份結(jié)點的有效標(biāo)志為無效。
路由備份可提高網(wǎng)絡(luò)的可靠性能,例如,策略路由備份將支持以下功能用戶配置策略路由到直連下一跳的情況下,可以在下一跳鏈路發(fā)生故障時進(jìn)行備份切換到所配置的另一個下一跳。用戶可對某種流配置2條或多條具有不同優(yōu)先級的策略路由規(guī)則,正常情況下使用最高優(yōu)先級的規(guī)則,當(dāng)該規(guī)則所對應(yīng)的鏈路發(fā)生故障時,可切換到次優(yōu)先級的規(guī)則。當(dāng)最高優(yōu)先級的規(guī)則所對應(yīng)的鏈路再次恢復(fù)時,又可從低優(yōu)先級的規(guī)則切換回來,使最高優(yōu)先級的規(guī)則生效。
由于目前特性模塊對路由備份的需求不多,因此對L2鏈表建立與維護(hù)主要由特性模塊負(fù)責(zé),實際上如果把這種需求也認(rèn)為是公共需求的話,L2鏈表也可以由公共模塊給特性模塊提供接口,以方便建立維護(hù),并由公共模塊協(xié)助完成當(dāng)前路由與備份路由的切換。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述方法包括A、獲取各特性模塊的屬性信息和路由相關(guān)信息以及路由變化處理方案;B、根據(jù)所述獲取的各特性模塊的屬性信息及路由相關(guān)信息建立特性模塊路由信息鏈表;C、按預(yù)定方式檢查所述特性模塊路由信息鏈表,對發(fā)生變化的路由通過對應(yīng)的特性模塊提供的路由變化處理方案進(jìn)行處理;D、根據(jù)特性模塊路由的變化情況修改所述特性模塊路由信息鏈表。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述步驟A包括A1、對各特性模塊提供統(tǒng)一注冊接口;A2、各特性模塊通過所述注冊接口進(jìn)行注冊,提供注冊信息;A3、根據(jù)所述注冊信息獲取各特性模塊的屬性信息和路由信息以及路由變化處理方案。
3.如權(quán)利要求1或2所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述各特性模塊的屬性信息包括模塊號,子模塊號和模塊優(yōu)先級。
4.如權(quán)利要求3所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述特性模塊路由信息鏈表包括至少一個特性模塊的路由信息鏈,所述路由信息鏈包括所述特性模塊的所有與路由有關(guān)的信息結(jié)點。
5.如權(quán)利要求4所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述路由信息鏈包括單向鏈和環(huán)形鏈。
6.如權(quán)利要求4或5所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述路由信息鏈?zhǔn)前凑账瞿K優(yōu)先級進(jìn)行排序的。
7.如權(quán)利要求4所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述步驟C包括C1、定時輪流檢查所述各特性模塊對應(yīng)的路由信息鏈;C2、逐個檢查所述路由信息鏈中的每個結(jié)點。
8.如權(quán)利要求4或7所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述步驟D包括D1、對各特性模塊提供統(tǒng)一數(shù)據(jù)接口;D2、各特性模塊通過所述數(shù)據(jù)接口維護(hù)所述特性模塊路由信息鏈表。
9.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,所述步驟D2包括建立結(jié)點索引鏈表;所述特性模塊根據(jù)網(wǎng)絡(luò)變化情況獲取發(fā)生變化的結(jié)點信息,所述發(fā)生變化的結(jié)點信息包括新增結(jié)點和刪除結(jié)點;將所述新增結(jié)點通過所述數(shù)據(jù)接口添加到所述特性模塊路由信息鏈表及結(jié)點索引鏈表中;通過所述數(shù)據(jù)接口根據(jù)所述結(jié)點索引鏈表查找所述刪除結(jié)點在所述特性模塊路由信息鏈表中的位置,并刪除該位置上的節(jié)點;刪除所述結(jié)點索引鏈表中所述刪除結(jié)點對應(yīng)的索引。
10.如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法,其特征在于,還包括建立并維護(hù)路由備份信息鏈表。
11.一種網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的裝置,其特征在于,所述裝置包括公共模塊和至少一個特性模塊,其中,所述特性模塊包括結(jié)點信息獲取裝置,用于獲取路由結(jié)點的變化信息;路由變化操作裝置,用于提供對應(yīng)所述特性模塊的路由變化處理方案的具體操作;所述公共模塊包括注冊接口,用于獲取所述特性模塊的屬性信息和路由信息以及路由變化處理方案;路由信息存儲裝置,用于存儲所述獲取的特性模塊的屬性信息及路由信息;路由信息維護(hù)裝置,用于根據(jù)所述結(jié)點信息獲取裝置獲取的路由結(jié)點的變化信息修改所述路由信息存儲裝置存儲的特性模塊的路由信息;路由變化處理裝置,用于存儲所述獲取的特性模塊的屬性信息及路由變化處理方案;檢查裝置,用于檢查所述路由信息存儲裝置存儲的路由信息,并將發(fā)生變化的路由信息通知所述路由變化處理裝置。
12.如權(quán)利要求11所述的裝置,其特征在于,所述路由信息維護(hù)裝置包括數(shù)據(jù)接口,用于根據(jù)所述結(jié)點信息獲取裝置獲取的路由結(jié)點的變化信息控制所述路由信息存儲裝置添加或刪除路由結(jié)點信息;檢索裝置,用于根據(jù)所述數(shù)據(jù)接口的命令檢索所述路由信息存儲裝置中需要刪除的結(jié)點位置。
13.如權(quán)利要求11或12所述的裝置,其特征在于,所述特性模塊還包括路由備份裝置,用于建立路由備份并通過所述路由變化操作裝置對所述路由備份進(jìn)行維護(hù)。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)設(shè)備中的公共路由變化通知的方法及裝置,該方法包括獲取各特性模塊的屬性信息和路由相關(guān)信息以及路由變化處理方案;根據(jù)獲取的各特性模塊的屬性信息及路由相關(guān)信息建立特性模塊路由信息鏈表;按預(yù)定方式檢查特性模塊路由信息鏈表,對發(fā)生變化的路由通過對應(yīng)的特性模塊提供的路由變化處理方案進(jìn)行處理;根據(jù)特性模塊路由的變化情況修改特性模塊路由信息鏈表。該裝置由公共模塊和至少一個特性模塊組成。利用本發(fā)明,可以簡單、高效地進(jìn)行路由變化通知及處理,同時還可實現(xiàn)路由的備份,保證網(wǎng)絡(luò)系統(tǒng)的正常運行。
文檔編號H04L12/24GK1697398SQ20041004446
公開日2005年11月16日 申請日期2004年5月10日 優(yōu)先權(quán)日2004年5月10日
發(fā)明者常向青, 雷昭燕, 劉宜平, 樂識非 申請人:華為技術(shù)有限公司