專利名稱:一種反射路由的處理方法和路由反射設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種反射路由的處理方法和路由反射 設(shè)備。
背景技術(shù):
邊界網(wǎng)關(guān)路由協(xié)議(Border Gateway Protocol, BGP)是一種用于自治系統(tǒng) (Autonomous System, AS )之間的動態(tài)3各由協(xié)i義。
為了避免路由環(huán)路,BGP協(xié)議規(guī)定AS內(nèi)的內(nèi)部BGP協(xié)議(Internal BGP, IBGP)對等體之間不能轉(zhuǎn)發(fā)BGP路由,為了保證IBGP對等體之間的連通性, 需要在IBGP對等體之間建立全連接關(guān)系。假設(shè)一個AS內(nèi)部有n臺路由器,那 么應(yīng)該建立的IBGP連接數(shù)為n(n-l)/2。當IBGP對等體的數(shù)目很多時,對網(wǎng)絡(luò) 資源和CPU資源的消耗都很大。為此,BGP協(xié)議引人路由反射的概念,在一個 AS內(nèi),其中一臺路由器作為路由反射器(Route Reflector, RR),其它路由器作 為客戶機(Client),其中,路由反射器是進行路由反射和路由策略控制的關(guān)鍵 設(shè)備。
如圖l所示,客戶機與路由反射器之間建立IBGP連接,路由反射器和它的 客戶機組成一個集群(Cluster )。路由反射器在客戶機之間傳遞(反射)路由信 息,而客戶機之間不需建立BGP連接。既不是路由反射器也不是客戶機的BGP 路由器稱為非客戶機(Non-Client),非客戶機與路由反射器之間,以及所有非 客戶機之間仍然必須建立全連接關(guān)系。當RR接收到IBGP發(fā)送來的路由,首先 使用BGP選擇路由的策略選出最佳路由,然后按照RFC2796 (RFC是一系列關(guān) 于Internet的技術(shù)資料匯編)中的規(guī)則發(fā)布路由從非客戶機IBGP對等體學(xué)到 的路由,發(fā)布給此RR的所有客戶機;從客戶機學(xué)到的路由,發(fā)布給此RR的所 有非客戶機和客戶機(發(fā)起此路由的客戶機除外);從外部BGP (External BGP, BGP)對等體學(xué)到的路由,發(fā)布給所有的非客戶機和客戶機。
路由反射器采用 一系列防止路由環(huán)路的規(guī)則,可以有效地防止^各由環(huán)路,而在實際應(yīng)用中,路由反射器下掛的客戶機數(shù)量通常很大,同時為適應(yīng)所有的 客戶機和非客戶機的路由反射需求,路由反射器上必須保存接收到的路由的全
集,所以路由反射器是BGP網(wǎng)中對路由容量要求最高的設(shè)備,隨著網(wǎng)絡(luò)技術(shù)飛 速發(fā)展,路由量激增,如何有效地提高路由反射器的容量或者如何提高路由反 射器內(nèi)存使用率成為路由器設(shè)備制造商關(guān)注的技術(shù)問題。
通常一條BGP路由在BGP選路中優(yōu)選為最佳路由后,會安裝到路由器的通 用路由信息庫(Routing Information Base, RIB )表中,在RIB中進行本地選路, 優(yōu)選后下發(fā)到轉(zhuǎn)發(fā)信息庫(Forward Information Base, FIB)表中指導(dǎo)轉(zhuǎn)發(fā),因 此計算一條路由的內(nèi)存消耗是 一條BGP路由表項、 一條RIB表項和一條FIB 表項三者的內(nèi)存耗費的總和。
在實際應(yīng)用中,與提高普通路由器的容量的方法相同,提高路由反射器容 量的方法有兩種 一是路由表項的數(shù)據(jù)結(jié)構(gòu)設(shè)計優(yōu)化,使BGP路由表項、RIB 表項、FIB表項占用盡可能少的內(nèi)存,提高內(nèi)存的使用率,用來存儲盡可能多的 BGP路由;二是硬件設(shè)計優(yōu)化增加路由器內(nèi)存容量。
發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn)路由表項的數(shù)據(jù)結(jié)構(gòu)設(shè)計優(yōu)化方法, 無論怎么優(yōu)化,BGP路由表項、RIB表項、FIB表項都必須占用內(nèi)存, 一條路 由這三部分內(nèi)存占用的比例通常是1:1:1,優(yōu)化終究有限,并且由于FIB表項和 硬件轉(zhuǎn)發(fā)表項一一對應(yīng),而硬件轉(zhuǎn)發(fā)設(shè)備的成本相對較高,在成本因素的限制 下,F(xiàn)IB表項的容量受限;對于硬件設(shè)計優(yōu)化,增加路由器內(nèi)存容量,必然帶來 硬件成本的增加。
發(fā)明內(nèi)容
本發(fā)明實施例提供了 一種反射路由的處理方法和路由反射設(shè)備,將用于僅 用于路由反射的路由限制加入到RIB表中,減少了 RIB表項和FIB表項的內(nèi)存 占用,提高了內(nèi)存的使用率,降低了成本。
為此,本發(fā)明實施例提出了一種反射路由的處理方法,其包括
接收到反射路由信息后,選擇一條路由作為最佳路由;
發(fā)送所述最佳路由,并根據(jù)配置的控制命令判斷所述最佳路由是否加入到 通用路由信息表,如果否,則不加入到通用路由信息表,否則,進入下一步驟;
將所述最佳路由加入到通用路由信息表。相應(yīng)地,本發(fā)明實施例還提供了一種路由反射設(shè)備,包括通用路由信息 表、轉(zhuǎn)發(fā)信息表,其中,所述路由反射設(shè)備還包括 路由接收單元,用于接收反射路由信息;
路由選擇單元,用于從路由接收單元接收到的反射路由信息中選出一條路 由作為最佳^^由;
路由發(fā)送單元,用于將路由選擇單元選出的最佳路由發(fā)送出去;
路由分析單元,用于根據(jù)配置的控制命令判斷所迷路由選擇單元選出的最 佳路由是否加入所述通用路由信息表,并輸出判斷結(jié)果;
路由安裝單元,用于當路由分析單元輸出的判斷結(jié)果為加入通用路由信息 表時,將所述最佳路由加入到所述通用路由信息表中;
當路由分析單元輸出的判斷結(jié)果為不加入所述通用路由信息表,不將所述 最佳路由加入到通用路由信息表。
綜上所述,本發(fā)明提供的一種反射路由的處理方法和路由反射設(shè)備通過限 制將僅用于路由反射,不需要指導(dǎo)本地路由轉(zhuǎn)發(fā)的路由加入到通用路由信息 (RIB)表中,提高了內(nèi)存使用率,同時,由于不需加入RIB表中,減少了RIB 選路和FIB的下刷處理,提高了路由反射器的處理性能。
圖1是目前的一種自治系統(tǒng)內(nèi)路由反射器在網(wǎng)絡(luò)中的位置結(jié)構(gòu)圖; 圖2是本發(fā)明實施例提供的一種路由反射設(shè)備的結(jié)構(gòu)示意圖; 圖3是圖2所述的路由分析單元的結(jié)構(gòu)示意圖; 圖4是本發(fā)明實施例提供的一種反射路由的處理方法的流程圖; 圖5是本發(fā)明實施例提供的一種反射路由的處理方法的流程圖。
具體實施例方式
本發(fā)明實施例提供的 一種反射路由的處理方法和路由反射設(shè)備通過控制命 令限制僅用于反射的路由加入到通用路由信息表來提高設(shè)備內(nèi)存的利用率。 下面結(jié)合附圖詳細闡述本發(fā)明實施例的技術(shù)方案。
參考圖2,圖示了一種路由反射設(shè)備的結(jié)構(gòu)。如圖所示,路由反射設(shè)備2包
括路由接收單元21,用于接收反射路由信息;
路由選擇單元22,用于從路由接收單元21接收到的路由信息中優(yōu)選一條路 由作為最佳路由;
路由發(fā)送單元28,用于發(fā)送路由選擇單元22選出的最佳路由;
路由分析單元23,用于根據(jù)配置的控制命令判斷所述路由選擇單元22選出 的最佳路由是否加入所述通用路由信息表26,并輸出判斷結(jié)果;
路由安裝單元24,用于當路由分析單元23輸出的判斷結(jié)果為加入通用路由 信息表26,將所述最佳路由加入到所述通用路由信息表26中,經(jīng)過通用路由信 息表26路由選擇后,下發(fā)到轉(zhuǎn)發(fā)信息表27中指導(dǎo)數(shù)據(jù)轉(zhuǎn)發(fā);
當路由分析單元23輸出的判斷結(jié)果為不加入所述通用路由信息表26,不將 所述最佳路由加入到通用路由信息表26中。
其中,所述控制命令是網(wǎng)絡(luò)管理人員在配置路由器時,配置的命令,其格 式為控制命令[控制條件參數(shù)參數(shù)名稱],如,no-local-forward [route-policy policy-name],或者為不帶控制條件參數(shù)的控制命令,如no-local-forward。
當所述控制命令不帶有控制條件參數(shù)時,所有最佳路由都不加入到所述通 用路由信息表;
當所述控制命令帶有控制條件參數(shù)時,與所述控制條件參數(shù)匹配的最佳路
由不加入到所述通用路由信息表。
其中,如圖3所示,圖2所述的路由分析單元23包括
命令分析單元231,用于分析控制命令是否帶有控制條件參數(shù);
匹配單元232,用于當命令分析單元231分析出控制命令帶有控制條件參數(shù)
時,分析所述控制條件參數(shù)與所述路由是否匹配,并輸出匹配或不匹配的分析
結(jié)果;
結(jié)果輸出單元233,用于當命令分析單元231分析出控制命令帶有控制條件 參數(shù)并且匹配單元232輸出的分析結(jié)果為不匹配時,輸出加入通用路由信息表 的判斷結(jié)果到路由安裝單元24。
在具體實現(xiàn)時,所述路由反射設(shè)備采用的路由協(xié)議為邊界網(wǎng)關(guān)路由協(xié)議, 其中,所述控制命令的級別可以適應(yīng)不同應(yīng)用,定義在邊界網(wǎng)關(guān)路由協(xié)議的全 局級別、或地址族級別、或鄰居組級別、或鄰居級別,實現(xiàn)不同層面的精確控 制值得說明的是,本發(fā)明實施例的路由反射設(shè)備可以為一臺BGP路由器或 BGP路由反射器,所述BGP路由器或BGP路由反射器除了具有上述功能模塊 外,還具有與現(xiàn)有的BGP路由器或BGP路由反射器一樣的結(jié)構(gòu)。當然所述路由 反射設(shè)備也可以是專用設(shè)備(非路由器),比如高性能服務(wù)器。所述高性能服務(wù) 器除了具備上述結(jié)構(gòu)外,還具備的高速網(wǎng)口用于BGP路由的轉(zhuǎn)發(fā),高性能CPU 和高容量和高可靠性的存儲設(shè)備用來進行豐富的策略控制和路由處理。
上面具體闡述了本發(fā)明實施例提供的一種路由反射設(shè)備的技術(shù)方案,下面 結(jié)合圖4和圖5,具體闡述本發(fā)明實施例的一種反射路由的處理方法的技術(shù)方案。
參考圖4,圖示了本發(fā)明實施例的一種反射路由的處理方法的流程,所述處 理方法包括
步驟S31,接收到反射路由信息后,從所述反射路由信息中選擇一條路由, 將所述選擇出的路由作為最佳路由;
步驟S32,發(fā)送所述最佳路由,并根據(jù)配置的控制命令判斷所述最佳路由是 否加入到通用路由信息表,如果否,則不加入到通用路由信息表,否則,進入 下一步驟;
步驟S33,將所述最佳路由加入到通用路由信息表,在通用路由信息表中進 行本地選路,優(yōu)選后下發(fā)到轉(zhuǎn)發(fā)信息表中指導(dǎo)轉(zhuǎn)發(fā)。
其中,所述控制命令是網(wǎng)絡(luò)管理人員在配置路由器時,配置的命令,其格 式為控制命令[4空制條件參數(shù)參lt名稱],如,no-local-forward [route-policy policy-name],或者為不帶控制條件參數(shù)的控制命令,如no-local-forward。
其中,在步驟S32中,所述根據(jù)控制命令判斷所述路由是否加入到通用路 由信息表,如果否,則不加入到通用路由信息表的步驟具體為
當所述控制命令不帶有控制條件參數(shù)(如:路由策略)時,所有最佳路由都 不加入到所述通用路由信息表;
當所述控制命令帶有控制條件參數(shù)(如:路由策略)時,與所述控制條件參 數(shù)匹配的最佳路由不加入到所述通用路由信息表。
在具體實現(xiàn)時,所述方法適用的路由協(xié)議為邊界網(wǎng)關(guān)路由協(xié)議,當然不限 于此。
為了進一步闡述本發(fā)明的技術(shù)方案,下面以BGP協(xié)議為例,結(jié)合圖5詳細 闡述本發(fā)明實施例的技術(shù)方案。如圖5所示, 一種反射路由的處理方法包括
步驟S41,路由反射器接收到IBGP發(fā)送來的BGP路由;
步驟S42,使用BGP選擇路由的策略優(yōu)選出一條路由作為最佳BGP路由, 然后同時分別執(zhí)行步驟S43和S44;
步驟S43,將所述最佳BGP路由發(fā)送到所述路由反射器下的其它客戶機;
同時,步驟S44,根據(jù)配置的控制命令判斷所述BGP最佳路由是否加入到 RIB表,如果否,則轉(zhuǎn)到步驟S45,否則,進入步驟S46;
步驟S45,不將所述BGP最佳路由加入到RIB表,結(jié)束;
步驟S46,將所述最佳路由加入到RIB表;
步驟S47在RIB表中進行路由選擇;
步驟S48,優(yōu)選后的RIB表中的最佳路由下刷FIB表;
步驟S49, FIB表根據(jù)最佳路由指導(dǎo)本地數(shù)據(jù)轉(zhuǎn)發(fā)。
在具體實現(xiàn)時,所述控制命令是網(wǎng)絡(luò)管理人員在配置路由器時,配置的命 令。所述控制命令的控制級別可以適用不同的應(yīng)用,可以定義在邊界網(wǎng)關(guān)路由 協(xié)議的全局級別、或地址族級別、或鄰居組級別、或鄰居級別。例全局級別控 制命令no-local-forward [route-policy policy-name], 4乍用i或為本路由器的BGP 進程;地址族級別控制命令no-local-forward [route-policy policy-name],作用 域為BGP某地址族,例如IPV4 unicast地址族;鄰居組級別和鄰居級別控制命 令peer no-locakforward [route-policy policy-name], 作用域為BGP鄰居或鄰 居組。
其中,在步驟S44中,根據(jù)控制命令判斷所述BGP最佳路由是否加入到 RIB表具體為
當所述控制命令不帶有控制條件參數(shù)(route-policy)時,所有BGP最佳路 由都不加入到RIB表;
當所述控制命令帶有控制條件參數(shù)(route-policy)時,與所述route-policy 參數(shù)匹配的最佳路由不加入到RIB表。
由上述實施例可知,本發(fā)明提供的一種反射路由的處理方法和路由反射設(shè) 備通過限制將僅用于路由反射,不需要指導(dǎo)本地路由轉(zhuǎn)發(fā)的路由加入到通用路 由信息(RIB)表中,提高了內(nèi)存使用率,即提高了設(shè)備容量。同時,由于不需 加入RIB表中,減少了 RIB選路和FIB下刷處理,提高了路由反射器的處理性能。另外,由于不下刷轉(zhuǎn)發(fā)信息表,解除了 BGP優(yōu)選路由和轉(zhuǎn)發(fā)信息表項—— 對應(yīng)的關(guān)系,所以BGP能反射的前綴數(shù)目,也不再受轉(zhuǎn)發(fā)信息表的容量約束, 特別是不再受硬件轉(zhuǎn)發(fā)信息表容量的約束。同時本發(fā)明沒有對FIB表項和硬件 設(shè)計進行優(yōu)化,因此,不會帶來硬件成本的增加,相對現(xiàn)有技術(shù),本發(fā)明的成 本極低。當然本發(fā)明也可以與路由表項的數(shù)據(jù)結(jié)構(gòu)設(shè)計優(yōu)化等方法配合使用達 到更高技術(shù)效果。
以上所揭露的僅為本發(fā)明 一種較佳實施例而已,當然不能以此來限定本發(fā) 明之權(quán)利范圍,依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1、一種反射路由的處理方法,其特征在于,包括接收到反射路由信息后,選擇一條路由作為最佳路由;發(fā)送所述最佳路由,并根據(jù)控制命令判斷所述最佳路由是否加入到通用路由信息表,如果是,將所述最佳路由加入到通用路由信息表,否則,不加入到通用路由信息表。
2、 如權(quán)利要求l所述的方法,其特征在于,所述控制命令格式為 控制命令[控制條件參數(shù)參數(shù)名稱],或者為不帶控制條件參數(shù)的控制命令。
3、 如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)控制命令判斷所述最 佳路由是否加入到通用路由信息表,如果是,將所述最佳路由加入到通用路由 信息表,否則,不加入到通用路由信息表的步驟具體為當所述控制命令不帶有控制條件參數(shù)時,所有最佳路由都不加入到所述通 用路由信息表;當所述控制命令帶有控制條件參數(shù)時,與所述控制條件參數(shù)匹配的最佳路 由不加入到所述通用路由信息表。
4、 如權(quán)利要求2或3所述的方法,其特征在于,所述控制條件參數(shù)為路由 策略。
5、 如權(quán)利要求1或2或3所述的方法,其特征在于,所述方法適用于邊界 網(wǎng)關(guān)路由協(xié)議。
6、 如權(quán)利要求5所述的方法,其特征在于,所述控制命令定義在邊界網(wǎng)關(guān) 路由協(xié)議的全局級別、或地址族級別、或鄰居組級別、或鄰居級別。
7、 一種路由反射設(shè)備,包括通用路由信息表、轉(zhuǎn)發(fā)信息表,其特征在于,所述路由反射設(shè)備還包括路由接收單元,用于接收反射路由信息;路由選擇單元,用于從路由接收單元接收到的反射路由信息中選擇一條路 由作為最佳路由;路由發(fā)送單元,用于發(fā)送路由選擇單元選出的最佳路由;路由分析單元,用于根據(jù)控制命令判斷所述路由選擇單元選出的最佳路由 是否加入所述通用路由信息表,并輸出判斷結(jié)果;路由安裝單元,用于當路由分析單元輸出的判斷結(jié)果為加入通用路由信息 表時,將所述最佳路由加入到所述通用路由信息表中。
8、 如權(quán)利要求7所述的路由反射設(shè)備,其特征在于,所述路由分析單元包括命令分析單元,用于分析控制命令是否帶有控制條件參數(shù);匹配單元,用于當命令分析單元分析出控制命令帶有控制條件參數(shù)時,分析所述控制條件參數(shù)與所述路由是否匹配,并輸出匹配或不匹配的分析結(jié)果; 結(jié)果輸出單元,用于當命令分析單元分析出控制命令帶有控制條件參數(shù)并且匹配單元輸出的分析結(jié)果為不匹配時,輸出加入通用路由信息表的判斷結(jié)果。
9、 如權(quán)利要求8所述的路由反射設(shè)備,其特征在于,該路由反射設(shè)備為路 由器。
全文摘要
本發(fā)明公開了一種反射路由的處理方法,其包括接收到反射路由信息后,選擇一條路由作為最佳路由;發(fā)送所述最佳路由,并根據(jù)控制命令判斷所述最佳路由是否加入到通用路由信息表,如果否,則不加入到通用路由信息表,否則,進入下一步驟;將所述最佳路由加入到通用路由信息表。相應(yīng)地,本發(fā)明還公開了一種路由反射設(shè)備。根據(jù)本發(fā)明提供的技術(shù)方案,通過控制命令限制僅用于反射的路由加入到通用路由信息表來提高設(shè)備內(nèi)存的利用率。
文檔編號H04L29/06GK101420357SQ200710031079
公開日2009年4月29日 申請日期2007年10月26日 優(yōu)先權(quán)日2007年10月26日
發(fā)明者輝 倪, 宋寶華, 莊順萬, 晴 曾, 萇 王 申請人:華為技術(shù)有限公司