网络路由器及配置网络路由器的方法

文档序号:7681111阅读:176来源:国知局
专利名称:网络路由器及配置网络路由器的方法
技术领域
本发明涉及网络路由器以及配置网络路由器中的网络路由信息的 方法。
背景技术
现有网际协议(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·米哈利 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1