被配置用于根据规定路由协议输出指定了所连接的活动路径的检测到的属性变化的更新...的制作方法

文档序号:7634097阅读:150来源:国知局
专利名称:被配置用于根据规定路由协议输出指定了所连接的活动路径的检测到的属性变化的更新 ...的制作方法
技术领域
本发明涉及根据规定路由协议(prescribed routing protocol)进行的指定了因特网协议(IP)路由器之间的路由信息的消息的传输,规定路由协议例如是诸如增强内部网关路由协议(EIGRP)之类的距离向量路由协议。
背景技术
诸如因特网之类的广域分组交换网络已经变为世界范围内的商业活动的一部分,这部分是由于不同网络之间在无中央控制的情况下协同操作的能力。具体而言,对控制的去中央化可能是由于路由协议,路由协议使得路由器彼此之间能进行通信并共享路由信息,路由协议包括诸如路由器广告、路由器发现、链路状态广告以及共享各个路由表的全部或至少一部分之类的操作。距离向量路由协议要求每个路由器以不变的间隔将其路由表的全部或一部分以路由更新消息的形式发送到其相邻路由器中的每一个。因而,每个路由器可构建拓扑表和路由表,拓扑表提供了与相应路由器有关的网络拓扑的详细表述,路由表使得能够根据网络拓扑进行分组路由。
感兴趣的一种具体路由协议在Farinacci等人的美国专利No.5,519,704中有所公开,这里通过引用并入其全部内容。Farinacci等人描述了一种被配置用于执行距离向量路由协议(被称为增强内部网关路由协议(EIGRP))的路由器。如Farinacci等人所述,EIGRP使得路由器最初能够交换包括拓扑表在内的路由信息,从而使得每个路由器能够识别其相邻拓扑。一旦路由器已建立了其各自的拓扑表和路由表,路由器就只需要仅在发生影响网络拓扑的链路转变时才向另一个路由器发送基于EIGRP的更新消息。EIGRP还采用由J.J.Garcia-Luna-Aceves开发的扩散更新算法(DUAL)。DUAL使得EIGRP路由器能够确定被邻居广告的路径是环路的还是无环路的,并且使得EIGRP路由器能够定位替换路径,而无需等待来自其他路由器的更新。因而,一旦接收到指示链路转变的EIGRP更新消息,EIGRP路由器就更新其路由表并采用DUAL算法来识别无环路路径,基于代价度量确定最似然的后继路径,并据此更新其路由表。EIGRP路由器可以从California,San Jose的Cisco Systems以商业方式获得。
EIGRP协议指定对于在给定路由器的路由表中指定的相应目的地,每条链路可以具有两种可能状态之一,即“主动的”和“被动的”。“主动”状态指当链路不可用时(例如,当发生链路故障时)的状态,此时路由器“主动地”试图从其拓扑中识别可行的后继以到达目的地。“被动”状态是指由于拓扑表已经识别出可用链路(即,可在规定代价参数内到达目的地的链路)因而路由器处于“被动”(即,不需要识别可行后继)时的状态。路由器可以响应于以下两种情况生成更新消息(1)从另一个路由器接收到更新消息,并进入“主动”阶段以识别可行后继;或者(2)检测到由于链路故障或链路恢复引起的链路转变,前者指可用链路转变为不可用链路,后者指不可用链路转变为可用链路。
尽管现有的EIGRP路由器可确定网络拓扑并基于链路可用性据此生成路由表,但是现有的EIGRP协议将由源路由器(即,还未接收到与新的更新消息有关的更新消息的路由器)生成新的更新消息的情形限制为只在检测到链路故障或链路恢复的情形。限制新的更新消息提供了使得路由器之间的路由协议流量最小的优点,但是代价是限制了路由器之间有用信息的交换。

发明内容
需要这样一种配置,其使得路由器之间可用链路的动态属性能以高效方式共享,而基本不会增加路由器之间的路由协议流量,从而使得路由器能优化路由器之间数据流的路由。
还需要这样一种配置,其使得路由器能够共享路由器之间的可用路径的动态属性(其中每个可用路径具有至少一条可用链路),从而使得路由器能够基于排队策略并基于由动态属性指定的可用路径中的变化来针对不同的数据流引导数据流。
还需要这样一种配置,其使得路由器能够动态计算端点之间的最高可用带宽,即使当端点被由不同拓扑和链路速度相连的多个路由器分离时也是如此。
这些和其他需要被本发明所解决,其中第一路由器被配置用于监视连接到第一路由器的活动路径(active path)的规定属性,并根据规定路由协议将更新消息提供给第二路由器,更新消息指定了在所连接的活动路径的规定属性的至少一种中由第一路由器检测到的变化。因而,第二路由器响应于接收到更新消息,可以基于所检测的连接到第一路由器的活动路径中的变化来更新内部拓扑表,并基于所检测的与规定数据流的排队策略有关的变化来选择性地调整内部路由表。
本发明的一个方面提供了一种路由器中的方法。该方法包括基于连接到路由器的至少一条活动链路(active link)识别连接到路由器的活动路径。该方法还包括监视连接到路由器的活动路径的规定属性,并检测所连接的活动路径的规定属性中的至少一种的变化。该方法还包括根据规定路由协议将指定该变化的更新消息输出到第二路由器。基于至少一条活动链路识别活动路径使得能够基于活动路径(而非个体链路)评价规定属性,从而能够聚集与活动路径相关联的活动链路的规定属性(例如度量)。而且,输出指定了所连接的活动路径的规定属性中的至少一种的变化的更新消息使得网络中的相邻路由器能够基于网络的动态属性的变化针对数据流的优化路由选择路径,这种网络的动态属性的变化可能影响网络流量或吞吐量,即使网络拓扑没有变化也是如此。
本发明的另一个方面提供了一种路由器。该路由器包括被配置用于与至少第二路由器建立相应的活动链路的多个接口。该路由器还包括链路关联资源、监视资源和路由协议资源。链路关联资源被配置用于基于连接到路由器的至少一条活动链路来识别连接到路由器的活动路径。监视资源被配置用于监视连接到路由器的活动路径的规定属性,监视资源检测所连接的活动路径的规定属性中的至少一种属性的变化。路由协议资源被配置用于根据规定路由协议将指定该变化的更新消息输出到第二路由器。
本发明的附加优点和新颖特征部分将在下面的详细描述中给出,部分将在本领域技术人员阅读下面内容后变清楚,或者可以通过实践本发明而获知。本发明的优点可利用在权利要求中具体指出的手段和组合来实现和获得。


参考附图,附图中具有相同标号指代的元件在全文中代表相似的元件,其中图1图示了根据本发明实施例具有被配置用于交换路由信息的路由器的网络,路由信息包括指定活动路径的规定属性中的变化的更新消息。
图2图示了图1的路由器之一。
图3是图示了图2的路由器的另一幅图,其着重于EIGRP模块。
图4详细图示了图3的协议有关(protocol-dependent)客户端模块中的一个示例性模块。
图5图示了由用于IP网络的图3的基于因特网协议(IP)的协议有关客户端模块生成的基于IP的EIGRP更新消息。
图6A和6B分别图示了由图3的传输模块生成的图5的EIGRP头部和类型长度值(TLV)帧。
图7详细图示了图4的拓扑表。
图8图示了根据本发明实施例在路由器中响应于检测到所连接的活动路径的规定属性中的变化而输出更新消息的方法。
具体实施例方式
图1公开了根据本发明实施例的具有路由器12的网络10,路由器12被配置用于根据规定路由协议(如EIGRP)交换路径属性信息。每个路由器12由物理链路16互连,如以太网(IEEE 802.3)或ATM链路,这些链路使得路由器12能够转发流量到目的地(D)14。
如图1所示,路由器可以由至少一条链路互连,然而在路由器之间也可能有多条链路可用。具体而言,路由器12a经由50兆比特每秒(Mb/s)链路16a、75Mb/s链路16b和10Mb/s链路16c连接到路由器12b。路由器12b和12c仅由150Mb/s链路16d互连。路由器12c通过200Mb/s链路16e连接到路由器12d,路由器12d通过100Mb/s链路16f和100Mb/s链路16g连接到路由器12e。路由器12e经由200Mb/s链路16h连接到路由器12a。最终,目的地(D)14经由200Mb/s链路16i连接到路由器12a。
每个路由器12被配置用于实时监视连接到路由器12的链路16的规定属性。传统的EIGRP处理涉及仅当给定链路16遇到链路故障或链路恢复时路由器12才输出更新消息。因而,只有当预期到网络拓扑中的变化时更新消息通常才会被输出。
根据所公开的实施例,每个路由器12被配置用于实时监视每条连接链路16的规定属性,包括但不限于延迟、带宽、MTU、跳数、可靠性和负载。响应于检测到规定属性中任何一个的变化,路由器12被配置用于根据EIGRP协议输出更新消息,更新消息指定了规定属性中由路由器12检测到的变化。
而且,每个路由器(例如12b)被配置用于基于关联连接到同一路由器(例如12b)的活动链路中的至少一条(例如16a)来识别所连接的活动路径(例如34a)。如图1所示,具有连接到其自身的活动链路1 6a和16b的路由器12b被配置用于识别规定目的地(例如14或12a)可同时经由两条活动链路16a和16b中的任一条到达;因此,路由器12b将这两条活动链路16a和16b关联为属于同一活动路径34a。而且,路由器12b聚集各条链路16a和16b的动态属性,以形成活动路径34a的组合动态属性。
因而,响应于聚集链路16a和16b的属性以形成活动路径34a的组合动态属性,路由器12b更新其内部拓扑表和路由表(如下所述),并将EIGRP更新消息输出到路由器12c,该更新消息指定了连接到路由器12b的活动路径34a的属性变化。具体而言,由于所连接的活动路径34a的聚集带宽是125Mb/s(链路16a的50Mb/s加上链路16b的75Mb/s),因此路由器12将指定目的地14(或至少包括目的地14的IP地址前缀)可经由125Mb/s的带宽到达的EIGRP更新消息发送到路由器12c。
相反地,具有非聚集链路16f和16g的路由器12d将会报告可用于到达目的地14的最大带宽仅为100Mb/s。
因此,路由器12c可更新其路由和拓扑表以确定是经由路由器12b还是经由路由器12d将分组路由到目的地14。因而,路由器12c将基于由活动路径34a提供的更高可用带宽,经由路由器12b而不是经由路由器12d将流量路由到目的地14。
还要注意,所公开的链路16a和16b的聚集是基于可同时经由链路16a和16b到达的目的地的网络层识别的,而不是经由需要手工重配置链路的链路层中继的。因而,基于链路16的可用性、策略考虑等,可由路由器12b动态创建多链路活动路径。
另外,动态属性的监视使得如果路由器12b检测到连接链路16a的带宽从50Mb/s减少到20Mb/s(例如在卫星链路由于不利的链路条件(例如降雨等)而经历带宽减少(或错误率增大)的情况下),则路由器12b能够输出活动路径34a的EIGRP更新消息。这种情况下,路由器12b将活动路径34a的带宽重新计算为95Mb/s,并且输出指定目的地14可利用95Mb/s的可用带宽到达的EIGRP更新消息,从而使得路由器12c能够根据DUAL算法(下面将描述)执行路由优化以确定路由器12d是否应当被选为可行的后继。
因而,所公开的对连接到路由器12b的活动路径34a的规定属性的监视使得路由器能够将规定属性(例如EIGRP度量)中的动态变化通知到相邻路由器12c,从而使路由器12b和12c能够基于活动路径的属性的动态变化更精确地控制数据流和排队策略。
图2详细图示了根据本发明实施例的路由器12。路由器12包括协议资源20、至少一个接口驱动器22、多个接口24和延迟测量资源26。协议资源20包括协议有关模块30、传输模块32和DUAL有限状态机35。
传输模块32包括可靠传输协议(RTP)模块100、邻居发现/恢复模块102和客户端接口104,如下所述。
协议有关模块30包括网络层客户端36,网络层客户端36包括动态路径属性检测器38。
动态路径属性检测器38(也称为监视资源38)被配置用于实时(或以任意间隔)监视与给定活动路径34相关联的活动链路16的规定属性。具体而言,动态路径属性检测器38被配置用于与硬件接口24(例如以太网(IEEE 802.3)接口)的可执行驱动器22相接口。接口驱动器22被配置用于对相应接口24执行特定于硬件(hardware-specific)的控制,包括监视诸如质量之类的链路属性。接口驱动器22将链路属性报告给动态路径属性检测器38;例如,动态路径属性检测器38可周期性地轮询接口驱动器22以查询被监视的属性,或者接口驱动器22可被配置为响应于规定事件(例如,驱动器22根据规定滞后函数确定给定链路属性超过了相应的阈值)而向动态路径属性检测器38发送告警。滞后函数被用于确保接口驱动器22不会在被监视的属性接近相应阈值的情况下发送不必要的告警。
每个驱动器22(例如,以太网驱动器、用于ATM接口(未示出)的ATM驱动器)被配置用于测量其所分配的接口24的诸如负载和可靠性之类的属性。另外,每个接口驱动器22被配置用于识别给定链路16的带宽,作为相应接口24(例如,10-BASE T,100-BASE T,千兆比特以太网等)的物理属性。
图3图示了协议有关模块(PDM)30依赖于在网络层40处部署的实际网络拓扑可采用不同的网络层客户端36的情形。具体而言,PDM 30被配置用于监视接口的变化,包括链路转变和检测到的所连接的活动路径的属性变化。协议有关模块30被配置用于执行网络层操作,包括根据相应网络层协议构建头部。例如,协议有关模块30包括因特网协议(IP)客户端36a、Appletalk(AT)客户端36b和Novell(NV)客户端36c。
图4更详细图示了根据本发明实施例的网络层客户端36之一。每个网络层客户端36包括特定于协议的动态路径属性检测器38。因而,动态路径属性检测器38在特定于网络协议的基础上实现在每个网络层客户端36中。每个网络层客户端36还包括链路聚集模块42和特定于协议的分组编码器/解码器44。
每个客户端36包括被配置用于根据相应网络层协议存储路由属性(例如,网络层地址和链路层地址)的表。具体而言,每个客户端36包括路由表46、邻居表48和拓扑表50。路由表46被配置用于存储路由信息,包括地址前缀和下一跳(即目的地路径)信息。邻居表48被配置用于存储与相邻路由器(即,充当每条连接链路16的对等端点的路由器)相关联的属性。
图7图示了基于IP的客户端36a的拓扑表50。拓扑表50被配置用于存储与网络10的拓扑有关的属性。具体而言,拓扑表50包括目的地地址52(或至少其前缀)、子网掩码54、下一跳路由器地址56、指定到路由器的可用路径34的路径标识符58和指定与给定路径34相关联的链路16的链路标识符60。拓扑表50还被配置用于存储每条活动路径的规定属性62,从而使得DUAL有限状态机35能够利用存储在拓扑表50中的规定属性值基于代价分析而识别出最优路由。
存储在拓扑表50中的规定属性62包括聚集(Agg.)字段64、延迟字段66(单位毫秒)、带宽字段(单位Mb/s)68、MTU字段70、跳数字段72、可靠性字段74和负载字段76。
如图7所示,拓扑信息被基于目的地52存储在拓扑表50中每个目的地将列出到该目的地的所有路径34,其中每条路径由接口标识符60和下一跳路由器56(例如通过其IP地址)标识。因而,路由器12b将在其拓扑表50中包括指定具有两个子条目的目的地14(D),即指定目的地14可利用接口链路16a经由下一跳路由器12a(R1)到达的第一条目80a和指定目的地14可利用接口链路16b经由下一跳路由器12a(R1)到达的第二条目80b。路由器12b的路由表46还将包括指定目的地14(D)可分别利用接口链路12a和12b经由下一跳路由器12a(R1)到达的两个条目。
还要注意,拓扑表50包括指定目的地14可经由下一跳路由器12c到达并且具有跳数“4”的条目。
如下所述,动态路径属性检测器38基于检测到的链路16a、16b和16c的变化动态更新表46、48和50。
延迟属性66由图2的延迟测量资源26计算,这是通过在链路16之一上发送消息,并测量接收到对该消息的回复所用的时间来实现的。因而,延迟测量资源26这样测量给定链路16的延迟发送消息和接收到对该消息的回复之间的往返时间除以2。
最大传输单元(MTU)属性70是可配置选项,其由用户在路由器12的配置期间设置。由于链路16可被配置以不同的相应MTU值,因此给定链路16的MTU值70可能需要在整个路由器12中传达,以便确保经由链路16发送适当的分组长度。MTU属性70被传输模块32写入到拓扑表50中,以确保由接收到的更新分组指定的MTU中的任何变化都实现在路由表46中。然而,注意,在活动路径34的链路聚集的情况下,活动路径34的任何更新消息都将指定在活动路径(例如34a)的关联活动链路(例如16a和16b)间指定的最大MTU值。
跳数属性72由动态路径属性检测器38从拓扑表28取得。具体而言,现有的路由算法20使用规定路由协议(如EIGRP)以确定使用给定路径到目的地14的跳数。
负载属性76也由动态路径属性检测器38从接口驱动器22获得,接口驱动器22监视由每个关联接口24输出的数据流;因而,接口驱动器22可确定每个关联接口24所用的带宽量。例如,如果接口驱动器22确定数据正以5Mb/s的速率由接口24a输出并且接口24a的可用带宽是10Mb/s,则接口驱动器22识别出相应链路1 6a具有50%的负载;随着流量的增加(例如,另一数据分组流由同一链路16输出),负载向100%增大。
图2的链路聚集模块42(也称为链路关联资源)被配置用于将所连接的链路16与给定路径34相关联。具体而言,链路聚集模块42被配置用于将个体链路16的资源组合为逻辑路径34,如图1所示。链路聚集模块42被配置用于识别连接到路由器12的链路16;链路聚集模块42监视经由给定链路(例如16a)来自给定目的地(例如另一个路由器)的基于EIGRP的更新消息。因而,如果链路聚集模块42确定同一目的地(例如路由器12a)可经由多于一条链路(例如链路16a和链路16b)到达,并且链路聚集模块42确定提供到同一目的地的可到达性的链路16a和16b被配置用于负载共享,则链路聚集模块42将这两条链路16a和16b与同一目的地(例如路由器12a)相关联,并且聚集适当的度量(如带宽)和负载。
因而,链路聚集模块42被配置为识别哪一条连接链路16应当被监视以用于聚集。如果链路聚集模块42确定同一目的地可同时经由多条链路16a和16b到达,并且如果链路聚集模块42确定在共享同一目的地的链路之间允许进行负载共享,则链路聚集模块42将共享同一目的地的链路聚集为具有聚集属性的单个路径34。链路聚集模块42将聚集信息提供到拓扑表28和动态路径属性检测器38中。因而,动态路径属性检测器38被通知以路径34的动态属性的变化,即链路16a和16b被聚集为同一路径。作为响应,动态路径属性检测器38聚集动态属性(例如带宽),并向拓扑表28报告路径34具有为相应关联链路16a和16b的各自带宽值的总和的聚集带宽(例如,总共为125Mb/s)。注意,在该示例中链路16c被配置为不被聚集。
因而,由于现有的活动链路16a、16b与单个路径34相关联,因此EIGRP协议资源20将基于路径34的聚集带宽输出更新消息,路径34的聚集带宽由于链路16a和16b的聚集而增大。
传输模块32被配置用于生成EIGRP头部92和时间长度值(TLV)帧90,分别如图6A和6B所示并且在以上并入的美国专利5,519,704中有详细描述。传输模块32将TLV帧90和头部92输出到协议有关模块30。TLV帧采用EIGRP编码格式,其中在路由分组中存在的每个属性都被加上标签。
协议有关模块30被配置用于响应于TLV帧的接收(利用相应客户端36)根据路由器12所采用的相应网络协议来构造图5的更新消息96。具体而言,协议有关模块30将使用所采用的相应网络层的封装服务;因而如果网络10中的路由器12被配置为采用IP协议,则TLV帧90和头部92被发送到网络层客户端36a,以用于基于利用基于IP的头部对头部92和TLV帧90进行封装而生成基于IP的更新消息96;如果网络10中的路由器12被配置为采用Apple-Talk协议,则TLV帧90和头部92被发送到网络层客户端36b,以用于生成基于AppleTalk网络的更新消息;而如果网络10中的路由器12被配置为采用Novell协议,则TLV帧90和头部92被发送到网络层客户端36c,以用于生成基于Novell网络的更新消息。
从前述内容清楚可见,路由器12一般被预先配置为只使用其中一种网络协议,然而在具有不同网络协议的网络之间相互接口的情况下(假定每个网络层客户端36具有其自身的关联链路集16和路径34,如相应表46、48和50中所反映的),路由器也可被配置为使用多种网络协议。
一旦适当的客户端36已生成了特定于协议的更新消息,协议有关模块30就将该更新消息转发到分组编码器/解码器44。
传输模块32被配置用于分析从协议有关模块30恢复的所接收的TLV消息。具体而言,协议有关模块30被配置用于从对等路由器接收特定于协议的更新消息,移去特定于协议的网络层头部,并将该消息的剩余TLV部分提供给协议有关模块30。
传输模块32分析所接收的TLV消息,并据此更新适当的表46、48和50。
DUAL有限状态机35被配置为数据库处理者资源,并且被配置用于执行代价函数分析,如在以上并入的专利5,519,704中所描述的。具体而言,DUAL有限状态机35以通用(即协议无关(protocol-independent))方式与拓扑表50交互。换句话说,每个拓扑表50包括协议无关参数(如度量值)和协议有关参数(例如网络地址、链路地址等)。因而,DUAL有限状态机35利用存储在拓扑表50中的协议无关参数以对于每种网络协议相同的方式执行代价分析。
因而,由网络层40从网络10接收到的特定于协议的更新消息被传递到相应的特定于网络的客户端(例如,在IP的情况下是36a)。分组编码器/解码器44从相应客户端36a所恢复的特定于协议的EIGRP更新消息中恢复TLV。随后,分组编码器/解码器44将TLV输出到RTP模块100,RTP模块100被配置用于执行EIGRP操作。具体而言,RTP模块100被配置用于识别所接收的TLV消息为指定EIGRP Query(查询)、EIGRPReply(回复)、EIGRP Update(更新)或EIGRP Hello消息中的一种。RTP模块100将Query、Reply和Update传递到DUAL有限状态机35,而将Hello传递到邻居发现/恢复模块102。
DUAL有限状态机35响应于接收到Query、Reply或Update,更新与路径(例如34’)有关的相应拓扑表50。DUAL有限状态机35还可以访问邻居发现/恢复模块102,从而更新与相邻路由器(即,端接与该路由器的连接链路16或16’的路由器)有关邻居表48中存储的邻居属性。因而,路由器12c和12a是12b的相邻路由器。
图8图示了根据本发明实施例响应于检测到活动路径中的动态属性变化而发送EIGRP更新消息的方法。这里参考图8所述的步骤可以实现为存储在计算机可读介质(例如,软盘、硬盘、EEPROM、CD-ROM等)上的可执行代码,或经由计算机可读传输介质(例如,光缆、导电传输线介质、无线电磁介质等)传播。
该方法开始于步骤200,在步骤200中,链路关联资源42确定是否在所连接的被识别链路16之一上接收到EIGRP分组。如果接收到分组,则链路关联资源42在步骤202中确定分组是否指定了可经由被识别链路到达的新的IP地址。如果分组指定了被识别链路上的新的IP地址,则链路关联资源42在步骤204中检查拓扑表50以确定IP地址是否已由在拓扑表50中指定的活动路径所标识。
假定链路关联资源42检测到指示IP地址已由活动路径所标识的拓扑表条目80,并且如果在步骤206中允许在被识别链路和表条目80中指定的链路之间进行负载共享,则链路聚集模块42在步骤208中将新的链路16与活动路径相关联,并利用新的条目80更新拓扑表50。随后,链路聚集模块42在步骤210中聚集相关动态参数62,并在步骤212中据此更新拓扑表50和路由表46。
假定不执行聚集,则链路关联资源42在步骤214中基于IP地址前缀将链路与新的活动路径相关联。在步骤212中据此更新拓扑和路由表。
监视资源38在步骤216中同时确定是否检测到度量变化,例如通过监视接口驱动器22和延迟测量资源26。响应于检测到八个度量变化,监视资源38在步骤212中更新拓扑和路由表。
已更新了拓扑表50的资源(例如,监视资源38或链路关联资源42)在步骤218中通知传输模块32中的客户端接口104。作为响应,客户端接口104在步骤220中通知适当的资源100、102或DUAL有限状态机(FSM)35执行EIGRP操作。例如,RTP资源100在步骤220中生成TLV更新消息90和头部92,并将TLV帧90和头部92传递到协议有关模块30。分组编码器/解码器44在步骤222中生成基于IP的EIGRP更新消息96,并在步骤224中输出更新消息96以发送到相邻路由器。
尽管已结合使用诸如EIGRP之类的距离向量路由协议描述了公开实施例,但是应当清楚也可使用其他路由协议。例如,在因特网工程任务组(IETF)请求注释(RFC)1247中描述的链路状态路由协议开放最短路径优先(OSPF)可被用作替换,这是通过访问关联的链路状态数据库(其包含所有链路状态信息,包括代价)以外推带宽来实现的。RFC 1247的拷贝可以在IETF网站地址“http//www.ietf.org/rfc/rfc1247.txt?number=1247”处获得。
尽管已结合了当前认为是最实用和最优选的实施例描述了公开实施例,但是应当理解,本发明并不限于公开实施例,相反地,本发明试图包括落在权利要求精神和范围内的各种修改和等同配置。
权利要求
1.一种路由器中的方法,所述方法包括基于连接到所述路由器的至少一条活动链路识别连接到所述路由器的活动路径;监视连接到所述路由器的活动路径的规定属性;检测所连接的活动路径的规定属性中的至少一种的变化;以及根据规定路由协议将指定所述变化的更新消息输出到第二路由器。
2.如权利要求1所述的方法,其中所述识别步骤包括基于确定规定目的地可通过所述至少一条活动链路到达,而将连接到所述路由器的至少一条活动链路关联到所述活动路径;以及在拓扑表中存储指定了所述规定目的地和所述至少一条活动链路的相应至少一个接口标识符的条目。
3.如权利要求2所述的方法,其中所述识别步骤还包括基于确定所述规定目的地可同时通过所述一条活动链路和连接到所述路由器的第二活动链路到达,而将所述第二活动链路关联到所述活动路径;确定所述一条活动链路和所述第二活动链路被配置用于启用聚集;针对所述活动路径的规定属性中的相应选定属性,聚集所述一条活动链路和所述第二活动链路的规定属性中的至少选定的属性;以及在所述拓扑表中的条目中存储所述活动路径的规定属性,并且添加指定了所述规定目的地、所述第二活动链路的接口标识符和所述活动路径的规定属性的第二条目。
4.如权利要求3所述的方法,其中所述检测步骤包括检测针对所述活动路径的规定属性中的相应选定属性的所述一条活动链路和所述第二活动链路的规定属性中的选定属性的聚集。
5.如权利要求4所述的方法,其中所述检测步骤包括检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
6.如权利要求1所述的方法,其中所述检测步骤包括检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
7.如权利要求6所述的方法,其中所述检测步骤还包括从可执行驱动器资源获得与所述至少一条活动链路的规定属性中的至少一种相关联的信息,其中所述可执行驱动器资源被配置用于控制被配置用于建立所述至少一条活动链路的接口。
8.如权利要求7所述的方法,其中所述信息包括所述带宽、可靠性、负载和可允许传输单元大小中的任何一种。
9.如权利要求6所述的方法,其中所述检测步骤还包括基于测量将数据分组发送到所述一条链路上和经由所述一条链路接收到对所述数据分组的响应之间的时间,来确定所述延迟。
10.如权利要求1所述的方法,其中所述规定路由协议是增强内部网关路由协议(EIGRP)协议。
11.一种路由器,包括被配置用于与至少第二路由器建立相应的活动链路的多个接口;被配置用于基于连接到所述路由器的至少一条活动链路来识别连接到所述路由器的活动路径的链路关联资源;被配置用于监视连接到所述路由器的活动路径的规定属性的监视资源,所述监视资源检测所连接的活动路径的规定属性中的至少一种的变化;以及被配置用于根据规定路由协议将指定所述变化的更新消息输出到第二路由器的路由协议资源。
12.如权利要求11所述的路由器,还包括被配置用于存储条目的拓扑表,其中每个条目标识一个目的地以及所述相应目的地是否可到达;其中所述链路关联资源被配置用于基于确定规定目的地可通过所述至少一条活动链路到达,而将连接到所述路由器的至少一条活动链路关联到所述活动路径,所述链路关联资源被配置用于在所述拓扑表中存储指定了所述规定目的地和所述至少一条活动链路的相应至少一个接口标识符的条目。
13.如权利要求12所述的路由器,其中所述链路关联资源被配置用于基于确定所述规定目的地可同时通过所述一条活动链路和连接到所述路由器的第二活动链路到达而将所述第二活动链路关联到所述活动路径,并且确定所述一条活动链路和所述第二活动链路被配置用于启用聚集;所述链路关联资源被配置用于针对所述活动路径的规定属性中的相应选定属性,聚集所述一条活动链路和所述第二活动链路的规定属性中的至少选定的属性;以及所述链路关联资源被配置用于在所述拓扑表中的条目中存储所述活动路径的规定属性,并且添加指定了所述规定目的地、所述第二活动链路的接口标识符和所述活动路径的规定属性的第二条目。
14.如权利要求13所述的路由器,其中所述监视资源被配置用于检测针对所述活动路径的规定属性中的相应选定属性的所述一条活动链路和所述第二活动链路的规定属性中的选定属性的聚集。
15.如权利要求14所述的路由器,其中所述监视资源被配置用于检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
16.如权利要求11所述的路由器,其中所述监视资源被配置用于检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
17.如权利要求16所述的路由器,其中所述监视资源被配置用于从可执行驱动器资源获得与所述至少一条活动链路的规定属性中的至少一种相关联的信息,其中所述可执行驱动器资源被配置用于控制至少一个接口。
18.如权利要求17所述的路由器,其中所述信息包括所述带宽、可靠性、负载和可允许传输单元大小中的任何一种。
19.如权利要求16所述的路由器,还包括延迟测量资源,所述延迟测量资源被配置用于基于测量将数据分组发送到所述一条链路上和经由所述一条链路接收到对所述数据分组的响应之间的时间,来确定所述延迟,所述延迟测量资源将所确定的延迟报告给所述监视资源。
20.如权利要求11所述的路由器,其中所述路由协议资源被配置用于根据作为所述规定路由协议的增强内部网关路由协议(EIGRP)协议输出所述更新消息。
21.一种存储有用于通过路由器输出更新消息的指令序列的计算机可读介质,所述指令序列包括用于执行以下操作的指令基于连接到所述路由器的至少一条活动链路识别连接到所述路由器的活动路径;监视连接到所述路由器的活动路径的规定属性;检测所连接的活动路径的规定属性中的至少一种的变化;以及根据规定路由协议将指定所述变化的更新消息输出到第二路由器。
22.如权利要求21所述的介质,其中所述识别步骤包括基于确定规定目的地可通过所述至少一条活动链路到达,而将连接到所述路由器的至少一条活动链路关联到所述活动路径;以及在拓扑表中存储指定了所述规定目的地和所述至少一条活动链路的相应至少一个接口标识符的条目。
23.如权利要求22所述的介质,其中所述识别步骤还包括基于确定所述规定目的地可同时通过所述一条活动链路和连接到所述路由器的第二活动链路到达,而将所述第二活动链路关联到所述活动路径;确定所述一条活动链路和所述第二活动链路被配置用于启用聚集;针对所述活动路径的规定属性中的相应选定属性,聚集所述一条活动链路和所述第二活动链路的规定属性中的至少选定的属性;以及在所述拓扑表中的条目中存储所述活动路径的规定属性,并且添加指定了所述规定目的地、所述第二活动链路的接口标识符和所述活动路径的规定属性的第二条目。
24.如权利要求23所述的介质,其中所述检测步骤包括检测针对所述活动路径的规定属性中的相应选定属性的所述一条活动链路和所述第二活动链路的规定属性中的选定属性的聚集。
25.如权利要求24所述的介质,其中所述检测步骤包括检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
26.如权利要求21所述的介质,其中所述检测步骤包括检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
27.如权利要求26所述的介质,其中所述检测步骤还包括从可执行驱动器资源获得与所述至少一条活动链路的规定属性中的至少一种相关联的信息,其中所述可执行驱动器资源被配置用于控制被配置用于建立所述至少一条活动链路的接口。
28.如权利要求27所述的介质,其中所述信息包括所述带宽、可靠性、负载和可允许传输单元大小中的任何一种。
29.如权利要求26所述的介质,其中所述检测步骤还包括基于测量将数据分组发送到所述一条链路上和经由所述一条链路接收到对所述数据分组的响应之间的时间,来确定所述延迟。
30.如权利要求21所述的介质,其中所述规定路由协议是增强内部网关路由协议(EIGRP)协议。
31.一种路由器,包括用于基于连接到所述路由器的至少一条活动链路识别连接到所述路由器的活动路径的装置;用于监视连接到所述路由器的活动路径的规定属性的装置;用于检测所连接的活动路径的规定属性中的至少一种的变化的装置;以及用于根据规定路由协议将指定所述变化的更新消息输出到第二路由器的装置。
32.如权利要求31所述的路由器,其中所述识别装置被配置用于基于确定规定目的地可通过所述至少一条活动链路到达,而将连接到所述路由器的至少一条活动链路关联到所述活动路径;以及在拓扑表中存储指定了所述规定目的地和所述至少一条活动链路的相应至少一个接口标识符的条目。
33.如权利要求32所述的路由器,其中所述识别装置被配置用于基于确定所述规定目的地可同时通过所述一条活动链路和连接到所述路由器的第二活动链路到达,而将所述第二活动链路关联到所述活动路径;确定所述一条活动链路和所述第二活动链路被配置用于启用聚集;针对所述活动路径的规定属性中的相应选定属性,聚集所述一条活动链路和所述第二活动链路的规定属性中的至少选定的属性;以及在所述拓扑表中的条目中存储所述活动路径的规定属性,并且添加指定了所述规定目的地、所述第二活动链路的接口标识符和所述活动路径的规定属性的第二条目。
34.如权利要求33所述的路由器,其中所述检测装置被配置用于检测针对所述活动路径的规定属性中的相应选定属性的所述一条活动链路和所述第二活动链路的规定属性中的选定属性的聚集。。
35.如权利要求34所述的路由器,其中所述检测装置被配置用于检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
36.如权利要求31所述的路由器,其中所述检测装置被配置用于检测作为所述规定属性的延迟、带宽、可允许传输单元大小、跳数、可靠性和负载中的任何一种的变化。
37.如权利要求6所述的路由器,其中所述检测装置被配置用于从可执行驱动器资源获得与所述至少一条活动链路的规定属性中的至少一种相关联的信息,其中所述可执行驱动器资源被配置用于控制被配置用于建立所述至少一条活动链路的接口。
38.如权利要求37所述的路由器,其中所述信息包括所述带宽、可靠性、负载和可允许传输单元大小中的任何一种。
39.如权利要求36所述的路由器,其中所述检测装置被配置用于基于测量将数据分组发送到所述一条链路上和经由所述一条链路接收到对所述数据分组的响应之间的时间,来确定所述延迟。
40.如权利要求31所述的路由器,其中所述规定路由协议是增强内部网关路由协议(EIGRP)协议。
全文摘要
第一路由器被配置用于监视连接到第一路由器的活动路径的规定属性,并根据诸如增强内部网关路由协议(EIGRP)之类的规定路由协议将更新消息提供给第二路由器,更新消息指定了由第一路由器检测到的所连接的活动路径的规定属性中的至少一种的变化。因而,第二路由器响应于接收到更新消息,可以基于所检测的连接到第一路由器的活动路径中的变化来更新内部拓扑表,并基于所检测的与规定数据流的排队策略有关的变化来选择性地调整内部路由表。
文档编号H04Q7/28GK101065677SQ200580006998
公开日2007年10月31日 申请日期2005年2月28日 优先权日2004年3月2日
发明者度尼·万·塞韦支, 唐纳德·厄尔·小斯莱斯, 罗伊·迈克尔·布罗克斯, 马修·亨利·比尔科纳尔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1