基于分布式架構(gòu)的路由方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供了一種基于分布式架構(gòu)的路由方法和系統(tǒng),所述分布式架構(gòu)包括一個(gè)或多個(gè)同步客戶端SyncClient,所述方法包括:獲取路由配置信息;采用所述路由配置信息生成第一路由信息庫RIB;所述第一路由信息庫RIB包括第一轉(zhuǎn)發(fā)信息庫FIB;當(dāng)接收到一個(gè)或多個(gè)同步客戶端SyncClient發(fā)送的注冊信息時(shí),向所述一個(gè)或多個(gè)同步客戶端SyncClient同步所述第一轉(zhuǎn)發(fā)信息庫FIB;依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā)表LocalFIB。本發(fā)明可以提高轉(zhuǎn)發(fā)效率,降低路由配置的復(fù)雜度,并減少人工配置。
【專利說明】基于分布式架構(gòu)的路由方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電信【技術(shù)領(lǐng)域】,特別是涉及一種基于分布式架構(gòu)的路由方法和一種基 于分布式架構(gòu)的路由系統(tǒng)。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的興起,越來越多的人使用IP(Internet Protocol,網(wǎng)絡(luò)之間互連的 協(xié)議)網(wǎng)絡(luò),因此,移動運(yùn)營商對于IP網(wǎng)絡(luò)的可靠性提出了越來越高的要求。
[0003] 目前,支撐IP網(wǎng)絡(luò)的電信級設(shè)備均采用基于IP技術(shù)的分布式架構(gòu),與傳統(tǒng)的IP 網(wǎng)絡(luò)節(jié)點(diǎn)相比,分布式架構(gòu)除了擁有多個(gè)網(wǎng)絡(luò)接口外,還可能具有多個(gè)業(yè)務(wù)單板,因此,完 成業(yè)務(wù)處理節(jié)點(diǎn),接口處理節(jié)點(diǎn)等與網(wǎng)元間設(shè)備的通信可以有以下兩種方案:
[0004] 方案一,參照圖1,示出了目前路由通信解決方案一的結(jié)構(gòu)示意圖。具體地,網(wǎng)元的 各個(gè)接口板上實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)功 能;網(wǎng)元內(nèi)部處理節(jié)點(diǎn)與外部網(wǎng)元通信時(shí),通過接口板的NAT功能;
[0005] 當(dāng)內(nèi)部處理節(jié)點(diǎn)向外部網(wǎng)元傳輸數(shù)據(jù)時(shí),先將數(shù)據(jù)包傳輸?shù)街С諲AT功能的接口 處理節(jié)點(diǎn)上,接口處理節(jié)點(diǎn)檢查數(shù)據(jù)包的報(bào)頭,獲取該數(shù)據(jù)包的源IP信息,并從NAT映射 表中找到與該源IP信息匹配的轉(zhuǎn)換條目,用所選用的外部地址替換內(nèi)部地址,并轉(zhuǎn)發(fā)數(shù)據(jù) 包。
[0006] 當(dāng)外部網(wǎng)元對網(wǎng)元內(nèi)部業(yè)務(wù)處理節(jié)點(diǎn)進(jìn)行應(yīng)答時(shí),數(shù)據(jù)包被送到接口處理節(jié)點(diǎn) 上,接口處理節(jié)點(diǎn)收到目的地址為該網(wǎng)元對外的IP地址后,將用該IP地址通過NAT映射表 查找到內(nèi)部地址,然后將數(shù)據(jù)包的目的地址替換成內(nèi)部地址,并將數(shù)據(jù)包轉(zhuǎn)發(fā)到內(nèi)部業(yè)務(wù) 處理節(jié)點(diǎn)。
[0007] 方案二,參照圖2,示出了目前路由通信解決方案二的結(jié)構(gòu)示意圖。網(wǎng)元內(nèi)各處理 節(jié)點(diǎn)分別做為獨(dú)立路由實(shí)體,配置各自的路由。網(wǎng)元內(nèi)接口處理節(jié)點(diǎn)、業(yè)務(wù)處理節(jié)點(diǎn)等分別 配置外部IP地址,在每個(gè)節(jié)點(diǎn)上分別配置對外網(wǎng)元的路由,或是在各個(gè)處理節(jié)點(diǎn)上啟動動 態(tài)路由協(xié)議。
[0008] 然而,方案一和方案二都存在缺點(diǎn),方案一的缺點(diǎn)在于:NAT轉(zhuǎn)換需要對每個(gè)進(jìn)出 路由器的IP報(bào)文進(jìn)行IP地址檢查,并且需要對轉(zhuǎn)換的IP報(bào)文的IP地址、端口進(jìn)行轉(zhuǎn)換, 不可避免地導(dǎo)致IP報(bào)文轉(zhuǎn)發(fā)效率降低。方案二的缺點(diǎn)在于:將網(wǎng)元內(nèi)部各個(gè)節(jié)點(diǎn)做為獨(dú)立 路由實(shí)體,需在每個(gè)節(jié)點(diǎn)上配置路由信息,配置條目數(shù)較多,對于小型組網(wǎng)來說是可以接受 的,但對于大型組網(wǎng)來說是其弊端。如果在各個(gè)節(jié)點(diǎn)上啟動動態(tài)路由協(xié)議,對于網(wǎng)元實(shí)現(xiàn)而 言,需要由專業(yè)人員人工配置,復(fù)雜度高。
[0009] 因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是:提供一種基于分 布式架構(gòu)的路由方法和系統(tǒng),用以提高轉(zhuǎn)發(fā)效率,降低路由配置的復(fù)雜度,并減少人工配 置。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種基于分布式架構(gòu)的路由方法,用以 提高轉(zhuǎn)發(fā)效率,降低路由配置的復(fù)雜度,并減少人工配置。
[0011] 相應(yīng)的,本發(fā)明實(shí)施例還提供了一種基于分布式架構(gòu)的路由系統(tǒng),用以保證上述 方法的實(shí)現(xiàn)及應(yīng)用。
[0012] 為了解決上述問題,本發(fā)明公開了一種基于分布式架構(gòu)的路由方法,所述分布式 架構(gòu)包括一個(gè)或多個(gè)同步客戶端SyncClient,所述方法包括:
[0013] 獲取路由配置信息;
[0014] 采用所述路由配置信息生成第一路由信息庫RIB ;所述第一路由信息庫RIB包括 第一轉(zhuǎn)發(fā)信息庫FIB ;
[0015] 當(dāng)接收到一個(gè)或多個(gè)同步客戶端SyncClient發(fā)送的注冊信息時(shí),向所述一個(gè)或 多個(gè)同步客戶端SyncClient同步所述第一轉(zhuǎn)發(fā)信息庫FIB ;
[0016] 依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā)表LocalFIB。
[0017] 優(yōu)選地,所述方法還包括:
[0018] 當(dāng)接收到數(shù)據(jù)變更消息時(shí),對所述第一路由信息庫RIB進(jìn)行更新,生成第二路由 信息庫RIB ;所述第二路由信息庫RIB包括第二轉(zhuǎn)發(fā)信息庫FIB ;
[0019] 向所述一個(gè)或多個(gè)同步客戶端SyncClient同步所述第二轉(zhuǎn)發(fā)信息庫FIB ;
[0020] 依據(jù)所述第二轉(zhuǎn)發(fā)信息庫FIB對所述第一本地轉(zhuǎn)發(fā)表LocalFIB進(jìn)行更新,生成第 二本地轉(zhuǎn)發(fā)表LocalFIB。
[0021] 優(yōu)選地,所述當(dāng)接收到一個(gè)或多個(gè)同步客戶端SyncClient發(fā)送的注冊信息時(shí),向 所述一個(gè)或多個(gè)同步客戶端同步所述第一轉(zhuǎn)發(fā)信息庫FIB的步驟包括:
[0022] 接收所述同步客戶端SyncClient發(fā)送的注冊消息;
[0023] 依據(jù)所述注冊消息獲取第一轉(zhuǎn)發(fā)信息庫FIB ;
[0024] 向所述同步客戶端SyncClient發(fā)送第一路由同步消息;所述第一路由同步消息 攜帶有所述第一轉(zhuǎn)發(fā)信息庫FIB ;
[0025] 接收所述同步客戶端SyncClient針對所述第一路由同步消息返回的第一路由同 步確認(rèn)消息。
[0026] 優(yōu)選地,所述第一轉(zhuǎn)發(fā)信息庫FIB包括一個(gè)或多個(gè)路由條目,所述一個(gè)或多個(gè)路 由條目具有目的地址、下一跳地址、接口地址和路由類型,所述路由類型包括直連路由和非 直連路由,所述非直連路由包括靜態(tài)路由,和/或,動態(tài)路由,
[0027] 所述依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā)表LocalFIB的步驟包括:
[0028] 依次獲取所述第一轉(zhuǎn)發(fā)信息庫FIB中的路由條目;
[0029] 判斷所述路由條目的路由類型;
[0030] 若所述路由條目的路由類型為直連路由,存儲所述路由條目至第一本地轉(zhuǎn)發(fā)表 LocalFIB 中;
[0031] 若所述路由條目的路由類型為非直連路由,獲取所述路由條目的接口地址;
[0032] 采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型為直連路由的路由條 目的接口地址匹配是否一致;
[0033] 若不一致,則匹配失敗,將所述路由條目置為不可用路由條目;
[0034] 若一致,則匹配成功,判斷所述路由條目的接口地址是否匹配預(yù)設(shè)IP地址;所述 預(yù)設(shè)IP地址與同步所述第一轉(zhuǎn)發(fā)信息庫FIB的同步客戶端SyncClient匹配;
[0035] 若匹配,則存儲所述路由條目至第一本地轉(zhuǎn)發(fā)表LocalFIB中;
[0036] 若不匹配,則采用所述匹配成功的直連路由的路由條目的下一跳地址替換所述路 由條目的下一跳地址,生成第一新路由條目,存儲所述第一新路由條目至第一本地轉(zhuǎn)發(fā)表 LocalFIB 中。
[0037] 優(yōu)選地,所述數(shù)據(jù)變更消息包括數(shù)據(jù)庫發(fā)送的數(shù)據(jù)變更消息,所述當(dāng)接收到數(shù)據(jù) 變更消息時(shí),對所述第一路由信息庫RIB進(jìn)行更新,生成第二路由信息庫RIB的步驟包括:
[0038] 當(dāng)接收到數(shù)據(jù)變更消息時(shí),生成一個(gè)或多個(gè)變更路由條目;
[0039] 采用所述一個(gè)或多個(gè)變更路由條目更新所述第一路由信息庫RIB中對應(yīng)的路由 條目,生成第二路由信息庫RIB。
[0040] 優(yōu)選地,所述分布式架構(gòu)還包括同步服務(wù)器SyncServer,所述向所述一個(gè)或多個(gè) 同步客戶端SyncClient同步所述第二轉(zhuǎn)發(fā)信息庫FIB的步驟包括:
[0041] 當(dāng)?shù)诙酚尚畔霷IB生成后,觸發(fā)同步服務(wù)器SyncServer向所述一個(gè)或多個(gè)同 步客戶端SyncClient發(fā)送第二路由同步消息;所述第二路由同步消息攜帶有第二轉(zhuǎn)發(fā)信 息庫FIB ;
[0042] 接收所述一個(gè)或多個(gè)同步客戶端SyncClient針對所述第二路由同步消息返回的 第二路由同步確認(rèn)消息。
[0043] 優(yōu)選地,所述路由類型為直連路由的路由條目還包括狀態(tài)字段,所述狀態(tài)字段包 括表征接口地址正常的第一狀態(tài)字段,所述第二路由同步消息包括增加消息,所述依據(jù)所 述第二轉(zhuǎn)發(fā)信息庫FIB對所述第一本地轉(zhuǎn)發(fā)表LocalFIB進(jìn)行更新,生成第二本地轉(zhuǎn)發(fā)表 LocalFIB的步驟包括:
[0044] 當(dāng)同步客戶端SyncClient接收到增加消息時(shí),將所述增加消息存儲在所述第一 本地轉(zhuǎn)發(fā)表LocalFIB中;
[0045] 依據(jù)所述增加消息,獲取所述路由類型為直連路由的路由條目的接口地址;
[0046] 采用所述接口地址與所述不可用路由條目的接口地址匹配是否一致;
[0047] 若不一致,則匹配失敗,執(zhí)行判斷是否存在不可用路由條目的步驟;
[0048] 若一致,則匹配成功,將所述不可用路由條目置為可用路由條目;判斷所述路由類 型為直連路由的路由條目的接口地址是否匹配預(yù)設(shè)IP地址;所述預(yù)設(shè)IP地址與同步所述 第二轉(zhuǎn)發(fā)信息庫FIB的同步客戶端SyncClient匹配;
[0049] 若匹配,則存儲所述路由類型為直連路由的路由條目至第二本地轉(zhuǎn)發(fā)表LocalFIB 中;
[0050] 若不匹配,則采用所述匹配成功的直連路由的路由條目的下一跳地址替換所述路 由條目的下一跳地址,生成第二新路由條目,存儲所述第二新路由條目至第二本地轉(zhuǎn)發(fā)表 LocalFIB 中;
[0051] 判斷是否存在不可用路由條目;
[0052] 若存在,則執(zhí)行所述采用所述接口地址與所述不可用路由條目的接口地址匹配是 否一致的步驟;
[0053] 若不存在,則完成所述第二本地轉(zhuǎn)發(fā)表LocalFIB。
[0054] 優(yōu)選地,所述狀態(tài)字段還包括表征接口地址故障的第二狀態(tài)字段,所述第二路由 同步消息包括刪除消息,依據(jù)所述第二轉(zhuǎn)發(fā)信息庫FIB對所述第一本地轉(zhuǎn)發(fā)表LocalFIB進(jìn) 行更新,生成第二本地轉(zhuǎn)發(fā)表LocalFIB的步驟包括:
[0055] 依據(jù)所述刪除消息,更新所述節(jié)點(diǎn)模塊的第二轉(zhuǎn)發(fā)信息庫FIB ;
[0056] 觸發(fā)刪除所述第一本地轉(zhuǎn)發(fā)表LocalFIB的路由條目;
[0057] 判斷所述觸發(fā)刪除的路由條目的路由類型;
[0058] 若所述路由條目的路由類型為直連路由,則獲取所述路由條目的接口地址;
[0059] 采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型為非直連路由的路由 條目的接口地址匹配是否一致;
[0060] 若一致,則匹配成功,將所述路由類型為非直連路由的路由條目置為不可用路由 條目;
[0061] 刪除所述第一本地轉(zhuǎn)發(fā)表LocalFIB中的不可用路由條目;
[0062] 判斷是否存在未匹配的路由條目,所述路由條目的路由類型包括非直連路由;若 存在,則執(zhí)行采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型為非直連路由的路 由條目的接口地址匹配是否一致的子步驟,若不存在,則刪除完成。
[0063] 優(yōu)選地,所述路由配置信息包括接口地址配置信息,和/或,靜態(tài)路由配置信息, 和/或,動態(tài)路由配置信息。
[0064] 依據(jù)本發(fā)明的實(shí)施例,還公開了一種基于分布式架構(gòu)的路由系統(tǒng),所述分布式架 構(gòu)包括一個(gè)或多個(gè)同步客戶端SyncClient,所述系統(tǒng)包括:
[0065] 路由配置信息獲取模塊,用于獲取路由配置信息;
[0066] 第一路由信息庫生成模塊,用于采用所述路由配置信息生成第一路由信息庫RIB ; 所述第一路由信息庫RIB包括第一轉(zhuǎn)發(fā)信息庫FIB ;
[0067] 第一轉(zhuǎn)發(fā)信息庫同步模塊,用于在接收到一個(gè)或多個(gè)同步客戶端SyncClient發(fā) 送的注冊信息時(shí),向所述一個(gè)或多個(gè)同步客戶端SyncClient同步所述第一轉(zhuǎn)發(fā)信息庫 FIB ;
[0068] 第一本地轉(zhuǎn)發(fā)表生成模塊,用于依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā) 表 LocalFIB。
[0069] 優(yōu)選地,所述系統(tǒng)還包括:
[0070] 第一路由信息庫更新模塊,用于在接收到數(shù)據(jù)變更消息時(shí),對所述第一路由信息 庫RIB進(jìn)行更新,生成第二路由信息庫RIB ;所述第二路由信息庫RIB包括第二轉(zhuǎn)發(fā)信息庫 FIB ;
[0071] 第二轉(zhuǎn)發(fā)信息庫同步模塊,用于向所述一個(gè)或多個(gè)同步客戶端SyncClient同步 所述第二轉(zhuǎn)發(fā)信息庫FIB ;
[0072] 第二本地轉(zhuǎn)發(fā)表生成模塊,用于依據(jù)所述第二轉(zhuǎn)發(fā)信息庫FIB對所述第一本地轉(zhuǎn) 發(fā)表LocalFIB進(jìn)行更新,生成第二本地轉(zhuǎn)發(fā)表LocalFIB。
[0073] 優(yōu)選地,所述第一轉(zhuǎn)發(fā)信息庫同步模塊包括:
[0074] 注冊消息接收子模塊,用于接收所述同步客戶端SyncClient發(fā)送的注冊消息;
[0075] 第一轉(zhuǎn)發(fā)信息庫獲取子模塊,用于依據(jù)所述注冊消息獲取第一轉(zhuǎn)發(fā)信息庫FIB ;
[0076] 第一路由同步消息發(fā)送子模塊,用于向所述同步客戶端SyncClient發(fā)送第一路 由同步消息;所述第一路由同步消息攜帶有所述第一轉(zhuǎn)發(fā)信息庫FIB ;
[0077] 第一路由同步確認(rèn)消息接收子模塊,用于接收所述同步客戶端SyncClient針對 所述第一路由同步消息返回的第一路由同步確認(rèn)消息。
[0078] 優(yōu)選地,所述第一轉(zhuǎn)發(fā)信息庫FIB可以包括一個(gè)或多個(gè)路由條目,所述一個(gè)或多 個(gè)路由條目可以具有目的地址、下一跳地址、接口地址和路由類型,所述路由類型可以包括 直連路由和非直連路由,所述非直連路由可以包括靜態(tài)路由,和/或,動態(tài)路由,
[0079] 所述第一本地轉(zhuǎn)發(fā)表生成模塊包括:
[0080] 路由條目獲取子模塊,用于依次獲取所述第一轉(zhuǎn)發(fā)信息庫FIB中的路由條目;
[0081] 路由類型判斷子模塊,用于判斷所述路由條目的路由類型;
[0082] 路由條目存儲子模塊,用于在所述路由條目的路由類型為直連路由,存儲所述路 由條目至第一本地轉(zhuǎn)發(fā)表LocalFIB中;
[0083] 第一接口地址獲取子模塊,用于在所述路由條目的路由類型為非直連路由,獲取 所述路由條目的接口地址;
[0084] 第一匹配子模塊,用于采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型 為直連路由的路由條目的接口地址匹配是否一致;
[0085] 不可用路由條目子模塊,用于在接口地址不一致,匹配失敗時(shí),將所述路由條目置 為不可用路由條目;
[0086] 第一預(yù)設(shè)IP地址判斷子模塊,用于在接口地址一致,匹配成功時(shí),判斷所述路由 條目的接口地址是否匹配預(yù)設(shè)IP地址;所述預(yù)設(shè)IP地址與同步所述第一轉(zhuǎn)發(fā)信息庫FIB 的同步客戶端SyncClient匹配;
[0087] 第一屬于判定子模塊,用于在接口地址匹配預(yù)設(shè)IP地址時(shí),存儲所述路由條目至 第一本地轉(zhuǎn)發(fā)表LocalFIB中;
[0088] 第一不屬于判定子模塊,用于在接口地址不匹配預(yù)設(shè)IP地址時(shí),采用所述直連路 由的路由條目的下一跳地址替換所述路由條目的下一跳地址后,存儲所述路由條目至第一 本地轉(zhuǎn)發(fā)表LocalFIB中。
[0089] 優(yōu)選地,所述數(shù)據(jù)變更消息可以包括數(shù)據(jù)庫發(fā)送的數(shù)據(jù)變更消息,所述第一路由 信息庫更新模塊包括:
[0090] 變更路由條目生成子模塊,用于在接收到數(shù)據(jù)變更消息時(shí),生成一個(gè)或多個(gè)變更 路由條目;
[0091] 第二路由信息庫生成子模塊,用于采用所述一個(gè)或多個(gè)變更路由條目更新所述第 一路由信息庫RIB中對應(yīng)的路由條目,生成第二路由信息庫RIB。
[0092] 優(yōu)選地,所述分布式架構(gòu)還包括同步服務(wù)器SyncServer,所述第二轉(zhuǎn)發(fā)信息庫同 步模塊包括:
[0093] 第二路由同步消息發(fā)送子模塊,用于在第二路由信息庫RIB生成后,觸發(fā)同步服 務(wù)器SyncServer向所述一個(gè)或多個(gè)同步客戶端SyncClient發(fā)送第二路由同步消息;所述 第二路由同步消息攜帶有第二轉(zhuǎn)發(fā)信息庫FIB ;
[0094] 第二路由同步確認(rèn)消息接收子模塊,用于接收所述一個(gè)或多個(gè)同步客戶端 SyncCl ient針對所述第二路由同步消息返回的第二路由同步確認(rèn)消息。
[0095] 優(yōu)選地,所述路由類型為直連路由的路由條目還可以包括狀態(tài)字段,所述狀態(tài)字 段可以包括表征接口地址正常的第一狀態(tài)字段,所述第二路由同步消息可以包括增加消 息,所述第二本地轉(zhuǎn)發(fā)表生成模塊包括:
[0096] 增加消息存儲子模塊,用于在同步客戶端SyncClient接收到增加消息時(shí),將所述 增加消息存儲在所述第一本地轉(zhuǎn)發(fā)表LocalFIB中;
[0097] 第二接口地址獲取子模塊,用于依據(jù)所述增加消息,獲取所述路由類型為直連路 由的路由條目的接口地址;
[0098] 第二匹配子模塊,用于采用所述接口地址與所述不可用路由條目的接口地址匹配 是否一致;
[0099] 跳轉(zhuǎn)子模塊,用于在接口地址不一致,匹配失敗時(shí),執(zhí)行判斷是否存在不可用路由 條目的步驟;
[0100] 第二預(yù)設(shè)IP地址判斷子模塊,用于在接口地址一致,匹配成功時(shí),判斷所述路由 類型為直連路由的路由條目的接口地址是否匹配預(yù)設(shè)IP地址;所述預(yù)設(shè)IP地址與同步所 述第二轉(zhuǎn)發(fā)信息庫FIB的同步客戶端SyncClient匹配;
[0101] 第二屬于判定子模塊,用于在接口地址匹配預(yù)設(shè)IP地址時(shí),存儲所述路由類型為 直連路由的路由條目至第二本地轉(zhuǎn)發(fā)表LocalFIB中;
[0102] 第二不屬于判定子模塊,用于在接口地址不匹配預(yù)設(shè)IP地址時(shí),采用所述直連路 由的路由條目的下一跳地址替換所述路由條目的下一跳地址后,存儲所述路由條目至第二 本地轉(zhuǎn)發(fā)表LocalFIB中;
[0103] 不可用路由條目存在判斷子模塊,用于判斷是否存在不可用路由條目;
[0104] 存在判定子模塊,用于在存在不可用路由條目時(shí),執(zhí)行所述采用所述接口地址與 所述不可用路由條目的接口地址匹配是否一致的步驟;
[0105] 不存在判定子模塊,用于在不存在不可用路由條目時(shí),完成所述第二本地轉(zhuǎn)發(fā)表 LocalFIB。
[0106] 優(yōu)選地,所述狀態(tài)字段還包括表征接口地址故障的第二狀態(tài)字段,所述第二本地 轉(zhuǎn)發(fā)表生成模塊包括:
[0107] 第二轉(zhuǎn)發(fā)信息庫更新子模塊,用于依據(jù)所述刪除消息,更新所述節(jié)點(diǎn)模塊的第二 轉(zhuǎn)發(fā)信息庫FIB ;
[0108] 路由條目觸發(fā)刪除子模塊,用于觸發(fā)刪除所述第一本地轉(zhuǎn)發(fā)表LocalFIB的路由 條目;
[0109] 路由類型判斷子模塊,用于判斷所述觸發(fā)刪除的路由條目的路由類型;
[0110] 直連路由判定子模塊,用于在判定所述路由條目的路由類型為直連路由,獲取所 述路由條目的接口地址;
[0111] 第三匹配子模塊,用于采用所述接口地址與所述第一轉(zhuǎn)發(fā)表FIB中路由類型為非 直連路由的路由條目的接口地址匹配是否一致;
[0112] 匹配成功子模塊,用于在接口地址一致,匹配成功時(shí),將所述路由類型為非直連路 由的路由條目置為不可用路由條目;
[0113] 不可用路由條目刪除子模塊,用于刪除所述第一本地轉(zhuǎn)發(fā)表中的不可用路由條 目;
[0114] 未匹配的路由條目存在判斷子模塊,用于判斷是否存在未匹配的路由條目,所述 路由條目的路由類型包括非直連路由;
[0115] 路由條目存在子模塊,用于在判定存在未匹配的路由條目時(shí),執(zhí)行采用所述接口 地址與所述第一轉(zhuǎn)發(fā)表FIB中路由類型為非直連路由的路由條目的接口地址匹配是否一 致的子步驟,
[0116] 路由條目不存在子模塊,用于在判定不存在未匹配的路由條目時(shí),刪除完成。
[0117] 優(yōu)選地,所述路由配置信息包括接口地址配置信息,和/或,靜態(tài)路由配置信息, 和/或,動態(tài)路由配置信息。
[0118] 與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0119] 本發(fā)明通過將第一轉(zhuǎn)發(fā)信息庫FIB同步至各被控節(jié)點(diǎn),生成第一本地轉(zhuǎn)發(fā)表 LocalFIB,采用第一本地轉(zhuǎn)發(fā)表LocalFIB轉(zhuǎn)發(fā)報(bào)文,可以避免網(wǎng)絡(luò)地址轉(zhuǎn)換,從而提高轉(zhuǎn) 發(fā)效率,并且,在被控節(jié)點(diǎn)上配置必要的路由后,其他被控節(jié)點(diǎn)可以依據(jù)第一轉(zhuǎn)發(fā)信息庫 FIB自動生成第一本地轉(zhuǎn)發(fā)表LocalFIB,因此可以減少人工配置,降低路由配置的復(fù)雜度。
[0120] 進(jìn)一步地,本發(fā)明通過融合檢測機(jī)制,將正?;蚬收舷l(fā)送給主控節(jié)點(diǎn),觸發(fā)路 由條目的增加或刪除,可以及時(shí)更新第一本地轉(zhuǎn)發(fā)表LocalFIB,從而可以減少節(jié)點(diǎn)故障或 接口故障對業(yè)務(wù)的影響,便故障處理簡單化,將各個(gè)功能模塊化,可以在分布式架構(gòu)下靈活 部署。
[0121] 更進(jìn)一步地,本發(fā)明通過數(shù)據(jù)庫發(fā)送數(shù)據(jù)變更消息,對第一路由信息庫RIB進(jìn)行 更新,從而更新生成第二轉(zhuǎn)發(fā)信息庫FIB,并且,主動將第二轉(zhuǎn)發(fā)信息庫FIB同步至被控節(jié) 點(diǎn),可以及時(shí)更新被控節(jié)點(diǎn)的第一本地轉(zhuǎn)發(fā)表LocalFIB,從而可以減少節(jié)點(diǎn)故障或接口故 障對業(yè)務(wù)的影響,提高更新速度,縮短更新時(shí)間,降低延遲。
【專利附圖】
【附圖說明】
[0122] 圖1示出了目前路由通信解決方案一的結(jié)構(gòu)示意圖;
[0123] 圖2示出了目前路由通信解決方案二的結(jié)構(gòu)示意圖;
[0124] 圖3示出了本發(fā)明一種基于分布式架構(gòu)的路由方法實(shí)施例1的步驟流程圖;
[0125] 圖4示出了本發(fā)明一種基于分布式架構(gòu)的路由方法路由同步過程的流程示意圖;
[0126] 圖5示出了本發(fā)明一種基于分布式架構(gòu)的路由方法生成第一本地轉(zhuǎn)發(fā)表的流程 示意圖;
[0127] 圖6示出了本發(fā)明一種基于分布式架構(gòu)的路由方法實(shí)際應(yīng)用的結(jié)構(gòu)示意圖;
[0128] 圖7示出了本發(fā)明一種基于分布式架構(gòu)的路由方法實(shí)施例2的步驟流程圖;
[0129] 圖8示出了本發(fā)明一種基于分布式架構(gòu)的路由方法同步第二轉(zhuǎn)發(fā)信息庫的流程 示意圖;
[0130] 圖9示出了本發(fā)明一種基于分布式架構(gòu)的路由方法增加路由條目的流程示意圖;
[0131] 圖10示出了本發(fā)明一種基于分布式架構(gòu)的路由方法刪除路由條目的流程示意 圖;
[0132] 圖11示出了本發(fā)明一種基于分布式架構(gòu)的路由系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0133] 為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0134] 本發(fā)明實(shí)施例的核心構(gòu)思之一在于,在基于IP (Internet Protocol,網(wǎng)絡(luò)之間互 連的協(xié)議)技術(shù)分布式架構(gòu)下采用內(nèi)部路由機(jī)制,生成網(wǎng)元內(nèi)各節(jié)點(diǎn)到內(nèi)部節(jié)點(diǎn)以及外部 網(wǎng)元的第一轉(zhuǎn)發(fā)信息庫FIB,從而在各被控節(jié)點(diǎn)中同步第一轉(zhuǎn)發(fā)信息庫FIB,并生成第一本 地轉(zhuǎn)發(fā)表LocalFIB,采用第一本地轉(zhuǎn)發(fā)表LocalFIB轉(zhuǎn)發(fā)報(bào)文,使得被控節(jié)點(diǎn)可以靈活部 署,將整個(gè)網(wǎng)元作為一個(gè)路由實(shí)體,減少了操作臺界面上路由條目配置。
[0135] 參照圖3,示出了本發(fā)明一種基于分布式架構(gòu)的路由方法實(shí)施例1的步驟流程圖, 所述分布式架構(gòu)可以包括一個(gè)或多個(gè)同步客戶端SyncClient,具體可以包括如下步驟:
[0136] 步驟301,獲取路由配置信息;
[0137] 在具體應(yīng)用中,路由配置信息可以是預(yù)先設(shè)置好的,可以包括對外的路由配置信 息、對內(nèi)的路由配置信息。
[0138] 在本發(fā)明實(shí)施例的一種優(yōu)選示例中,所述路由配置信息可以包括接口地址配置信 息,和/或,靜態(tài)路由配置信息,和/或,動態(tài)路由配置信息。
[0139] 在具體實(shí)現(xiàn)中,接口地址配置信息和靜態(tài)路由配置信息可以存儲在數(shù)據(jù)庫中,動 態(tài)路由配置信息可以由路由協(xié)議獲取。
[0140] 接口地址配置信息可以反映網(wǎng)元內(nèi)部拓?fù)浣Y(jié)構(gòu)。
[0141] 靜態(tài)路由配置信息可以是指由用戶或網(wǎng)絡(luò)管理員手工配置的路由信息。當(dāng)網(wǎng)絡(luò)的 拓?fù)浣Y(jié)構(gòu)或鏈路的狀態(tài)發(fā)生變化時(shí),網(wǎng)絡(luò)管理員需要手工去修改路由表中相關(guān)的靜態(tài)路由 配置信息。靜態(tài)路由配置信息在缺省情況下是私有的,不會傳遞給其他的路由器,當(dāng)然,網(wǎng) 管員也可以設(shè)置成共享的。靜態(tài)路由一般適用于比較簡單的網(wǎng)絡(luò)環(huán)境,在這樣的環(huán)境中,網(wǎng) 絡(luò)管理員易于清楚地了解網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),便于設(shè)置正確的路由配置信息。
[0142] 動態(tài)路由配置信息可以是通過相互連接的路由器之間交換彼此信息,然后按照一 定的算法自動優(yōu)化出來的,動態(tài)路由配置信息可以在一定時(shí)間間隙里不斷更新,以適應(yīng)不 斷變化的網(wǎng)絡(luò),隨時(shí)獲得最優(yōu)的尋路效果。
[0143] 步驟302,采用所述路由配置信息生成第一路由信息庫RIB ;所述第一路由信息庫 RIB包括第一轉(zhuǎn)發(fā)信息庫FIB ;
[0144] 在具體實(shí)現(xiàn)中,第一路由信息庫RIB (Routing Information Base)可以是一個(gè)電 子表格(文件)或類數(shù)據(jù)庫。
[0145] 例如,一種第一路由信息庫RIB路由生成規(guī)則的示例如下:
[0146] 第一路由信息庫RIB可以包括:直連路由、靜態(tài)路由、動態(tài)路由等三種路由類型。
[0147] 直連路由:可以根據(jù)來自數(shù)據(jù)庫的接口地址配置信息生成反映網(wǎng)元內(nèi)部拓?fù)浣Y(jié)構(gòu) 的路由信息。生成的路由條目如下表1所示,插入到第一路由信息庫RIB中:
【權(quán)利要求】
1. 一種基于分布式架構(gòu)的路由方法,其特征在于,所述分布式架構(gòu)包括一個(gè)或多個(gè)同 步客戶端SyncClient,所述方法包括: 獲取路由配置信息; 采用所述路由配置信息生成第一路由信息庫RIB ;所述第一路由信息庫RIB包括第一 轉(zhuǎn)發(fā)信息庫FIB ; 當(dāng)接收到一個(gè)或多個(gè)同步客戶端SyncClient發(fā)送的注冊信息時(shí),向所述一個(gè)或多個(gè) 同步客戶端SyncClient同步所述第一轉(zhuǎn)發(fā)信息庫FIB ; 依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā)表LocalFIB。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 當(dāng)接收到數(shù)據(jù)變更消息時(shí),對所述第一路由信息庫RIB進(jìn)行更新,生成第二路由信息 庫RIB ;所述第二路由信息庫RIB包括第二轉(zhuǎn)發(fā)信息庫FIB ; 向所述一個(gè)或多個(gè)同步客戶端SyncClient同步所述第二轉(zhuǎn)發(fā)信息庫FIB ; 依據(jù)所述第二轉(zhuǎn)發(fā)信息庫FIB對所述第一本地轉(zhuǎn)發(fā)表LocalFIB進(jìn)行更新,生成第二本 地轉(zhuǎn)發(fā)表LocalFIB。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)接收到一個(gè)或多個(gè)同步客戶端 SyncClient發(fā)送的注冊信息時(shí),向所述一個(gè)或多個(gè)同步客戶端同步所述第一轉(zhuǎn)發(fā)信息庫 FIB的步驟包括: 接收所述同步客戶端SyncClient發(fā)送的注冊消息; 依據(jù)所述注冊消息獲取第一轉(zhuǎn)發(fā)信息庫FIB ; 向所述同步客戶端SyncClient發(fā)送第一路由同步消息;所述第一路由同步消息攜帶 有所述第一轉(zhuǎn)發(fā)信息庫FIB ; 接收所述同步客戶端SyncClient針對所述第一路由同步消息返回的第一路由同步確 認(rèn)消息。
4. 根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述第一轉(zhuǎn)發(fā)信息庫FIB包括一個(gè) 或多個(gè)路由條目,所述一個(gè)或多個(gè)路由條目具有目的地址、下一跳地址、接口地址和路由類 型,所述路由類型包括直連路由和非直連路由,所述非直連路由包括靜態(tài)路由,和/或,動 態(tài)路由, 所述依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā)表LocalFIB的步驟包括: 依次獲取所述第一轉(zhuǎn)發(fā)信息庫FIB中的路由條目; 判斷所述路由條目的路由類型; 若所述路由條目的路由類型為直連路由,存儲所述路由條目至第一本地轉(zhuǎn)發(fā)表 LocalFIB 中; 若所述路由條目的路由類型為非直連路由,獲取所述路由條目的接口地址; 采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型為直連路由的路由條目的 接口地址匹配是否一致; 若不一致,則匹配失敗,將所述路由條目置為不可用路由條目; 若一致,則匹配成功,判斷所述路由條目的接口地址是否匹配預(yù)設(shè)IP地址;所述預(yù)設(shè) IP地址與同步所述第一轉(zhuǎn)發(fā)信息庫FIB的同步客戶端SyncClient匹配; 若匹配,則存儲所述路由條目至第一本地轉(zhuǎn)發(fā)表LocalFIB中; 若不匹配,則采用所述匹配成功的直連路由的路由條目的下一跳地址替換所述路由 條目的下一跳地址,生成第一新路由條目,存儲所述第一新路由條目至第一本地轉(zhuǎn)發(fā)表 LocalFIB 中。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)變更消息包括數(shù)據(jù)庫發(fā)送的數(shù) 據(jù)變更消息,所述當(dāng)接收到數(shù)據(jù)變更消息時(shí),對所述第一路由信息庫RIB進(jìn)行更新,生成第 二路由信息庫RIB的步驟包括: 當(dāng)接收到數(shù)據(jù)變更消息時(shí),生成一個(gè)或多個(gè)變更路由條目; 采用所述一個(gè)或多個(gè)變更路由條目更新所述第一路由信息庫RIB中對應(yīng)的路由條目, 生成第二路由信息庫RIB。
6. 根據(jù)權(quán)利要求2或5所述的方法,其特征在于,所述分布式架構(gòu)還包括同步服務(wù)器 SyncServer,所述向所述一個(gè)或多個(gè)同步客戶端SyncClient同步所述第二轉(zhuǎn)發(fā)信息庫FIB 的步驟包括: 當(dāng)?shù)诙酚尚畔霷IB生成后,觸發(fā)同步服務(wù)器SyncServer向所述一個(gè)或多個(gè)同步客 戶端SyncClient發(fā)送第二路由同步消息;所述第二路由同步消息攜帶有第二轉(zhuǎn)發(fā)信息庫 FIB ; 接收所述一個(gè)或多個(gè)同步客戶端SyncClient針對所述第二路由同步消息返回的第二 路由同步確認(rèn)消息。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述路由類型為直連路由的路由條目還 包括狀態(tài)字段,所述狀態(tài)字段包括表征接口地址正常的第一狀態(tài)字段,所述第二路由同步 消息包括增加消息,所述依據(jù)所述第二轉(zhuǎn)發(fā)信息庫FIB對所述第一本地轉(zhuǎn)發(fā)表LocalFIB進(jìn) 行更新,生成第二本地轉(zhuǎn)發(fā)表LocalFIB的步驟包括: 當(dāng)同步客戶端SyncClient接收到增加消息時(shí),將所述增加消息存儲在所述第一本地 轉(zhuǎn)發(fā)表LocalFIB中; 依據(jù)所述增加消息,獲取所述路由類型為直連路由的路由條目的接口地址; 采用所述接口地址與所述不可用路由條目的接口地址匹配是否一致; 若不一致,則匹配失敗,執(zhí)行判斷是否存在不可用路由條目的步驟; 若一致,則匹配成功,將所述不可用路由條目置為可用路由條目;判斷所述路由類型為 直連路由的路由條目的接口地址是否匹配預(yù)設(shè)IP地址;所述預(yù)設(shè)IP地址與同步所述第二 轉(zhuǎn)發(fā)信息庫FIB的同步客戶端SyncClient匹配; 若匹配,則存儲所述路由類型為直連路由的路由條目至第二本地轉(zhuǎn)發(fā)表LocalFIB中; 若不匹配,則采用所述匹配成功的直連路由的路由條目的下一跳地址替換所述路由 條目的下一跳地址,生成第二新路由條目,存儲所述第二新路由條目至第二本地轉(zhuǎn)發(fā)表 LocalFIB 中; 判斷是否存在不可用路由條目; 若存在,則執(zhí)行所述采用所述接口地址與所述不可用路由條目的接口地址匹配是否一 致的步驟; 若不存在,則完成所述第二本地轉(zhuǎn)發(fā)表LocalFIB。
8. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述狀態(tài)字段還包括表征接口地址故障 的第二狀態(tài)字段,所述第二路由同步消息包括刪除消息,依據(jù)所述第二轉(zhuǎn)發(fā)信息庫FIB對 所述第一本地轉(zhuǎn)發(fā)表LocalFIB進(jìn)行更新,生成第二本地轉(zhuǎn)發(fā)表LocalFIB的步驟包括: 依據(jù)所述刪除消息,更新所述節(jié)點(diǎn)模塊的第二轉(zhuǎn)發(fā)信息庫FIB ; 觸發(fā)刪除所述第一本地轉(zhuǎn)發(fā)表LocalFIB的路由條目; 判斷所述觸發(fā)刪除的路由條目的路由類型; 若所述路由條目的路由類型為直連路由,則獲取所述路由條目的接口地址; 采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型為非直連路由的路由條目 的接口地址匹配是否一致; 若一致,則匹配成功,將所述路由類型為非直連路由的路由條目置為不可用路由條 目; 刪除所述第一本地轉(zhuǎn)發(fā)表LocalFIB中的不可用路由條目; 判斷是否存在未匹配的路由條目,所述路由條目的路由類型包括非直連路由;若存在, 則執(zhí)行采用所述接口地址與所述第一轉(zhuǎn)發(fā)信息庫FIB中路由類型為非直連路由的路由條 目的接口地址匹配是否一致的子步驟,若不存在,則刪除完成。
9. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述路由配置信息包括接口地址配置信 息,和/或,靜態(tài)路由配置信息,和/或,動態(tài)路由配置信息。
10. -種基于分布式架構(gòu)的路由系統(tǒng),其特征在于,所述分布式架構(gòu)包括一個(gè)或多個(gè)同 步客戶端SyncClient,所述系統(tǒng)包括: 路由配置信息獲取模塊,用于獲取路由配置信息; 第一路由信息庫生成模塊,用于采用所述路由配置信息生成第一路由信息庫RIB;所 述第一路由信息庫RIB包括第一轉(zhuǎn)發(fā)信息庫FIB ; 第一轉(zhuǎn)發(fā)信息庫同步模塊,用于在接收到一個(gè)或多個(gè)同步客戶端SyncClient發(fā)送的 注冊信息時(shí),向所述一個(gè)或多個(gè)同步客戶端SyncClient同步所述第一轉(zhuǎn)發(fā)信息庫FIB ; 第一本地轉(zhuǎn)發(fā)表生成模塊,用于依據(jù)所述第一轉(zhuǎn)發(fā)信息庫FIB生成第一本地轉(zhuǎn)發(fā)表 LocalFIB。
【文檔編號】H04L12/715GK104253748SQ201410496011
【公開日】2014年12月31日 申請日期:2014年9月24日 優(yōu)先權(quán)日:2014年9月24日
【發(fā)明者】張騫丹 申請人:大唐移動通信設(shè)備有限公司