專利名稱:網絡路由器及配置網絡路由器的方法
技術領域:
本發明涉及網絡路由器以及配置網絡路由器中的網絡路由信息的 方法。
背景技術:
現有網際協議(IP)路由器基于逐跳(hop by hop )轉發原理而 工作,其基本功能在包含有目的地或者目的地前綴并對應于接下來的 跳(即輸出接口 )的表中實現.通過這種方式,每個接收分組數據單 元(PDU)的節點都能夠搜索應該將所述分組轉發至的下一跳.在轉發 引擎硬件中,該表通常被稱為轉發表.目前,以分層的方式來組織因特網,這意味著由域內路由協議 或者內部網關協議(IGP)(通常是開放最短路徑優先(OSPF)、或者 中間系統到中間系統IS-IS)來計算局部域之內的最短路徑,并且由 單獨的協議來處理域間路由,IP網絡中的該外部網關協議(EGP)通 常被實施為邊際網關協議(BGP) 實際上,BGP識別并返回應該被用 來到達目的地前綴的邊緣路由器(即域間下一跳).隨后,在該路由 器中使用遞歸的查找以便找到導向該特定邊緣路由器的局部下一跳 (即輸出接口 ).盡管實際上,用于每個輸入接口的單獨的轉發表通常被填充相同 的值,但是IP路由器的實施方式通常包含這些表.然而, 一些最新的 方案已經利用了如下的可能性這些表可以被填充不同的值(見Zifei Zhong等人的在Infoco邁2005上發表的"Failure Inferencing based Fast Rerouting for Handling Transient Link and Node Failure (用于處理瞬態鏈路的節點故陣的基于故陣推理的快速重路由)").如果鏈路或者節點在網絡中發生故陣(go down),那么合適的路 由協議傳播該信息,并且路由器計算到所述目的地的新路由,在這個 所謂的路由重新收斂的期間(即只要并不是所有的路由器都已經設置 了所述新的路由(即新的接下來的跳)),網絡可能經歷瞬態路由循 環并丟失分組。通常,在每個路由器中由控制元件(路由引擎)來重新計算轉發表.然而,在一些其它概念中,比如在由Markus Hidell等人發表在 Usenix 2006 上的 "Performance Evaluation of Control Plane Modularization and Decentralisation for BGP (BGP的控制面板模 塊化和分散性的性能評估)"中所描述的分布式路由器系統中,轉發 表在分布式控制元件上被計算,并且通過常規的IP網絡而下栽到物理上分開的轉發元件中.基于IP的快速重路由(IP-FRR )的一些解決方案所基于的是將 每個節點的可替換的"虛擬"IP地址(亦稱為"非經由地址")放入 每個路由器的轉發表中.然后,這些虛擬地址被分配給與該目的地的 普通IP地址不同的下一跳.通過這種方式,可以在發生故陣的情況下 使用迂回(detour)路徑引導向同一目的地.目前,現有的轉發表非常長.M.Hidell等人(上文)發現,條目 的數量可以高于100, 000.當前,以這種方式建立路由器的轉發表, 使得該轉發表包舍該路由器知道的對于每個目的地或者每個目的地前 綴的條目.對非經由地址的使用進一步增加了轉發表中的條目.為了修復單 個節點或鏈路故陣,該增量是等于該網絡中的鏈路數目的多個附加條 目。在雙重故陣保護的情況下,該增量為鏈路的平方函數.轉發表的增長減慢了該轉發,因為從大數據庫中的查找比從小的 數據庫中的查找耗時更長.由于以遞歸查找方式查找無關的前綴,因此對外部前綴的路由計算耗費更多時間。鏈路狀態路由協議的大部分重新收斂時間耗費在如下過程中將接下來的跳下栽到線路卡的轉發引擎中.在分布式路由器概念中,很大數目的目的地前綴同樣增加了將轉發表下栽到轉發元件中所需的信令帶寬開銷.發明內容本發明的目的是消除上述至少一些缺點并提供改進的網絡路由器 以及用于配置網絡路由器的改進方法.根據本發明的笫一方面,提供了一種用于配置網絡路由器的方法.6該網絡路由器包括多個入接口以及被分配給每個入接口的接口轉發表.該方法包括步驟確定是否可以將該入接口用作從網絡中的任何 源節點到網絡中的任何目的地節點的路由的一部分,將未使用的轉發 表條目從所述接口轉發表的至少一個中移去.根據本發明的第二方面,提供了一種用于配置網絡路由器的方法. 該網絡路由器包括用于該節點本身的節點轉發表,該方法包括步驟 確定是否可以將該節點用作從網絡中任何源節點到網絡中的任何目的 地節點的路由的 一部分.將未使用的轉發表條目從該節點轉發表中移 去.在笫二方面的笫一配置中,該網絡路由器可以進一步包括多個入 接口以及被分配給每個入接口的接口轉發表。該方法可以進一步包括 將未使用的轉發表條目從所述接口轉發表的至少一個中移去.在笫一或第二方面的一個配置中,網絡中的所有節點和接口的路 由表可以是已知的.移去未使用的轉發表條目的步驟可以包括針對 該轉發表中的所有目的地條目,對該網絡中的所有源節點檢查從源節 點到目的地節點的路由是否包含指向該網絡路由器的鏈路,如果針對 任何源節點,到目的地節點的路由都不包括指向網絡路由器的鏈路, 那么可以從該轉發表中移去針對該目的地的條目,在第一或笫二方面的另一配置中,網絡的拓樸結構和網絡的鏈路 權值可以是已知的.移去未使用的轉發表條目的步驟可以包括針對 該轉發表中的所有目的地條目,對該網絡中的所有源節點將(a)從直 接鏈接到該網絡路由器的節點到目的地的最短路徑的長度與(b )該直 接鏈路的長度與從該網絡路由器到目的地的最短路徑的長度之和相比 較.如果所述路徑的長度不相等,那么可以從轉發表中移去針對目的 地的條目.在第一和第二方面的又一配置中,至少一些目的地是域間地址, 該方法可以進一步包括步驟如果邊緣節點已經從轉發表中移去,且 通過該邊緣節點可以到達域間目的地,那么可以從該轉發表中移去域 間目的地.在第一和第二方面的再一配置中,如果條目是靜態路由的一部分, 那么不將該條目從節點轉發表中移去。根據本發明的第三方面,網絡路由器包括多個入接口以及被分配給每個入接口的接口轉發表.所述接口轉發表的至少一個僅包括被使 用的轉發表條目.根據本發明的第四方面,網絡路由器包括分配給該路由器本身的 節點轉發表,該轉發表僅包括被使用的轉發表條目.根據第四方面的第一配置,該網絡路由器可以進一步包括多個入 接口以及被分配給每個入接口的接口轉發表.所述接口轉發表的至少一個是簡化的節點轉發表的復制.根據第三或第四方面的一個配置,如果針對至少一個源節點,到 目的地節點的路由經過相應的接口,那么該網絡路由器的接口的至少一個的轉發表可以包括針對該目的地的條目.根據第三或第四方面的另一配置,如果針對至少一個源節點,到 目的地節點的路由包括指向該網絡路由器的鏈路,那么該節點的轉發 表或者它的接口的至少一個的轉發表可以包括針對該目的地的條目.根據本發明的笫五方面,網絡路由器包括被分配給該路由器本 身的節點轉發表、多個入接口、被分配給每個入接口的接口轉發表、 以及用于將未使用的轉發表條目從所述接口轉發表的至少一個中移去 的裝置.根據本發明的第六方面,網絡路由器包括被分配給該路由器本身 的節點轉發表以及用于移去未使用的轉發表條目的裝置.在第六方面的第一設置中,網絡路由器可以進一步包括多個入 接口、被分配給每個入接口的接口轉發表、以及用于將簡化的節點轉 發表復制到所述接口轉發表的至少 一個的裝置.在第五或第六方面的一個配置中,網絡路由器可以進一步包括用于根據第一或第二方面的方法來簡化轉發表的裝置.根據本發明的第七方面,計算機程序產品包括數據處理設備程序 代碼裝置,該數據處理設備程序代碼裝置適于在所述程序被運行在數 據處理設備上時執行第一或第二方面的方法.根據本發明的第八方面,計算機可讀介質包括計算機可執行指令 以便根據笫一或第二方面來簡化網絡路由器的任何轉發表.通過本發明得到的更小尺寸的路由表可以顯著提高路由器的性 能.對下一跳的查找可以耗費更少的時間.更少的遞歸查找可以允許 降低對路由引擎的處理能力的需求.更小尺寸的轉發表也可以通過控制消息來減小業務.此外,可以減小路由收斂時間,另外,可以將本 發明單獨地用于每個節點而不影響該網絡的其它節點的行為.
圖l示意性地說明了路由器中的轉發表的邏輯示困.圖2是一個網絡的示意圖,該示意圖說明了根據本發明的對每個 接口轉發表的筒化.圖3說明了根據本發明的用于簡化接口轉發表的方法.圖4是一個網絡的示意困,該示意圖說明了根據本發明的用于簡 化節點轉發表的方法.圖5說明了根據本發明的用于簡化節點轉發表的方法.具體實施方式
路由器具有被分配給每個入接口的轉發表,該轉發表稱為接口轉發表,另一個表被分配給該路由器本身,該表稱為節點轉發表.接口轉發表可以是對節點轉發表的相同復制.這能夠起到減小轉發延遲的目的.根據相應的接口轉發表對到達入接口處的路由器的分組進行路由,同時基于該節點轉發表對起源于該路由器本身的分組(例如來自 命令行接口的ping命令、或者更高層協議消息)進行路由.在該路由期間,許多轉發條目從未被使用過.在某個路由配置中, 朝某個目的地前進的分組可能從未經過一些節點,或者更經常地,可 能從未經過一些鏈路.轉發表中的這些目的地是多余的,因為他們從 未被使用過。然而,對于普通的目的地而言,大部分"非經由"目的地也未被 使用過,因為對應于故陣的迂回路徑并不通過許多鏈路和節點.這些 節點并不需要在他們的轉發表中具有這些非經由地址.許多遞歸查找是不需要的,因為他們的結果在轉發期間從未被使 用過,但是他們給路由引擎造成處理負擔.通過將許多不需要的條目 下栽到轉發引擎中而延長(stretch)重新收斂時間是沒有意義的.已知許多條目從未被使用,這是對帶寬和處理能力的浪費。在一個特定的路由配置中,朝著某個目的地的路由通常從未經過 一些節點,或者更經常地,從未經過一些鏈路.在這些情況下,可以安全地將這樣的目的地分別從相應節點的轉發表或相應接口的轉發表 中移去。參照圖l,以示意困的形式示出了路由器中的轉發表的邏輯示困.路由器l具有用于入接口 2和3以及出接口 4和5的多個線路卡.然 而為了簡單起見,僅在圖1中描述了每種類型的兩個接口.此外,該 路由器具有被分配給每個入接口的轉發表,所述轉發表稱為接口轉發 表6、 7、 8、 9.該路由器還具有被分配給該路由器本身的另一個轉發 表,該轉發表稱為節點轉發表11.接口轉發表6、 7、 8、 9可以是節 點轉發表11相同的復制.這能夠起到減小轉發延遲的目的.根據相應 的接口轉發表6或7對在所述入接口 2或3之一處到達該路由器的分 組進行路由,同時基于節點轉發表ll對起源于該路由器l本身的分組 (例如來自命令行接口 (CLI) 10的ping命令、或者更高層協議消息)進行路由.在第一場景中,在該網絡中的實際路由是已知的,即所有節點和 接口的路由表是已知的.這是實際的假設,如果 -以集中的方式計算所述路由表,或者-每個節點運行相同的路由算法,并且該路由算法的輸出是確定 性的且可被其它節點預測,即如果使用了多個等價的路徑,那么使用 確定性的平局決勝規則.滿足這些條件的示例性的網絡可以由相同種類的路由器構成.在笫二場景中,該路由是在最短路徑上.盡管節點知道拓樸結構和實際鏈路權值,但是并不能預測中間路由器實際上選擇了哪條最短 路徑.對此最突出的例子是0SPF或IS-IS,在對于OSPF或IS-IS 的情況下,平局決勝規則是與供應商有關的,從而路由器不能總是猜 出哪些可替換的路徑被使用.亊實上,在等價多路徑(ECMP)路由的情 況下,所有的最短路徑都被使用.在一些情況下,管理者也可以靜態地配置優先于基于0SPF路由的 顯式轉發表條目,這被稱為"顯式路徑".圖2是一個網絡的示意圖,該示意困說明了根據本發明的對每個接口 轉發表的簡化.i7和52為源節點,J和A是在該網絡中被鏈路Z鏈接 的節點,而D是目的地節點.在用叉表示的榆入接口處的轉發表不需 要包含到目的地"的條目,因為到達的業務將不會指向目的地A利用如下亊實在高端路由器中,可以單獨地設置每個接口的轉發表, 因此可能的是節點J的一個接口必須目的地"列入表中,而節點J 的其它兩個接口不需要該目的地.根據本發明,未使用的目的地地址被從鏈路Z處的節點及的入接 口轉發表中移去,其中Z是節點j與節點5之間的鏈路.此外,鏈路 Z被認為是從節點j進行到節點及的并且僅以該方向攜帶業務的有向 鏈路.為了確定是否可以將目的地"從該轉發表中移去,需要檢查鏈 路Z是否可以被在節點A處到達鏈路Z的入接口并指向目的地Z 的任 何業務所使用。如果鏈路Z未被任何可能的業務使用,那么可以安全 地將其從節點"處的轉發表中移去.在上述第一場景中,確切的路由是已知的.如困3所示,在步驟 310確定從某個源J到"的路由是否包含鏈路Z.對在自主系統或路由 區域之內的每個可能的源節點S重復該步猓,并且在步驟320中,將 未使用的目的地從該轉發表中移去.如果并且如果僅存在源節點A 針對該源節點&從f到/ 的業務可以經過鏈路L,那么在對表進行簡 化之后,節點J處的Z的入接口的轉發表包括針對目的地節點Z 的條 目,關于笫二場景,令r(Z)表示鏈路L的管理權值(長度),且令 d(f, 70是從節點Z到節點r的最短路徑的長度,即其中尸是從,到尸的路徑.如果節點J產生或轉發朝向目的地" 的業務,那么當且僅當d",D) = w(L)+4AD)時該業務可以使用鏈路然而,如果給定顯式路徑,那么也需要檢查是否在節點J中存在 抑制缺省最短路徑行為的顯式表條目.這可以通過許多方式來實現1. 如果利用OSPF或IS-IS來分布靜態路由,那么該信息存在,2. 否則,可以假設該節點轉發表總是被填充所有潛在的目的地 前綴,因為用戶可能希望將業務發送到任何目的地.如果接口接收到 向未列入相應的接口轉發表中的目的地方向前進的分組,那么該接口 可以將該分組轉向到該節點轉發表以獲得有效的輸出接口 (出接口 ).ii3.可替換地,必須詢問節點J的FIB (例如經由SNMP),然而, 這需要所述路由器中的新功能,并且是較慢的過程,該過程能夠造成 更新靜態路由表期間的具有分組丟失的更長瞬態時間.最后,為了確定必要的路由表條目,需要識別可以將該業務轉發 到"的一組接口.令尸/ 表示該組.可以通過如下的動態編程來找出該 結果-邊緣節點必須在組,"中。-如果節點J在尸P中,且j可以將該業務轉發到節點A那么A (即來自^的入接口 )也必須在尸"中.還須注意根本不會從所述轉發表中移去直接連接的接口的前綴 或多個前綴.假設該路由器本身并不產生到任意目的地的分組,且沒有通過 上面列出的方式(1至3 )的任一種而未被知道的顯式路徑被配置到該 網絡中,那么接口轉發表簡化的替換方案是將不必要的目的地地址從 任何節點的節點轉發表中移去.如果希望簡化節點^的節點轉發表, 那么為該接口制作對該節點轉發表的相同復制的功能保持不變,因此 減少了所需的新功能和處理.圖4是一個網絡的示意困,該示意圖示出了根據本發明的節點轉 發表的簡化.S表示源節點,M、 ^和&是網絡節點,而/ 是目的地 節點.這個例子示出了上部節點M并不需要包含朝向目的地"的條目, 因為來自源S的普通業務不會經過該節點,即源S與目的地/ 之間的 最短路徑并不經過任何接口而通過上部節點參照圖5,在步驟510中確定從任何源S到"的業務是否可以使 用節點iV。如果節點W未被使用,那么在步驟520中,可以將目的地D 從節點轉發表中移去.在上述的第一場景中,該網路中的實際路由已知,并因此確切的 路由是已知的.因此,檢查從S到"的路由是否包含節點^是價值不 大的.在上面提到的第二場景中,路由在最短路徑上.因此,可以使用 在上一節中所描述的動態編程程序.公知的是大部分轉發表條目來自外部前綴(即域間路由).這 些轉發表條目通常由BGP來傳播.然而,BGP僅確定將被使用以便到達給定的前綴的邊緣路由器.域內路由被留給IGP協議;因此通過遞 歸查找來知道朝向外部前綴的實際出接口 (輸出接口).然而,如果接口或節點W沒有沿著從其它任何節點S向邊緣節點 "的IGP路由,那么不將該邊緣節點"作為目的地列入節點"處的相 應的接口轉發表或節點轉發表中.這也意味著,"的轉發表并不需要 包含任何能夠使用邊緣節點"的外部前綴.因此,也可以大量減少外 部前綴的數目,且該路由引擎甚至不需要對這些前綴執行遞歸查找.通過本發明獲得的轉發表的較小尺寸可以顯著提高路由器的性 能當分組將被轉發時,下一跳的查找耗費更少的時間,因為轉發表 中的條目的數目更小,當網絡節點為了故陣保護或其它目的而傳播一些虛擬地址時,這 樣的簡化尤其重要.根據本發明,多個這些虛擬地址不需要被存儲在 每個路由器中,并且可以被移去.此外,由于需要更少的遞歸查找,因此可以降低對路由引擎的處 理能力需求.在使用集中的路由器配置的情況下,轉發表的更小尺寸也意味著 該控制消息產生更少的業務,并降低了管理的復雜度.根據本發明,可以利用0SPF或者IS-IS減小路由收斂時間,因 為利用快速IGP的大部分重路由時間是將轉發表下栽和安裝到線路卡 中所需的時間.根據本發明的方法可以單獨地應用到每個節點而不影響該網絡的 其它節點的行為。
權利要求
1.一種用于配置網絡路由器的方法,該網絡路由器包括多個入接口;被分配給每個入接口的接口轉發表;以及該方法包括步驟確定是否能夠將所述入接口用作從網絡中的任何源節點到網絡中的任何目的地節點的路由的一部分;以及從所述接口轉發表的至少一個中移去未使用的轉發表條目。
2. —種用于配置網絡路由器的方法,該網絡路由器包括 用于節點本身的節點轉發表;該方法包括步驟確定是否能夠將所述節點用作從網絡中的任何源節點到網絡中的 任何目的地節點的路由的一部分;以及從所述節點轉發表中移去未使用的轉發表條目.
3. 根據權利要求2所述的方法,其中該網絡路由器進一步包括 多個入接口;以及 被分配給每個入接口的接口轉發表;其中該方法進一步包括從所述接口轉發表的至少一個中移去未 使用的轉發表條目.
4. 根據前述權利要求中任一項所述的方法,其中網絡中的所有節 點和接口的路由表都是已知的,以及移去未使用的轉發表條目的步驟包括針對所述轉發表中的所有目的地條目,對所述網絡中的所有源節 點檢查從所述源節點到所述目的地節點的路由是否包括指向所述網 絡路由器的鏈路;以及如果對任何源節點,到目的地節點的路由都不包括指向網絡路由 器的鏈路,那么從所述轉發表中移去針對所述目的地的條目.
5. 根據權利要求1至3中任一項所述的方法,其中所述網絡的拓樸 結構和所迷網絡的鏈路權值是已知的,以及移去未使用的轉發表條目的步稞包括針對所述轉發表中的所有目的地條目,對網絡中的所有源節點, 將從直接鏈接到所述網絡路由器的節點到目的地的最短路徑的長度與所述直接鏈路長度和從所述網絡路由器到目的地的最短路徑的長度之和相比較;以及如果所述路徑的長度不相等,那么從所述轉發表中移去針對所述 目的地的條目.
6. 根據前述權利要求中任一項所述的方法,其中至少一些所述目 的地是域間地址,該方法進一步包括步艱如果已經從所述轉發表中移去邊緣節點 ,且通過所述邊緣節點所述域間目的地是可到達的,那么從所述轉發 表中移去所述域間目的地.
7. 根據前述權利要求中任一項所述的方法,其中如果來自節點轉 向表的條目是靜態路由的一部分,那么不將所述條目移去.
8. —種網絡路由器,其包括 多個入接口;以及 被分配給每個入接口的接口轉發表;其中所述接口轉發表的至少之一僅包括被使用的轉發表條目.
9. 一種網絡路由器,其包括分配給該路由器本身的節點轉發表, 其中所述轉發表僅包括被使用的轉發表條目。
10. 根據權利要求9所述的網絡路由器,其中該網絡路由器進一步 包括多個入接口以及被分配給每個入接口的接口轉發表;且其中所述 接口轉發表的至少之一是對簡化的節點轉發表的復制.
11. 根據權利要求8至10中任一項所述的網絡路由器,其中如果針 對至少一個源節點,到目的地節點的路由經過相應的接口,那么所述 網絡路由器的接口的至少之一的轉發表包括針對所述目的地的條目.
12. 根據權利要求9至11中任一項所述的網絡路由器,其中如果針 對至少一個源節點,到目的地節點的路由包括指向所述網絡路由器的 鏈路,那么所述節點的轉發表或者所述網絡路由器的接口的至少之一 的轉發表包括針對所述目的地的條目.
13. —種網絡路由器,其包括, 被分配給路由器本身的節點轉發表; 多個入接口;被分配給每個入接口的接口轉發表;以及用于從所迷接口轉發表的至少一個中移去未使用的轉發表條目的裝置.
14. 一種網絡路由器,其包括被分配給路由器本身的節點轉發表;以及 用于移去未使用的轉發表條目的裝置.
15. 根據權利要求14所述的網絡路由器,其中該網絡路由器進一步 包括多個入接口;被分配給每個入接口的接口轉發表;以及 用于將簡化的節點轉發表復制到所述接口轉發表的至少之一的裝置,
16. 根據權利要求13至15中的任一項所述的網絡路由器,其中該 網絡路由器進一步包括用于根據權利要求4至7中任一項所述的方法來 簡化轉發表的裝置.
17. —種計算機程序產品,其包括數據處理設備程序代碼裝置,該 數據處理設備程序代碼裝置適于在所述程序被運行在數據處理設備上 時執行根據權利要求1至7中的任一項所述的方法.
18. —種計算機可讀介質,其包括計算機可執行指令以根據權利要 求1至7中任一項所述的方法來簡化網絡路由器的任何轉發表.
全文摘要
本發明公開了一種用于配置鏈接到網絡的網絡路由器中的路由信息的方法。該網絡路由器具有轉發表。該方法包括移去未使用的轉發表條目。根據該方法配置的網絡路由器具有只包含被使用的轉發表條目的轉發表。
文檔編號H04L12/56GK101601238SQ200780051098
公開日2009年12月9日 申請日期2007年2月8日 優先權日2007年2月8日
發明者A·克薩斯扎爾, A·朱特納, A·米哈利 申請人:艾利森電話股份有限公司