基于接收到的分组的模式的路由的制作方法

文档序号:7605645阅读:154来源:国知局
专利名称:基于接收到的分组的模式的路由的制作方法
技术领域
本发明涉及基于因特网协议(IP)的路由器对路由信息的分配,该路由器能够汇聚另一IP路由器中的路由。
背景技术
路由协议被用于在网络间交换路由信息,以允许动态构建路由表。传统的基于因特网协议(IP)的路由使用下一跳路由,在这种路由中路由器只需考虑其将分组发送到何处,而不必考虑分组在剩余的跳上的后续路径。这种形式的动态路由在因特网中提供了相当大的灵活性,并且使得因特网的大小在过去的三十年间能够增长多于八个数量级。
路由算法使用两种基本技术链路状态路由协议和距离向量路由协议。链路状态路由协议使得路由器能够将其“邻居”(即邻近的路由器)通知给其他路由器。距离向量路由协议使得路由器能够向其“邻居”描述网络拓扑。
正在进行着努力,以便通过增强用于路由数据流量的路由器中的操作来改进因特网的灵活性和性能。例如,因特网工程任务组(IETF)的小组已提出如下建议在提供连续的基于因特网协议(IP)的连通性的努力中,提高基于因特网协议(IP)的移动设备(例如膝上型电脑、IP电话、个人数字助手等)的移动性支持。IETF有两个致力于移动网络的工作小组,即致力于开发供IETF采用的标准化MANET路由规范的移动Ad-hoc网络(MANET)工作小组,以及NEMO(移动网络)。NEMO使用移动IP(MIP)来提供移动网络和基础设施(例如因特网)之间的连通性。NEMO中的关键组件是代表其服务的移动网络来处理MIP的移动路由器。
根据MANET工作小组,“移动ad hoc网络”(MANET)是由无线链路所连接的移动路由器(以及相关联的主机)的自治系统—这些无线链路的联合形成任意图形。路由器可以自由地随机移动和任意地组织其自身;从而,网络的无线拓扑可能会迅速且不可预测地变化。这种网络可以按独立的方式操作,也可连接到更大的因特网。
在Johnson等人提出的题为“Mobility Support in IPv6”的因特网草案中公开了“移动IPv6”协议,该草案可从万维网上的以下地址处获得http://www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-20.txt(这里通过引用将其公开文本全部包含进来)。按Johnson等人的说法,移动IPv6协议使得移动节点能够从一个链路移动到另一链路,而无需改变移动节点的IP地址。具体而言,移动节点被分配了“归属地址”。“归属地址”是分配给移动节点的在其归属链路上的其归属子网前缀内的IP地址。当移动节点位于其归属地时,被寻址到其归属地址的分组被利用传统因特网路由机制路由到移动节点的归属链路。
移动节点还被分配了归属代理,其用于在移动节点远离其归属链路时,注册移动节点在其附接到因特网的点处所使用的任何转交地址。转交地址是与具有远离其归属链路的特定链路(即外地链路)的子网前缀的移动节点相关联的IP地址。归属代理是移动节点的归属链路上的路由器,移动节点已向该路由器注册了其当前的转交地址。在移动节点远离其归属链路时,归属代理截取归属链路上的想去往移动节点的归属地址的分组;归属代理封装分组,并将分组以隧道形式分送到移动节点的已注册的转交地址。
因此,移动节点始终可通过其“归属地址”来寻址不论移动点当前附接到因特网的点为何,都可用此地址将分组路由到移动节点。移动节点还可在移动到新链路后继续与其他节点(静止的或移动的)通信。从而移动节点远离其归属链路的移动对于传输和更高层的协议和应用来说是透明的。
网络移动性的一个特定问题是传统的路由聚集对于移动路由器是不可行的。具体而言,传统的基于因特网的网络拓扑中的路由器被配置为基于根据公共地址的层次的子网分组来聚集路由。例如,顶层路由器(例如被配置作为所有因特网流量的组织的进入点的组织的主路由器)向因特网上的其他路由器宣告所有具有目的地地址顶层前缀(例如对IPv4来说是127/8)的分组都应该被发送到该顶层路由器。
顶层路由器包括路由表,该路由表包括路由条目。每个路由条目包括相应的前缀关键字和下一跳字段。前缀关键字用于匹配传入分组的目的地地址(通常向目的地地址应用网络掩码);因此,路由器识别具有匹配被掩蔽的目的地地址的相应前缀关键字的条目,并将分组路由到相应的下一跳字段中所指定的路由器。因此,单个路由器可聚集如下的多个路由,这些路由用于到达被配置成为子网地址前缀值在127/8的聚集值(例如,127.192/10、127.192/10、127.192/10和127.192/10等)之内的子网服务的路由器。每个子网通常将会包括附加路由器,这些附加路由器被配置成在相应的规定地址空间内路由分组。
但是,在移动网络的情况下,不可能用传统聚集技术来进行聚集,这是因为所有的移动路由器都向归属代理呈现不适合用于聚集的平面拓扑。因此,归属代理将需要每个移动前缀的经由充当用于相应移动网络的附接点的移动路由器的路由表条目。

发明内容
需要一种配置,这种配置使得路由器能够生成路由表,该路由表能够聚集去往用于各自的移动网络的移动路由器的路由。
还需要一种配置,这种配置使得因特网协议(IP)路由器能够建立多个路由的通用表示,以减小路由表大小。另外,还需要一种配置,这种配置使得IP路由器能够将该通用表示分布到其他路由器,以便在多个路由之间部署路由优化。
还需要一种配置,这种配置使得路由器能够获得用于去往多个目的地网络的多个路由的可扩展的路由信息,而不必在路由器间传送大量路由信息。
这些和其他需要被本发明所实现,在本发明中,路由器被配置为与其他路由器共享路由规则,这些路由规则定义根据规定拓扑聚集的路由。被路由器用于路由具有相应的匹配目的地地址前缀的分组的每个路由规则指定相应的地址前缀模式规则和网关地址模式规则,该地址前缀模式规则用于从目的地地址的一部分中抽取已标识的模式,该网关地址模式规则用于通过将已标识的模式应用到网关地址的指定部分而生成如下网关的网关地址,所述网关提供对于目的地地址的可到达性。路由器生成描述地址前缀模式规则和网关地址模式规则的路由更新消息,并且根据规定路由协议向第二路由器输出路由更新消息。因此第二路由器能够根据路由规则所使用的规定拓扑来路由分组。
本发明的一个方面提供了一种基于因特网协议(IP)的路由器中的方法,该方法包括存储定义根据规定拓扑聚集的路由的路由规则。该路由规则指定地址前缀模式规则和网关地址模式规则,该地址前缀模式规则用于从目的地地址的第一部分中抽取已标识的模式,该网关地址模式规则用于通过将已标识的模式应用到网关地址的指定的第二部分而生成网关地址。该网关地址指定提供对于目的地地址的可到达性的网关。该方法还包括生成描述地址前缀模式规则和网关地址模式规则的路由更新消息,并且根据规定路由协议向第二路由器输出路由更新消息。第二路由器能够将该路由更新消息用于根据规定拓扑来路由相应的接收到的分组。
本发明的另一方面提供了一种基于因特网协议(IP)的路由器。该路由器包括表、路由协议资源和IP接口。该表被配置为用于存储定义根据规定拓扑聚集的路由的路由规则。该路由规则指定地址前缀模式规则和网关地址模式规则,该地址前缀模式规则用于从目的地地址的第一部分中抽取已标识的模式,该网关地址模式规则用于通过将已标识的模式应用到网关地址的指定的第二部分而生成网关地址,该网关地址指定提供对于目的地地址的可到达性的网关。路由协议资源被配置为生成路由更新消息,该路由更新消息描述地址前缀模式规则和网关地址模式规则,以便第二路由器用于根据规定拓扑来路由相应的接收到的分组。IP接口被配置为用于根据规定路由协议向第二路由器输出路由更新消息。
本发明的其他优点和新颖特征部分将在以下描述中阐明,其中部分将会为查阅以下描述的本领域的技术人员所看出或者通过实践本发明而获知。本发明的优点可通过所附权利要求书中特别指出的手段和组合来实现和获得。


参考附图,其中具有相同标号的元件在所有图中代表类似的元件,其中图1是示出根据本发明的实施例的路由表的图解,该路由表被配置为用于生成基于模式的自动路由。
图2是示出基于图1的路由表条目生成路由的方法的图解。
图3是示出根据本发明的实施例,在路由服务器和路由服务器客户机之间传送基于模式的自动路由的图解。
图4是示出在广域网中部署图3的路由服务器和路由服务器客户机的图解,该广域网包括移动网络,该移动网络具有各自的移动路由器,这些移动路由器与内部的规定归属代理通信,其中归属代理包括根据本发明的实施例的用于基于模式的自动路由的路由表。
图5是示出图4的归属代理的细节的图解。
图6是示出来自图5的路由字段的典型函数的图解,该函数用于计算图4的经由路由器(via router)的归属地址。
图7是示出根据本发明的实施例的为经由路由器生成地址的方法的图解。
图8是示出根据本发明的实施例的由路由器使用的方法的图解,路由器利用该方法向第二路由器输出路由更新消息,该消息指定用于生成基于模式的自动路由的路由规则。
图9是根据本发明的实施例的接收路由更新消息并且作为响应实现用于生成基于模式的自动路由的路由规则的方法的图解。
具体实施例方式
所公开的实施例针对一种路由器,该路由器被配置为用于分布路由更新消息,该消息指定用于生成基于模式的自动路由的路由规则,以使得广域网内的不同路由器能够共享路由规则,以便在各自的路由器内聚集路由。
具体而言,2003年4月2日提交的,题为“ARRANGEMENT IN AROUTER FOR GENERATING A ROUTE BASED ON A PATTERN OF ARECEIVED PACKET”的共同转让的未决申请No.10/404,064(律师案卷号95-494)公开了一种用于通过根据规定函数计算网关地址,来确定去往目的地节点的路径内的网关路由器(即“经由”路由器)的网关地址的配置,这里通过引用将该申请的公开文本全部包含进来。具体而言,路由器被配置为通过访问具有多个路由条目的路由表来确定用于接收到的分组的“经由”路由器(例如IPv6移动路由器)每个路由条目包括路由关键字和路由字段,该路由字段或者指定指定了经由路由器的规定地址,或者指定计算标签,该计算标签在这里也被称为路由规则。经由路由器是去往目的地节点的路径内的路由器,并且能够沿着该路径路由分组。计算标签(即路由规则)指定规定的函数,该规定函数将被执行来计算经由路由器的确定出的地址。路由器基于相应路由关键字为每个接收到的分组标识匹配路由条目,并且响应于检测到路由字段中的计算标签,选择性地执行相应函数,以便计算经由路由器的确定出的地址。
根据所公开的实施例,利用规定的距离向量路由协议,将与上述计算标签(即路由规则)相关联的属性分布到其他路由器,以使得其他路由器能够将该路由规则用于其自身的路由操作。正如以下参考图4所描述的,路由规则的分布使得其他路由器能够以可扩展的方式自动建立子网间的最优路由,其中子网间的最优路由可用单个路由规则来建立。
将描述基于利用路由规则生成基于模式的自动路由的路由操作,以及用于将路由规则分布到其他路由器的配置。还将描述接收到路由规则的路由器如何实现该规则以便以可扩展的方式实现路由优化。
图1是示出根据本发明的实施例的路由表102的图解,该路由表被配置为用于利用路由规则生成基于模式的自动路由。路由表102包括前缀字段104,其指定前缀关键字P,也称为路由关键字;路由字段106,其指定规则(例如规定的函数)R;以及参数字段108,其指定参数(p),用于根据函数R(D,分组,P,p)来执行规则R。如下所述,下一跳网关地址是通过函数R(D,分组,P,p)的执行来获得的。为了稍后描述将“路由规则”分布到其他路由器,“路由规则”包括来自路由字段106和参数字段108的信息。
图2是示出基于图1的路由表条目生成路由的方法的图解。响应于在步骤110处接收到分组,具有路由表102的路由器在步骤112中从接收到的分组中抽取目的地地址D,以及规定的参数列表L(例如,在接收到的分组中指定的显式头部值)。路由器在步骤114中用目的地地址D作为关键字,对路由表102执行最佳匹配算法搜索,以便在步骤116中定位匹配条目(条目“E”)118。
假设在步骤116中定位到了匹配条目118,则在步骤120中,路由器从前缀字段104取回相应的前缀P,从路由字段106中取回相应的规则R,并且从参数字段108中取回相应的参数列表p。在步骤122中,路由器通过基于目的地地址D、来自接收到的分组的参数P、来自前缀字段104的匹配地址前缀P和/或来自参数字段108的相应已存储的参数p执行函数R,来计算网关地址G。如果网关地址是用于未连接到路由器的网关的,则在步骤124中,路由器在路由表102中进行递归查找(例如利用网关地址重复步骤114至122),以获得用于到达该网关的下一跳路由器。然后在步骤126中分组被转发到下一跳路由器(NH)。
因此,通过存储指定了用于计算目的地地址的规定函数的路由规则,可简化路由器条目。此外,根据规定的路由协议在不同路由器间分布这些路由条目,以使得路由器能够通过计算目的地地址来路由接收到的分组。
图3是示出根据本发明的实施例,在不同网络节点之间分布路由规则的图解。网络300包括入口路由器302,其接收用于传送的分组;出口路由器304,其充当接收到的分组的经由路由器;以及路由服务器306a和306b。路由服务器306a和306b可被实现成也进行分组路由的路由器。
如图3所示,入口路由器302有两条可能的路径将接收到的分组路由到出口路由304或者通过用路由服务器306a和306b作为下一跳路由器而经由路径308a,或者直接经由路径308b。根据所公开的实施例,入口路由器302被配置成接收来自路由服务器306a的路由信息,以便直接经由路径308b路由分组。具体而言,入口路由服务器306a接收来自出口路由服务器306b的路由规则,以使得入口路由服务器306a能够生成为入口路由器302所用的路由信息。出口路由服务器306b可由外部源310利用路由规则来进行配置,或者可利用规定的路由协议312a接收来自出口路由器304的路由规则或其他路由信息。
出口路由服务器306b利用规定的路由协议312b来将路由规则分布到入口路由服务器306a。出口路由服务器306b可响应于来自入口路由服务器306a的请求(下文描述),或者响应于检测到沿路径308a的流量的阈值量,来分布路由规则。
然后,响应于根据路由协议312b接收到来自出口路由服务器306b的路由规则,入口路由服务器306a可以实例化(即生成、计算)完整路由,该路由明确地指定经由路径308b到达出口路由器304的IP地址。具体而言,入口路由服务器306a可实例化完整路由,并响应于来自入口路由器302的对于最优路由的请求(基于入口路由器302检测到流量达到规定阈值),向入口路由器302提供完整路由。入口路由服务器306a或出口路由服务器306b还可基于其自己相应地检测到沿路径308a的流量超过规定阈值,来实例化完整路由,在这种情况下,完整路由将会被根据路由协议312c提供给入口路由器,以引导入口路由器302使用路径308b。
因此,通过出口路由服务器306b响应于检测到沿路径308a的流量超过规定阈值而将路由规则“推”向入口路由服务器306a,路由信息的提供可以自动发生;然后入口路由服务器306a可生成用于入口路由器302的完整的路由信息,以便经由路径308b路由分组。或者,入口路由服务器306a可响应于来自入口路由器302的请求而实例化路由信息。在任一情况下,路由规则都被分布在路由服务器306间,这些路由服务器实例化用于路由分组的完整路由。
如下所述,所公开的用于利用路由表中指定的规则计算目的地地址的配置对于移动IP尤其有益。
图4是示出包括根据本发明的实施例的路由器12的广域网10的图解,该路由器12被配置为利用路由规则来计算用于将接收到的分组路由到经由路由器(例如14a、14b、14c等)的确定地址,并且分布该路由规则以供其他路由器(例如13a、13b)所用。如图4所示,根据以上结合的Johnson等人的因特网草案,路由器12被实现为归属代理(HA),经由路由器14a、14b和14c被实现为移动路由器,这些移动路由器充当各个移动网络16a、16b和16c到广域网10的附接点。还注意到,移动路由器14d当前在其归属网络18处,其中移动路由器14d具有归属网络18内的到归属代理12的归属链路20。
路由器13a和13b也被配置成对等路由器,它们能够通过根据由IETF请求注解(RFC)2283、2842和2858指定的边界网关协议的多协议扩展(MP-BGP)指定新的地址族,从而在彼此和路由器12间交换路由信息15,这里通过引用将这些RFC全部包含进来。
如图4所示,利用由IETF请求注解(RFC)2373指定的地址表示法,归属网络18的IPv6归属子网前缀值28为“ABCD::/64”,此处通过引用将该RFC全部包含进来。具体而言,128位的IPv6地址被表示为具有八(8)个16位的部分,这些部分由“:”符号分隔开;因此,128位地址值“1080:0:0:0:0:0:0:417A”指定了这样一个地址其中前十六位是“1080”(十六进制),最后十六位是“417A”。根据RFC 2373,可用双冒号符号“::”将此地址值截短成“1080::417A”,以表示指定的值之间的所有位都是零。
如图4所示,移动网络16a、16b和16c的地址前缀值21分别为DE:AB:0:0/64、DE:AB:0:1/64和DE:AB:0:2/64。为移动网络16a、16b和16c提供附接点的各个附接路由器14a、14b和14c的归属地址值42分别为ABCD::0、ABCD::1和ABCD::2。此外,移动路由器14a、14b和14c的转交地址44分别为FBCD::10AA、FAEC::0211和F0A1::22。
用于在移动主机(例如22a、22c)和对应节点(CN)24之间路由分组的现有方法涉及相应的移动路由器(例如14a、14c)通过相应的双向隧道(例如26a、26c)经由归属代理12发送分组。归属代理12在经由隧道(例如26a、26c)接收到分组后,将分组路由到由现有路由协议所标识的因特网路由器,以为对应节点24提供可到达性。为对应节点24提供可到达性的对应路由器(CR)13b如果现有路由协议标识了CR 13b,则分组将会被路由到CR 13b;但是,如果现有路由协议没有标识CR 13b,则分组可能经由为输入分组提供到CN 24的可到达性的另一路由器而被路由到CN 24。对应节点通过输出在其目的地地址字段中指定移动主机22的地址(例如“DE:AB:0:2:FC0A”)分组,向移动主机22发送回复。归属代理12还已向因特网10中的路由器发送了路由器广告消息,该消息指定归属网络18(即归属子网前缀为ABCD::/64的网络)被配置为路由目的地网络前缀为“DE:AB::/32”的分组,其中128位地址的前32位等于“DE:AB”。因此,对应路由器13b将会把来自CN 24的想去往移动节点22的分组路由到归属代理12。
但是,利用传统聚集技术是无法进行聚集的,这是因为所有的移动路由器14都向归属代理12提供不适合用于聚集的平面拓扑。因此,归属代理12通常会经由移动路由器25为每个移动前缀21要求路由表条目,该移动路由器25充当相应移动网络的附接点。因此,传统路由表可能很快就被大量移动网络所淹没,例如在车辆制造商制造的每辆车辆中安装移动网络,导致每年产生数以百万计的移动子网。
根据所公开的实施例,归属代理12包括路由模块30,其被配置为通过执行匹配路由表条目中指定的规定函数f(D)(即路由规则),来计算经由路由器的确定出的地址。如下所述,路由规则被用于描述移动路由器14及其各自的移动网络16之间的映射的特征,以使得用于所有移动网络16的路由信息被单个路由条目所指定。
此外,路由规则f(D)可被分布到其他路由器13a、13b,以提供路由优化。具体而言,归属代理12可根据规定的路由协议15向路由服务器13a发送路由规则f(D)。路由服务器是归属代理12与之具有规定的安全关系(即验证任何共享的信息的真实性的可信关系)的设备(例如另一路由器)。因此,任何其他与路由服务器13a具有安全关系的设备(例如另一个分布式路由服务器,识别出的路由器13b)都可以按可信的方式与路由服务器13a共享信息。因此,对应路由器13b可从路由服务器13a获得路由规则f(D),以便通过利用相应的转交地址44(在对应路由器13b的绑定缓存条目内指定)映射移动路由器14a的确定出的归属地址42(由路由规则f(D)确定),从而建立与移动路由器14a的优化路由25然后对应路由器13b可利用该优化路由25到达相应的移动网络中的移动主机22a,而绕过归属代理12。与在对应路由器13b和为相应的移动网络16a服务的移动路由器14a之间建立优化路由有关的附加细节在2003年2月11日提交的题为“ARRANGEMENT FOR ESTABLISHING A BIDIRECTIONALTUNNEL BETWWEN A MOBILE ROUTER AND A CORRESPONDENTNODE”的共同转让的未决申请No.10/361,512(律师案卷号95-491)中有所描述,这里通过引用将该申请的公开文本全部包含进来。
此外,提供给对应路由器13b的路由规则f(D)定义了经由其各自的移动路由器14到所有移动网络16的路由。因此,对应路由器13b可使用单个路由规则f(D),来经由其相应的移动路由器14到达移动网络16中的任何一个。因此,对应路由器13b可使用相同的路由规则来向移动网络16a的移动主机22a或移动网络16c的移动主机22c发送分组。
因此,在图4的示例中对应路由器13b等同于图3的入口路由器302,端接路径25的移动路由器14a等同于图3的端接路径308b的出口路由器304;归属代理12充当图3的出口路由服务器306b,图4的路由服务器13a充当图3的入口路由服务器306a。相反,在与路径25的方向相反的反向路径25’的建立期间,移动路由器14a可充当入口路由器302,对应路由器13b可充当出口路由器304,在这种情况下,移动路由器14a可获得与从路由服务器13a到达对应节点24相关联的路由规则,其中路由服务器13a充当入口路由服务器306a。关于建立路径25和25’的附加细节在以上结合的申请10/361,512中公开。
图5是详细示出根据本发明的实施例的路由器12的图解。对图5中的路由器12的描述适用于路由服务器13a和对应路由器13b,以及图3的所有节点。
路由器12包括因特网协议接口32和路由模块30。IP接口32被配置为用于根据诸如MP-BGP这样的距离向量路由协议来发送和接收数据分组,并且发送和接收指定路由规则的可到达的路由消息。路由模块30包括路由表34和路由资源36。在路由器12被实现为用于移动路由器14的归属代理的情况下,或者在对应路由器13b被配置为用于与移动路由器14通信的情况下,路由模块30还包括绑定缓存38,该绑定缓存包括指定归属地址42和转交地址44的绑定缓存条目40。
路由表34包括多个路由条目(例如46a、46b、46c和46d),每个条目指定相应的路由关键字48和路由字段50。根据现有网络拓扑和聚集特性,每个路由关键字48指定相应的IP子网前缀。例如,路由条目46a、46b和46c的路由关键字48指定地址前缀值“124::/32”、“125:125:500::/64”和“125:125::/48”,用于具有相关联的前缀值的各个子网(未示出)。如图5所示,路由条目46a、46b和46c的路由字段50指定连接到路由器12的下一跳路由器的显式地址。
路由表34还包括路由条目46d,该路由条目具有指定聚集的移动网络16的地址前缀47的路由关键字48(例如“DE:AB::/32”);换言之,移动网络16共享用作路由关键字46d的地址前缀。路由条目46d还包括路由字段50,其指定计算标签52。计算标签52指定至少一个函数(F)(即路由规则)将要被执行以便计算经由路由器的确定出的地址。如图5所示,计算标签52具有以下形式<地址类型><第一输入变量><第二输入变量><函数调用><代价声明>。
<地址类型>参数指定该字段包括扩展条目,在此情况是为了利用所提供的参数计算IPv6通用路由。输入变量(“DE:AB:*::/32”和“ABCD::*/64”)指定在指定函数“F1”和“F2”的函数调用期间将要使用的变量,并且受代价声明中指定的规定代价限制所限。正如以下参考图6所描述的,根据指定函数,字符“*”代表将要被抽取/插入到参数中的变量。计算标签52仅被示为指定路由字段50内的参数和函数的典型示例。
如图5所示,路由资源36包括关键字索引资源54,地址计算资源56和路由协议资源57。关键字索引资源54被配置为通过检测目的地地址和相应的路由关键字48之间的匹配,来为接收到的IP数据分组标识来自路由表34的匹配路由条目。如下所述,地址计算资源56被配置为用于计算用于将数据分组转发到经由路由器的地址;在路由器12被实现成归属代理的情况下,地址计算资源56被配置为用于计算为目的地主机22服务的移动路由器14的归属地址。路由协议资源57被配置为用于生成描述路由规则52的路由更新消息,并且根据MP-BGP协议向其他共享相同地址族的路由器发送路由更新消息。
图6是示出由地址计算资源56执行路由条目46d中指定的函数的图解。具体而言,路由资源36响应于在匹配路由条目(例如46d)的路由字段50中检测到计算标签52,向地址计算资源56发出函数调用。地址计算资源56解析计算标签52,并执行计算标签52中指定的规定函数。
如图6所示,地址计算资源56在其应用运行时间环境内包括定义函数F1和F2的上下文定义信息60如图6所示,上下文定义信息60指定函数F1抽取所提供的目的地地址的规定位,在此情况下是变量的33-64位;上下文定义信息60还指定函数F2将第一变量(x)应用到第二变量(y)的97-128位。在移动计算的上下文中,上下文定义信息60被应用来提供函数操作62,函数F1(目的地地址)被用于确定移动路由器标识符(MR_ID);然后移动路由器标识符被用作第二函数F2(MR_ID,generic_next_hop)的变量,以确定下一跳地址(例如归属地址)。
地址计算资源56对计算标签52的实际执行64导致基于确定移动路由器标识符68的计算出的地址66。具体而言,地址计算资源56抽取目的地地址“DE:AB:0:2::FC0A”的33-64位,以获得移动路由器标识符(“MR_ID=0:2”)68。注意33-64位在归属子网前缀28的64位地址前缀范围内。然后地址计算资源56通过用移动路由器标识符68(“0:2”)替代规定地址前缀的变量“*”(例如归属子网前缀“ABCD::*/64”),来执行函数F2,从而产生了充当目的地主机22的附接路由器的移动路由器14c的确定出的归属地址“ABCD::2”。
图7是示出根据本发明的实施例由归属代理12用来计算用于路由接收分组的归属地址的方法的图解。图2和7-9中描述的步骤可实现为存储在计算机可读介质(例如硬盘驱动器、软盘驱动器、随机访问存储器、只读存储器、EPROM、光盘等)上或经由计算机可读介质(例如传输线、光纤、利用电磁载波的无线传输介质等)传播的可执行代码。还要注意,这些方法适用于路由服务器13a和对应路由器13b。
方法开始于步骤80中,在这里归属代理12经由广域网10接收来自对应节点24的分组。在步骤82中,关键字索引资源54基于接收到的分组的目的地地址(例如“DE:AB:0:2::FC0A”)来识别匹配路由条目(例如46d)。路由资源36在步骤84中检测到匹配路由条目46d的相应的路由字段50指定计算标签52,并且作为响应,在步骤86中生成对地址计算资源56的函数调用。
地址计算资源56在步骤88中解析计算标签52,并且在步骤90中访问来自其应用运行时间环境的相关参数,例如对于函数F1和F2的定义。在步骤92中,地址计算资源56基于规定函数F1和F2的执行而计算确定出的地址66,如图6所示,并且将确定出的地址66(例如,“ABCD::2”)提供给路由资源36。
在步骤94中,假设确定出的地址66指定用于移动路由器14的归属地址,则路由资源36在步骤96中从绑定缓存40取回用于移动路由器14c的相应的转交地址,并在步骤98中经由其对应的隧道26c将数据分组输出到移动路由器14c。
在步骤94中,假设确定出的地址66不是用于移动路由器的,例如在路由器12被实现为通用路由器的情况下,那么如果在步骤100中,确定出的地址未识别出作为下一跳直接连接到主题路由器12的另一路由器,路由资源36就用确定出的地址作为地址关键字来重复地址查找,包括识别匹配路由条目。地址查找的重复是在确定出的地址66识别主题路由器12和目的地节点之间的中间路由器的情况下进行的,以使得路由器12能够识别用于转发分组的下一跳地址。
图8是示出根据本发明的实施例由本地代理12(或图3的路由服务器306b)所使用的方法的图解,本地代理12利用该方法来生成和输出路由更新消息,该消息描述路由服务器13a和对应路由器13b(或图3的路由服务器306a)所使用的路由规则。为了简明,以下描述假设归属代理13直接向对应路由器13b发送路由更新消息,以使得对应路由器13b能够应用该路由规则。
方法开始于步骤140中,在这里路由表34通过获得指定图4的聚集网络16中的识别出的拓扑模式的路由规则52,而存储路由规则52。路由规则52例如可通过以下方式来获得在步骤140a中,由网络管理员基于步骤140b中由网络发现和拓扑资源进行的计算来手动配置;或者在步骤140c中根据MP-BGP协议接收来自另一路由器的路由更新消息。
响应于在步骤142中检测到新的或变化了的路由规则,图5的路由协议资源57在步骤144中将路由规则52分解成用于在路由更新消息中传送的成分。例如,路由规则“将xyz处于位置4:6的任意前缀路由到xyz1111::1”可被划分成地址前缀模式规则(Pp)146、网关地址模式规则(也称为下一跳(NH)模式)(NHp)148以及可选的变量列表150。该规则还包括规则标识符152(R)。因此,由于路由规则根据规定拓扑(例如图4所示)聚集路由,所以原始的路由规则52可用前缀模式规则146、网关地址模式规则148和变量列表150所指定的属性来重建。注意,如果在前缀模式规则146和网关地址模式规则148中明确地指定了X、Y和Z的变量值,则可省略变量列表150。
在步骤154中,路由协议资源57通过插入前缀模式规则146和网关地址模式规则148的属性,来为路由规则“经由NHp的Pp”创建路由更新消息。在步骤156中,路由协议资源57根据MP-BGP协议,通过指定“不完整路由”地址族,来转发路由更新消息,以供IP接口32输出。
图9是示出对应路由器13b或图3的入口路由服务器306a对路由更新消息的接收的图解。在步骤160中,对应路由器13b接收更新消息。响应于在步骤162中检测到不完整路由地址族,对应路由器13b的路由协议资源57抽取规则、下一跳模式148、前缀模式146和变量列表150。注意,路由协议资源57还可基于可用于解释变量列表150的规定语义而重新生成地址前缀模式规则和网关地址模式规则;这样,可通过向路由更新消息应用规定语义,来重建路由规则,该路由更新消息仅基于规定变量(即参数)的列表来描述地址前缀模式规则和网关地址模式规则。
在步骤164中,路由协议资源57在路由表34中创建路由条目,用于路由规则的实现。注意,基于网络的规定拓扑并且根据以上结合的申请10/361,512中描述的路由优化过程,可独立于路由更新消息获得用作索引关键字的地址前缀。
根据所公开的实施例,通过根据匹配路由条目内的路由规则计算确定出的地址,来确定用于下一跳路由器的地址,以使得在接收到分组时能够计算用于分组的经由路由器。另外,路由规则被分布到其他路由器,以使得路由的有效聚集能被应用到多个路由器。
虽然已经联系目前认为最实用和优选的实施例描述了所公开的实施例,但是要理解,本发明不限于所公开的实施例,相反,本发明希望覆盖所附权利要求书的精神和范围内所包括的各种修改和等同配置。
权利要求
1.一种基于因特网协议(IP)的路由器中的方法,该方法包括存储定义根据规定拓扑聚集的路由的路由规则,该路由规则指定地址前缀模式规则和网关地址模式规则,所述地址前缀模式规则用于从目的地地址的第一部分中抽取已标识的模式,所述网关地址模式规则用于通过将所述已标识的模式应用到网关地址的指定的第二部分来生成所述网关地址,所述网关地址指定提供对于所述目的地地址的可到达性的网关;生成路由更新消息,该路由更新消息描述所述地址前缀模式规则和所述网关地址模式规则;并且根据规定路由协议向第二路由器输出所述路由更新消息,以便所述第二路由器用于根据所述规定拓扑来路由相应的接收到的分组。
2.如权利要求1所述的方法,其中所述生成步骤包括插入网关字段,该网关字段指定所述网关地址模式规则的属性;并且插入地址前缀字段,该地址前缀字段指定所述地址前缀模式规则的属性。
3.如权利要求2所述的方法,其中所述网关字段和所述地址字段中的至少一个按照变量指定各个属性,所述生成步骤还包括插入变量列表,该变量列表指定各个变量的值。
4.如权利要求3所述的方法,其中所述第一部分和所述第二部分分别标识地址的不同部分。
5.如权利要求2所述的方法,其中所述生成步骤还包括将所述路由更新消息配置成规定的可到达性消息,该规定的可到达性消息指定被配置为用于根据所述规则识别所述路由的规定地址族,所述输出步骤包括通过确定所述第二路由器识别出所述规定地址族,而根据边界网关协议的多协议扩展(MP-BGP)来输出所述路由更新消息。
6.如权利要求1所述的方法,其中所述输出包括通过确定所述第二路由器识别出所述规定地址族以及定义根据所述规定拓扑聚集的路由的所述路由规则,而根据边界网关协议的多协议扩展(MP-BGP)在指定规定地址族时输出所述路由更新消息。
7.一种基于因特网协议(IP)的路由器,包括表,其被配置为用于存储定义根据规定拓扑聚集的路由的路由规则,该路由规则指定地址前缀模式规则和网关地址模式规则,所述地址前缀模式规则用于从目的地地址的第一部分中抽取已标识的模式,所述网关地址模式规则用于通过将所述已标识的模式应用到网关地址的指定的第二部分而生成所述网关地址,所述网关地址指定提供对于所述目的地地址的可到达性的网关;路由协议资源,其被配置为生成路由更新消息,该路由更新消息描述所述地址前缀模式规则和所述网关地址模式规则,以便第二路由器用于根据所述规定拓扑来路由相应的接收到的分组;以及IP接口,其被配置为用于根据规定路由协议向所述第二路由器输出所述路由更新消息。
8.如权利要求7所述的路由器,其中所述路由协议资源被配置为用于向所述路由更新消息插入指定所述网关地址模式规则的属性的网关字段和指定所述地址前缀模式规则的属性的地址前缀字段。
9.如权利要求8所述的路由器,其中所述网关字段和所述地址字段中的至少一个按照变量指定各个属性,所述路由协议资源被配置为用于向所述路由更新消息插入变量列表,该变量列表指定各个变量的值。
10.如权利要求9所述的路由器,其中所述第一部分和所述第二部分分别标识地址的不同部分。
11.如权利要求8所述的路由器,其中所述路由协议资源还被配置为用于将所述路由更新消息配置成规定的可到达性消息,该规定的可到达性消息指定被配置为用于根据所述规则识别所述路由的规定地址族,路由协议资源被配置为通过确定所述第二路由器识别出所述规定地址族,而根据边界网关协议的多协议扩展(MP-BGP)来生成所述路由更新消息。
12.如权利要求7所述的路由器,其中所述路由协议资源被配置为用于通过确定所述第二路由器识别出所述规定地址族以及定义根据所述规定拓扑聚集的路由的所述路由规则,而根据边界网关协议的多协议扩展(MP-BGP)在指定规定地址族时输出所述路由更新消息。
13.一种计算机可读介质,其上存储了用于由基于因特网协议(IP)的路由器输出路由更新消息的指令序列,所述指令序列包括用于以下步骤的指令存储定义根据规定拓扑聚集的路由的路由规则,该路由规则指定地址前缀模式规则和网关地址模式规则,所述地址前缀模式规则用于从目的地地址的第一部分中抽取已标识的模式,所述网关地址模式规则用于通过将所述已标识的模式应用到网关地址的指定的第二部分来生成所述网关地址,所述网关地址指定提供对于所述目的地地址的可到达性的网关;生成路由更新消息,该路由更新消息描述所述地址前缀模式规则和所述网关地址模式规则;并且根据规定路由协议向第二路由器输出所述路由更新消息,以便所述第二路由器用于根据所述规定拓扑来路由相应的接收到的分组。
14.如权利要求13所述的介质,其中所述生成步骤包括插入网关字段,该网关字段指定所述网关地址模式规则的属性;并且插入地址前缀字段,该地址前缀字段指定所述地址前缀模式规则的属性。
15.如权利要求14所述的介质,其中所述网关字段和所述地址字段中的至少一个按照变量指定各个属性,所述生成步骤还包括插入变量列表,该变量列表指定各个变量的值。
16.如权利要求15所述的介质,其中所述第一部分和所述第二部分分别标识地址的不同部分。
17.如权利要求14所述的介质,其中所述生成步骤还包括将所述路由更新消息配置成规定的可到达性消息,该规定的可到达性消息指定被配置为用于根据所述规则识别所述路由的规定地址族,所述输出步骤包括通过确定所述第二路由器识别出所述规定地址族,而根据边界网关协议的多协议扩展(MP-BGP)来输出所述路由更新消息。
18.如权利要求13所述的介质,其中所述输出包括通过确定所述第二路由器识别出所述规定地址族以及定义根据所述规定拓扑聚集的路由的所述路由规则,而根据边界网关协议的多协议扩展(MP-BGP)在指定规定地址族时输出所述路由更新消息。
19.一种基于因特网协议(IP)的路由器,包括用于存储定义根据规定拓扑聚集的路由的路由规则的装置,该路由规则指定地址前缀模式规则和网关地址模式规则,所述地址前缀模式规则用于从目的地地址的第一部分中抽取已标识的模式,所述网关地址模式规则用于通过将所述已标识的模式应用到网关地址的指定的第二部分来生成所述网关地址,所述网关地址指定提供对于所述目的地地址的可到达性的网关;用于生成路由更新消息的装置,该路由更新消息描述所述地址前缀模式规则和所述网关地址模式规则;以及用于根据规定路由协议向第二路由器输出所述路由更新消息以便第二路由器用于根据所述规定拓扑来路由相应的接收到的分组的装置。
20.如权利要求19所述的路由器,其中所述生成装置被配置为用于插入指定所述网关地址模式规则的属性的网关字段和指定所述地址前缀模式规则的属性的地址前缀字段。
21.如权利要求20所述的路由器,其中所述网关字段和所述地址字段中的至少一个按照变量指定各个属性,所述生成装置被配置为用于插入变量列表,该变量列表指定各个变量的值。
22.如权利要求21所述的路由器,其中所述第一部分和所述第二部分分别标识地址的不同部分。
23.如权利要求20所述的路由器,其中所述生成装置被配置为用于将所述路由更新消息配置成规定的可到达性消息,该规定的可到达性消息指定被配置为用于根据所述规则识别所述路由的规定地址族,所述生成装置被配置为通过确定所述第二路由器识别出所述规定地址族,而根据边界网关协议的多协议扩展(MP-BGP)来生成所述路由更新消息。
24.如权利要求19所述的路由器,其中所述生成装置被配置为用于通过确定所述第二路由器识别出所述规定地址族以及定义根据所述规定拓扑聚集的路由的所述路由规则,而根据边界网关协议的多协议扩展(MP-BGP)在指定规定地址族时输出所述路由更新消息。
全文摘要
路由器被配置为与其他路由器共享路由规则,这些路由规则定义根据规定拓扑聚集的路由。被路由器用于路由具有相应的匹配目的地地址前缀(116)的分组的每个路由规则指定相应的地址前缀模式规则(120)和网关地址模式规则(122),该地址前缀模式规则用于从目的地地址的一部分中抽取已标识的模式,该网关地址模式规则用于通过将已标识的模式应用到网关地址的指定部分而生成如下网关的网关地址,所述网关提供对于目的地地址的可到达性。路由器生成描述地址前缀模式规则和网关地址模式规则的路由更新消息,并且根据规定的距离向量路由协议向第二路由器输出路由更新消息(126)。
文档编号H04L12/28GK1839586SQ200480009770
公开日2006年9月27日 申请日期2004年5月5日 优先权日2003年5月6日
发明者艾里克·莱韦阿贝诺里, 帕斯卡尔·蒂贝尔, 马尔科·莫尔泰尼, 帕特里克·韦特瓦尔德, 马希莫·韦拉里 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1