在计算机网络中边界路由器节点发生故障的情况下快速恢复的高效机制的制作方法

文档序号:7949017阅读:220来源:国知局

专利名称::在计算机网络中边界路由器节点发生故障的情况下快速恢复的高效机制的制作方法
技术领域
:本发明涉及计算机网络,更具体地说,涉及利用备用隧道来进行保护以免遭计算机网络的域之间的边界路由器故障的影响。
背景技术
:计算机网络是由通信链路和网段互连的地理上分布的节点的集合,通信链路和网段用于在诸如个人计算机和工作站之类的末端节点之间传输数据。许多类型的网络是可用的,其类型范围从局域网(LAN)到广域网(WAN)不等。LAN一般通过位于同一个总的物理位置(例如建筑物或校园)中的专用私有通信链路连接节点。另一方面,WAN一般通过长距离通信链路连接地理上分散的节点,所述长距离通信链路例如是公共载波电话线、光路径、同步光网络(SONET)或同步数字层级体系(SDH)链路。因特网是连接全世界的不同网络的WAN的一个示例,其提供了各种网络上的节点之间的全球通信。节点一般通过根据预定义协议交换离散数据分组或帧来经由网络通信,所述预定义协议例如是传输控制协议/因特网协议(TCP/IP)。在这种上下文中,协议由定义节点彼此之间如何交互的一组规则构成。计算机网络还可以由诸如路由器之类的中间网络节点互连,以扩展每个网络的有效“大小”。由于可以证明互连的计算机网络的管理是很繁重的,因此较小的计算机网络群组可以被维护作为路由域或自治系统。自治系统(AS)内的网络一般通过传统的被配置为执行域内路由协议的“域内”路由器耦合在一起,并且通常受制于一个共同的权力机构。为了提高路由可缩放性,服务提供商(例如ISP)可以将AS划分为多个“区域”。然而,可能希望增大能够交换数据的节点的数目;在这种情况下,执行域间路由协议的域间路由器被用于互连各种AS的节点。而且,可能希望互连工作在不同管理域下的各种AS。这里所用的AS或(更具体而言)区域通常被称为“域(domain)”,并且将不同域互连在一起的路由器通常被称为“边界路由器”。域间路由协议的示例是边界网关协议版本4(BGP),其通过在系统的邻居域间路由器之间交换路由和可达性信息来执行域(AS)间的路由。相邻(adjacency)是一种在选定的邻居(对等)路由器之间形成的关系,其目的是交换路由信息消息并提取网络拓扑。由BGP对等路由器交换的路由信息一般包括目的地地址前缀,即,目的地地址中被路由协议用来进行路由(“下一跳”)判决的部分。这种目的地地址的示例包括IP版本4(IPv4)和版本6(IPv6)地址。BGP通常工作在诸如TCP之类的可靠的传输协议上,以建立TCP连接/会话。BGP协议是公知的,并且在1995年3月公布的题为“ABorderGatewayProtocol4(BGP-4)”的注释请求(RFC)1771中有一般描述。域内路由协议或内部网关协议(IGP)的示例是开放最短路径优先(OSPF)路由协议和中间系统到中间系统(ISIS)路由协议。OSPF和ISIS协议是基于链路状态技术的,因此被统称为链路状态路由协议。链路状态协议定义了路由信息和网络拓扑信息在域中被交换和处理的方式。该信息通常涉及域内路由器的本地状态(例如,路由器的可用接口和可达邻居或相邻情况)。OSPF协议在1998年4月的题为“OSPFVersion2”的RFC2328中有所描述,用在IP上下文中的ISIS协议在1990年12月的题为“UseofOSIISISforroutinginTCP/IPandDualEnvironments”的RFC1195中有所描述,这两篇RFC都通过引用结合于此。中间网络节点经常将其路由信息存储在由路由信息库(RIB)维护和管理的路由表中。路由表是一种可搜索数据结构,其中网络地址被映射到其关联路由信息。然而,本领域技术人员将理解路由表不需要被组织为表,而是也可以是另一类型的可搜索数据结构。尽管中间网络节点的路由表可以被配置具有预定的一组路由信息,但是该节点也可以在其发送和接收数据分组时动态获取(“学习”)网络路由信息。当在中间网络节点处接收到分组时,分组的目的地地址(例如存储在分组的头部中)可以用于标识包含与接收的分组相关联的路由信息的路由表条目。分组的路由信息指示分组的下一跳地址等等。为了确保其路由表包含最新路由信息,中间网络节点可以与其他中间节点协作以散布代表当前网络拓扑的路由信息。例如,假定中间网络节点检测到其邻居节点(即,相邻网络节点)之一变得不可用,例如由于链路故障或邻居节点“离线”等等。在这种情形下,中间网络节点可以更新存储在其路由表中的路由信息,以确保数据分组不被路由到不可用的网络节点。此外,中间节点还可以将该网络拓扑的变化传输给其他中间网络节点以使得其可以更新它们的本地路由表并绕过不可用节点。以这种方式,每个中间网络节点“知道”拓扑的变化。一般来说,路由信息是根据预定的网络通信协议,例如链路状态协议(例如IS-IS或OSPF)在中间网络节点之间散布的。传统的链路状态协议使用链路状态分组(或“IGP通告”)来在互连的中间网络节点(IGP节点)之间交换路由信息。这里所用的IGP通告通常描述IGP路由协议用来在互连的IGP节点(即,路由器和交换机)之间传输路由信息的任何消息。在工作中,第一IGP节点可以生成IGP通告,并通过其每个耦合到其他IGP节点的网络接口“流播(flood)”(即,发送)分组。其后,第二IGP节点可以接收被流播的IGP通告,并基于包含在接收的IGP通告中的路由信息更新其路由表。随后,第二IGP节点可以通过其每个网络接口流播接收的IGP通告,但是接收到IGP通告的接口除外。该流播过程可以重复,直到每个互连的IGP节点都已接收到IGP通告并更新其本地路由表为止。在实际中,每个IGP节点一般生成并散布这样的IGP通告,其路由信息包括中间节点的邻居网络节点的列表以及与每个邻居相关联的一个或多个“成本”值。这里所用的与邻居节点相关联的成本值是用于确定与该节点进行通信的相对难易程度的任意度量。例如,成本值可以按照到达邻居节点所需的跳数、分组到达邻居节点的平均时间、耦合到邻居节点的网络链路上的可用带宽或网络流量的量等等方面来量度。注意,IGP通告通常被流播,直到每个中间网络IGP节点已经从每个其他互连的中间节点接收到IGP通告为止。然后,每个IGP节点可以通过聚集所接收的邻居节点列表和成本值来构造相同的网络拓扑“视图”。为此,每个IGP节点可以将该接收到的路由信息输入到“最短路径优先”(SPF)计算中,该计算确定将中间节点与每个其他网络节点相耦合的最低成本网络路径。例如,Dijkstra算法是一种用于执行这种SPF计算的传统技术,在1999年9月公布的RadiaPerlman的课本“InterconnectionsSecondEdition”的12.2.4部分中有更详细的描述,该课本通过引用全文结合于此。每个IPG节点基于其SPF计算的结果更新存储在其本地路由表中的路由信息。更具体而言,RIB更新路由表以将目的地节点与关联到最低成本路径的下一跳接口相关以到达这些节点,如SPF计算所确定的。多协议标签交换(MPLS)流量工程已被开发出来以满足数据联网需求,例如有保证可用带宽或快速恢复。MPLS流量工程采用了现代标签交换技术来构建通过标签交换路由器(LSR)的IP/MPLS网络的有保证带宽端到端隧道。这些隧道是一类标签交换路径(LSP),因而通常被称为MPLS流量工程(TE)LSP。MPLSTE的示例可以在2001年12月的题为“RSVP-TEExtensionstoRSVPforLSPTunnels”的RFC3209、2004年6月的题为“Intermediate-System-to-Intermediate-System(IS-IS)ExtensionsforTrafficEngineering(TE)”的RFC3784以及2003年9月的题为“TrafficEngineering(TE)ExtensionstoOSPFVersion2”的RFC3630中找到,这些RFC的内容通过引用整体结合于此。从头端LSR到尾端LSR的MPLSTE-LSP的建立涉及计算通过LSR的网络的路径。最优情况下,所计算的路径是在某种度量下测得的“最短”路径,其满足所有相关的LSP流量工程约束,例如所需带宽、用于包括在路径中的每条链路和节点的备用旁路隧道的可用性等等。路径计算或者可以由头端LSR执行,或者可以由充当路径计算元件(PCE)的某个其他实体执行。头端LSR(或PCE)使用其关于网络拓扑和每条链路上的可用资源的知识来根据LSP流量工程约束执行路径计算。可以使用各种路径计算方法,包括CSPF(约束最短路径优先)。MPLSTE-LSP可以被配置在单个域(例如IGP区域或级别)内,或者也可以跨越多个域(例如多个IGP区域或级别)。在跨过域边界时出现的一个困难是在头端LSR处的路径计算需要跨头端和尾端LSR之间的整个网络的网络拓扑和资源的知识。然而服务提供商一般不跨域边界彼此共享该信息。具体而言,网络拓扑和资源信息通常并不流过域边界,即使单个服务提供商可以操作所有区域也是如此。头端LSR或任何单个PCE都没有足够的知识来计算路径。因此,要计算域间TE-LSP需要MPLS流量工程路径计算技术。PCE的使用已经适合于创建分布式PCE体系结构,以扩展MPLSTE-LSP跨域边界。这种分布式体系结构的示例在2003年9月18日由Vasscur等人提交的题为“COMPUTINGINTER-AUTONOMOUSSYSTEMMPLSTRAFFICENGINEERINGLSPPATHS”的共同拥有、共同未决的美国专利申请No.10/767,574中有所描述,该申请的内容通过引用整体结合于此。在分布式PCE体系结构中,计算路径所需的可视性被在相邻域之间扩展以使得PCE可以通过在保留跨域的机密性(例如当适用于AS时)的同时交换虚拟最短路径树(VSPF)来协作计算跨多个域的路径。某些应用可能结合了单向数据流,该单向数据流被配置为根据某一“服务质量”(QoS)将时间敏感流量从计算机网络中的源(发送者)传送到网络中的目的地(接收者)。这里,网络资源可以被预留用于单向流以确保维持与数据流相关联的QoS。资源预留协议(RSVP)是一种使应用能够预留资源以为其数据流获得特殊QoS的网络控制协议。RSVP与路由协议结合工作,以例如为计算机网络中的数据流预留资源从而建立数据流所需的QoS水平。RSVP在R.Braden等人的“ResourceReSerVationProtocol(RSVP)”的RFC2205中定义。在流量工程应用的情况下,RSVP信令被用于建立TE-LSP,并沿着遵循这组所需约束的TE-LSP(其路径可能已通过各种方式计算)向诸如边界路由器之类的路由器传送各种TE-LSP属性。一般来说,隧道是将一个协议的分组(头部和数据)封装在具有新头部的另一协议分组的数据字段内的逻辑结构。这样,所封装的数据可以通过否则其将不能穿过的网络而被传输。更重要的是,隧道在两个网络节点之间建立一般不受物理网络链路或设备影响(即物理网络链路或设备仅基于新头部转发所封装的分组)的透明虚拟网络链路。虽然隧道的一个示例是MPLSTE-LSP,但是其他已知的隧道传输(tunneling)方法包括第二层隧道协议(L2TP)、点对点隧道协议(PPTP)和IP隧道等等。例如使用纯IP重新路由(rerouting)响应于网络元件故障而重新配置网络可能是费时的。然而,许多恢复技术可用来在发生网络元件故障的情况下提供快速恢复和/或网络配置,其中包括快速重新路由(FRR),例如IPFRR或MPLSTEFRR等等。MPLSTEFRR的示例在2005年2月Pan等人的因特网草案“FastRerouteExtensionstoRSVP-TEforLSPTunnels”中描述,该文献通过引用整体结合于此。FRR已被广泛部署,以便进行保护以免遭域内网络故障的影响,其中“备用隧道”被创建以绕过受保护的网络设备(例如链路、共享风险链路组(SRLG)和节点)。当网络元件发生故障时,流量在备用隧道上快速地重新路由以绕过故障的设备(或者在MPLS的情况下,一组TE-LSP被快速地重新路由)。然而,在域间IP/MPLS环境中,缺少就穿过域间边界路由器的域间流量的转发路径而言关于围绕该边界路由器的路由器的知识。边界路由器的保护由于一般穿过它们的流量而尤其关键。虽然存在用来创建域间备用隧道(例如手工配置从一个域中围绕边界路由器的每个路由器到另一个域中围绕边界路由器的每个路由器的备用隧道)的方案,但一个困难在于为每个目的地地址前缀动态地选择适当的备用隧道。选择不适当的备用隧道可能导致路由循环、黑洞效应、时间延迟或者其他不希望的结果。
发明内容本发明涉及一种利用快速重新路由和备用信道来保护流量(IP)使之免遭计算机网络中两个域之间的边界路由器故障影响的技术。根据该保护技术,边界路由器(即“受保护的边界路由器”)宣布/通告驻留在由受保护的边界路由器所互连的第一域和第二域中的其所有的相邻下一跳路由器(即其“邻居”)的列表。第一域中在受保护的边界路由器的紧挨上游处并且被配置为保护边界路由器的邻居(即“保护路由器”)获悉从第二域中的下一跳路由器(即“下下跳”,从保护路由器到受保护前缀的NNHOP)可达的地址前缀(即“受保护的前缀”)。保护路由器计算排除受保护的边界路由器的到每个NNHOP的备用隧道,并且相应地将每个备用隧道与一个或多个受保护的前缀相关联。当受保护的边界路由器发生故障时,快速重新路由被触发,并且受保护的前缀流量被保护路由器重新路由到到相应NNHOP的适当备用隧道上。在本发明的示例性实施例中,受保护的边界路由器采用诸如开放最短路径优先(OSPF)或中间系统到中间系统(IS-IS)协议之类的内部网关协议(IGP)来发送所通告的邻居列表。值得注意的是,一种特定类型的IGP通告可以用来限制仅发送到邻居。在接收到邻居列表之后,保护路由器解析那些在第二域中的NNHOP邻居,并且获悉从每个NNHOP可达的地址前缀。在本发明的一个方面中,保护路由器创建到NNHOP的多协议标签交换(MPLS)流量工程标签交换路径(TE-LSP)并且利用对请求/响应信令交换(例如资源预留协议(RSVP))的扩展来获悉可达的地址前缀。这些TE-LSP是“假”的,因为它们仅用于获得可达性信息(例如不预留带宽)并且可以随后被拆除。利用可达性信息,保护路由器计算被不同地路由绕过受保护的边界路由器的到NNHOP的备用隧道(例如通过穿过第一域和第二域之间另一边界路由器)。这些备用隧道被示例性地存储在保护路由器的影子表中,以使得传统的(IP)路由仍然可以由保护路由器用其路由表来执行。一旦保护路由器确定受保护的边界路由器发生故障了,快速重新路由就被触发,并且所有想去往受保护的前缀的流量被保护路由器例如根据影子表重新路由到到相应NNHOP的适当备用隧道上。有利地,新技术利用快速重新路由和备用隧道进行保护以免遭计算机网络中的两个域之间的边界路由器故障的影响。通过在保护路由器和NNHOP路由器之间创建有限数目的备用隧道,本发明的技术提供边界路由器的快速重新路由保护,这种快速重新路由保护需要最低的配置并且避免了部署从受保护的边界路由器的第一域中的每个邻居到第二域中的每个邻居的备用隧道。本发明的以上和其他的优点可通过参考下面结合附图的描述得以更好地理解,在附图中相似的标号指示相同或功能类似的元件,附图中图1是可以根据本发明使用的示例性的区域计算机网络的示意性框图;图2是可以结合本发明有利地使用的示例性路由器的示意性框图;图3是可以被路由器流播的示例性IGP通告的示意性框图;图4是根据本发明具有示例性TE-LSP的图1的示例性计算机网络的示意框图;图5是可以结合本发明有利地使用的示例性路由表的示意性框图;图6是根据本发明具有示例性备用隧道的图1的示例性计算机网络的示意框图;以及图7是示出根据本发明的用于进行保护以免遭两个域之间的边界路由器故障影响的步骤序列的流程图。具体实施例方式图1是示例性计算机网络100的示意框图,计算机网络100包括具有示例性域内路由器A的区域A1和具有示例性域内路由器B和C的区域A2。示例性地,地址前缀IP1和IP2可分别经由路由器B和C到达。另外,A1和A2共享区域边界路由器ABR1和ABR2。这里所用的区域(area)是彼此共享完全网络拓扑信息但是不一定与区域外部的路由器共享该信息的路由器的集合。区域的集合可以被包含在单个自治系统(AS)内。这里所用的术语区域还包含术语“级别(level)”,该术语对于采用IS-IS作为其内部网关协议(IGP)的网络来说具有类似的含义,在这种情况下区域边界路由器ABR1-4被实现为第1级/第2级(L1L2)路由器。这些示例仅仅是代表性的。这里所用的术语区域和级别可以互换使用,并且ABR、L1L2路由器和(更一般地)边界路由器的使用也可以互换。数据分组可以利用预定义的网络通信协议在区域A1-A2之间交换,这些网络通信协议例如是传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、异步传送模式(ATM)协议、帧中继协议、因特网分组交换(IPX)协议等。路由信息可以利用预定的IGP(例如传统的距离向量协议或链路状态协议)通过使用链路状态通告或链路状态分组(“IGP通告”)在区域的路由器之间分发。图2是可以结合本发明有利地使用作为域内路由器或边界路由器的示例性路由器200的示意框图。该路由器包括通过系统总线250互连的多个网络接口210、处理器220和存储器240。网络接口210包含用于通过耦合到网络100的物理链路传输数据的机械的、电的和信令电路。网络接口可以被配置为利用多种不同通信协议发送和/或接收数据,这些协议包括TCP/IP、UDP、ATM、同步光网络(SONET)、无线协议、帧中继、以太网、光纤分布数据接口(FDDI)等等。存储器240包括多个用于存储与本发明相关联的软件程序和数据结构的存储单元,这些存储单元可由处理器220和网络接口210寻址。处理器220可包括适合于执行软件程序并操作数据结构(例如路由表600和影子表(shadowtable)650)的必要元件或逻辑。路由器操作系统242(其某些部分一般驻留在存储器240中并由处理器执行)在功能上通过调用支持在路由器上执行的软件过程和/或服务的网络操作等等,来组织路由器。这些软件过程和/或服务包括路由信息库(RIB)245、路由服务247和RSVP服务249。本领域技术人员将清楚,其他处理器和存储器装置(包括各种计算机可读介质)可以用于存储和执行与这里描述的创造性技术有关的程序指令。路由服务247包含由处理器220执行的用于执行由一种或多种路由协议(例如OSPF和IS-IS)提供的功能的计算机可执行指令。这些功能可以被配置为管理包含例如用于进行转发判决的数据的转发信息数据库(未示出)。RSVP服务249包含根据本发明用于实现RSVP和处理RSVP消息的计算机可执行指令。RSVP在可从IETF得到的R.Braden等人的1997年9月的注释请求(RFC)2205“ResourceReSerVationProtocol(RSVP)”以及题为“RSVP-TEExtensionstoRSVPforLSPTunnels”的RFC3209中有所描述,这两篇RFC在这里通过引用全文结合于此。网络拓扑的改变可以利用链路状态协议(例如传统的OSPF和IS-IS协议)在路由器200之间传输。例如,假定AS内的通信链路发生故障,或者与网络节点相关联的成本值改变。一旦网络状态的改变被路由器之一检测到,该路由器就可以流播IGP通告,将改变传输到区域中的其他路由器。以这种方式,每个路由器最终“收敛”到网络拓扑的相同视图。在一个实施例中,这里所描述的路由器是实现多协议标签交换(MPLS)并充当标签交换路由器(LSR)的IP路由器。在一种简单的MPLS场景中,在网络的入口处,在将每个进入分组转发到下一跳路由器之前,基于其转发等价类给每个分组指派一个标签。在每个路由器处,利用在进入分组中找到的标签作为对包括该信息的标签转发表的索引(reference),来确定转发选择和新的替换标签。在网络出口(或在前的一跳)处,基于进入标签进行转发判决,但是可选地当分组被继续发送到下一跳时不包括标签。分组以这种方式穿过网络所采取的路径被称为标签交换路径(LSP)。TE-LSP的建立需要计算路径,沿路径信令,并修改沿路径的转发表。MPLSTE在某些情况下建立了已经保证带宽的LSP。示例性地,TE-LSP可以通过使用RSVP协议(具体而言是RSVPTE信令消息)来通知。根据RSVP,为了在发送者(例如,头端节点A)和接收者(例如,尾端节点C)之间建立TE-LSP(数据流),发送者可以将RSVP路径(Path)消息沿着某一路径(例如,单播路由)向下游逐跳地发送到接收者,以标识发送者并指示例如容纳数据流所需的带宽以及TE-LSP的其他属性。Path消息可以包含关于数据流的各种信息,例如包括数据流的流量特性。为了计算跨多个域的路径,先前结合的美国专利申请No.10/767,574描述了在分布式路径计算元件(PCE)体系结构中虚拟最短路径树(VSPT)的使用。注意,本领域技术人员将清楚,其他方法也可以用于计算TE-LSP(例如显式路径等),并且这些方法在本发明的范围内。此外,路径计算请求(和响应)可以根据在Vasseur等人的“RSVPPathComputationRequestandReplyMessages(draft-vasseur-mpls-computation-rsvp-05.txt)”的因特网草案(2004年7月)中指定的协议来实现,该草案通过引用全文结合于此。尽管这里描述的示例性实施例涉及MPLS,但是还应当注意,本发明可以有利地应用于通用MPLS(GMPLS),其不仅与基于分组和信元的网络有关,还与时分复用(TDM)和光网络有关。GMPLS是公知的,并且在2004年10月的题为“GeneralizedMulti-ProtocolLabelSwitching(GMPLS)Architecture”的RFC3945和2004年10月的题为“GeneralizedMulti-ProtocolLabelSwitching(GMPLS)ExtensionsforSynchronousOpticalNetwork(SONET)andSynchronousDigitalHierarchy(SDH)Control”的RFC3946中有所描述,这两篇RFC的内容都通过引用整体结合于此。本发明涉及一种利用快速重新路由和备用隧道来保护流量(IP)以使之免遭计算机网络中两个域之间的边界路由器故障影响的技术。根据该保护技术,边界路由器(即“受保护的边界路由器”)宣布/通告驻留在由受保护的边界路由器所互连的第一域和第二域中的其所有的相邻下一跳路由器(即其“邻居”)的列表。第一域中在受保护的边界路由器的紧挨上游处并且被配置为保护边界路由器的邻居(即“保护路由器”)获悉从第二域中的下一跳路由器(即“下下跳”,从保护路由器到受保护前缀的NNHOP)可达的地址前缀(即“受保护的前缀”)。保护路由器计算排除受保护的边界路由器的到每个NNHOP的备用隧道,并且相应地将每个备用隧道与一个或多个受保护的前缀关联。当受保护的边界路由器发生故障时,快速重新路由被触发,并且受保护的前缀流量被保护路由器重新路由到到相应NNHOP的适当备用隧道上。在本发明的示例性实施例中,受保护的边界路由器采用诸如开放最短路径优先(OSPF)或中间系统到中间系统(IS-IS)协议之类的内部网关协议(IGP)来发送所通告的邻居列表。值得注意的是,一种特定类型的IGP通告可以用来限制仅发送到邻居。图3示出了可以由路由器200(例如,受保护的边界路由器)发送(流播)的示例性IGP通告300。示例性地,IGP通告300被实现为在1998年7月的题为“TheOSPFOpaqueLSAOption”的RFC2370中定义的第9类不透明LSA,该文献的内容通过引用而被全部合并于此。年龄字段302存储可以用于确定IGP通告300是否有效的年龄值。年龄值一般被初始化为非零整数值,经常以秒为单位。年龄值可以例如每一秒递减1,直到年龄值达到零为止,从而指示IGP通告已变为无效。即,存储或流播IGP通告300的每一路由器200连续老化分组,直到年龄值等于零为止。本领域技术人员将意识到,也可以使用其他老化机制,例如从例如等于零的初始值开始递增IGP通告年龄值,直到年龄值达到已知的上限为止。通告300还包括选项字段304和表示LSA是第9类、第10类还是第11类LSA的LSA类型字段306。第11类LSA具有AS那么宽的范围,意思是其在整个AS中被流播,而第10类LSA具有区域那么宽的范围,其将不会被流播超过LSA被流播到其中的区域。另一方面,第9类LSA具有链路本地范围,其不被流播超过本地(子)网络,即仅被流播到相邻下一跳路由器(邻居)。虽然本发明示例性地利用第9类LSA来限制不必要的网络流量,但是本领域技术人员将会了解到可以在本发明的范围内使用其他的LSA类型。IGP通告300内还包括不透明类型字段308和不透明ID字段310,其表示不透明LSA的类型和ID。通告路由器字段312存储识别产生和最初广播IGP通告300的路由器的值。序列号字段314存储指示IGP通告的相对版本的序列号。一般来说,存储在字段314中的序列号对于IGP通告的每一新版本例如递增1。因此,如果IGP通告300的序列号小于存储在IGP通告的先前接收的版本中的(即,由同一通告节点生成的)序列号,则该IGP通告300被认为是“陈旧的”(无效的)。因此,路由器200可以被配置为只存储并转发最新版本的IGP通告,例如,具有最大序列号的版本。IGP通告还包括校验和字段316和长度字段318,校验和字段316包含用于验证通告内容的校验和,长度字段318包含用于表示通告的总长度或者不透明信息字段320的长度的值。按照定义,不透明信息字段320由通告节点用于发送任何希望的信息。根据本发明,不透明信息字段示例性地包括用于与受保护的边界路由器相邻的下一跳邻居的地址列表。使用图1作为示例,例如由受保护的边界路由器ABR1填充的不透明信息字段将包含相邻路由器A、B和C的地址。或者,IGP通告可以是IS-IS链路状态分组(未示出)的形式,其可以包括类型/长度/值(TLV)编码格式以传送信息。TLV编码格式被用于标识被传输(传送)的信息类型(T)、要被传送的信息长度(L)以及传送的实际信息值(V)。包含在长度字段中的长度(L)参数一般是特定于实现方式的,并且可以表示从对象的类型字段的开头到结尾的长度。然而,长度通常表示值(V)字段的长度而不是类型(T)或长度(L)字段的长度。在另一实施例中,IS-IS分组可以包括示例性地实现为TLV的扩展对象。扩展对象的值字段可以包含如上所述的与受保护的边界路由器相邻的下一跳邻居的地址列表,等等。然而值得注意的是,IS-IS链路状态分组的范围通常是不受限制的并且是在整个IS-IS级别被流播的,在这种情况下,非邻剧路由器将被配置为忽略该地址列表。在接收到邻居列表之后,保护路由器(例如“本地修复点”,PLR)解析在第二域中的那些NNHOP邻居,并且获悉从每个NNHOP可达的地址前缀。示例性地,保护路由器通过将地址与保护路由器经由检查其最短路径树(SPT)而已知处于其域中的地址相比较,来解析来自邻居地址列表的NNHOP。如果保护路由器不将地址列为其SPT中的地址,则该地址肯定在另一个域中,并且因此是通过受保护的边界路由器可达的NNHOP。或者,NNHOP例如可以由具有域间知识的系统管理员来静态地配置。该替换方案在受保护的边界路由器在其周围区域仅具有少量(例如两个或三个)NNHOP的情况下可能是实用的。在本发明的一个方面中,保护路由器创建到NNHOP的MPLSTE-LSP并且利用对请求/响应信令交换(例如RSVP)的扩展来获悉由这些NNHOP可达的一组地址前缀(受保护的前缀),以及获悉哪个NNHOP将被受保护的边界路由器用来到达这样的地址前缀。每个TE-LSP被示例性地实现为经由受保护的边界路由器(ABR1)从保护路由器(A)到每个NNHOP(B和C)的不受约束的两跳TE-LSP。TE-LSP是用任何可用的隧道建立协议创建的,所述隧道建立协议例如是显式路径或基于PCE的路径计算。而且,因为它们仅被用于从NNHOP取得可达性信息,所以TE-LSP可以被配置为“假”TE-LSP,意思是它们不预留带宽并且/或者不发送流量。在TE-LSP的建立期间,各种技术可用于保护路由器以获悉由NNHOP可达的地址前缀并且确定对于每个地址前缀使用哪个NNHOP。这样的技术包括静态的或基于政策的路由或者动态方法等等,例如在由Vasseur等人在2004年12月1日提交的题为“PROPAGATIONOFROUTINGINFORMATIONINRSVP-TEFORINTER-DOMAINTE-LSPS”的美国申请No.11/001,349中所描述的方法,该文献的内容被全部合并于此。这里所描述的动态方法包括使用对RSVP信令交换的扩展以发送可达性信息。例如,请求对象被沿着TE-LSP(例如ABR1)发送到“目标节点”以请求可达性信息,目标节点用条目对象来响应请求对象。示例性地,可达性信息包括由目标节点所确定的由尾端节点(例如路由器C)可达的一个或多个地址前缀。一旦这样的信息被从每个NNHOP获得,保护路由器就知道哪个NNHOP将被受保护的边界路由器用来到达某些地址前缀。或者,可以使用上面的IGP通告300动态地获得该信息;然而,由于前缀的数目可能很大,这可能不是最优方法。当然,NNHOP列表、地址前缀可达性信息和/或用于每个可达前缀的NNHOP的身份例如可以由具有网络拓扑的域间知识的系统管理员来静态地配置。图4是根据本发明具有示例性TE-LSP的图1的示例性计算机网络100的示意框图。值得注意的是,这些TE-LSP是根据上面所述的方法创建的。例如,T1(示为虚线)是从头端路由器A(保护路由器)经过ABR1(受保护的边界路由器)到尾端路由器B(可以到达IP1)的TE-LSP。另外,T2(示为点线)是从头端路由器A经过ABR1到尾端路由器C(可以到达IP2)的TE-LSP。利用可达性信息,保护路由器计算被不同地路由绕过受保护的边界路由器的到NNHOP的备用隧道(例如通过穿过第一域和第二域之间另一边界路由器)。备用隧道被示例性地实现为任何已知的隧道类型,例如MPLSTE-LSP、L2TP隧道、PPTP隧道或IP隧道。为了确保隧道被从受保护的边界路由器不同地路由,可以使用网络元件排除或基于PCE的域间路径计算。在图1和图4中,不同的备用隧道表现为穿过ABR2。应该注意到可以使用任何其他与受保护的边界路由器分开的(不同的)边界路由器(未示出),并且隧道的数目可以是最高可以等于穿过任何可用的不同边界路由器的NNHOP的数目的任何数目。这些备用隧道被示例性地存储在保护路由器的影子表中,以使得传统的(IP)路由仍然可以由保护路由器利用其路由表来执行。图5是可以结合本发明有利地使用的示例性路由表500的示意性框图。路由表500被示例性地存储在存储器240中并且包括一个或多个条目510,每个条目510包括用于存储可达目的地地址512、用于到达该目的地的下一跳接口514和下一跳地址516以及到达目的地的关联度量(例如成本)518的多个字段。路由表500示例性地由RIB245维护和管理。为此,RIB245维护由路由协议(例如IGP)提供的路由(路径)的拷贝,以计算最佳路径/路由从而安装到路由表500中。例如,假定目的地地址前缀IP1可以从节点A经由节点C到达。另外,将节点A连接到节点B的路径A-B的成本是“6”(例如经由图1的ABR1),并且从B到可达地址IP1的链路的成本是“1”。条目510N的目的地地址字段512包含可达地址IP1,并且下一跳字段514、516被分别填充以例如链路A-ABR1和节点ABR1的回送地址。注意,下一跳节点的回送地址出于很多原因被用作下一跳地址,这些原因包括作为一种避免依赖于该节点的网络接口的可用性的方式。IP1的成本是到可达地址的所有链路的成本,即“7”。影子表550与条目510N的IP1相关联。如上所述,影子表550示例性地存储由保护路由器所创建的备用隧道,以使得在保护路由器处仍然发生传统路由。影子表550的字段被填充以从受保护的边界路由器所获得的并且对应于备用隧道的可达性信息。影子表550实质上包括与路由表500相同的格式,但是具有经由备用隧道的NNHOP可达的目的地地址前缀。具体地说,影子表550的每个条目560可以包括多个字段,用于存储一个或多个从NNHOP可达的目的地前缀562、对到NNHOP的隧道的索引564、NNHOP的地址566和(可选)成本度量568(例如“8”)。值得注意的是,隧道的成本度量可以大于、小于或等于IP路由链路的成本,并且值“8”和“7”应该分别被作为示例。也要注意到沿着受保护路径的成本可以为保护路由器所知,也可以不为保护路由器所知,在这种情况下,这样的成本将不会出现在影子表550中。图6是根据本发明具有示例性备用隧道的图1的示例性计算机网络100的示意框图。值得注意的是,这些备用隧道是根据上面所述的方法创建的。例如,BT1(示为虚线)是从头端路由器A(保护路由器)经过ABR2(不同的边界路由器)到尾端路由器B(到IP1的NNHOP)的备用隧道。另外,BT2(示为点线)是从头端路由器A经过ABR2到尾端路由器C(到IP2的NNHOP)的备用隧道。在ABR1的状态发生任何变化之前(在故障之前),传统的IP路由(例如使用路由表500)被保护路由器A的RIB245使用(即IP分组被IP路由等)。如下所述,存储在影子表550中的备用隧道直到被需要为止都是“休眠的”(未用的)。一旦保护路由器确定受保护的边界路由器发生了故障(例如图6中覆盖在ABR1上的“X”所示),快速重新路由就被触发,并且所有想去往受保护的前缀的流量被保护路由器例如根据影子表重新路由到到相应NNHOP的适当备用隧道上。保护路由器通过任何已知的链路或节点故障检测技术检测受保护的边界路由器的故障,所述链路或节点故障检测技术例如是第2层故障检测和/或任何保活协议(例如IGP或双向转发检测,BFD),其中的后者一般检测连接信号或“心跳”的存在或不存在。根据本发明,一旦快速重新路由被触发了,RIB245就使其路由策略适合于确定进入的流量是否想去往那组受保护的前缀(即通过受保护的边界路由器)。值得注意的是,该确定可以通过将目的地前缀与受保护的前缀进行比较或者通过将目的地前缀的下一跳地址与受保护的边界路由器地址进行比较而做出。或者,在接收到流量之后,RIB245例如通过标志、指针或其他指示手段检查相应的路由表条目510N有没有相应的影子表条目560N。如果没有相应影子表条目的指示(即流量不是想去往受保护的前缀的),则路由表条目510N被以传统方式使用。然而,如果流量是去往受保护的前缀(例如IP1)的,则其被重新路由到相应影子表条目560N中的备用隧道(备用隧道1)上(例如在备用隧道索引字段564中),以去到适当的NNHOP(路由器B)。示例性地,想去往受保护的前缀的流量分组(例如IP分组)被封装成隧道分组(隧道标签被附加或“推”到分组上),该隧道分组被重新路由到对应于隧道标签的备用隧道(BT1)上。一旦备用隧道尾端节点(NNHOPB)接收到隧道分组,其就去除(“弹出”)隧道标签,并且根据NNHOP的传统路由表路由流量分组。或者,一旦快速重新路由被触发了,RIB245就在可达目的地地址匹配时将影子表条目560N的内容与相应路由表条目510N合并。作为合并的结果,路由表条目510N的关联属性被更新以反映备用隧道的属性。例如,路由表500的条目510N被更新以使得下一跳接口字段514包含来自条目564的备用隧道索引,下一跳地址字段516包含来自字段566的节点B,并且度量字段518(如果必要的话)包含来自字段568的备用隧道成本(例如值“8”)。在该替换实施例中,可能希望存储路由表条目510N的先前信息,以使得在受保护的边界路由器变得可用的情况下,流量流可以被恢复到其最初状态。图7是示出根据本发明的用于进行保护以免遭两个域之间的边界路由器故障影响的步骤序列的流程图。序列700开始于步骤705,然后继续步骤710,其中受保护的边界路由器(PBR)(ABR1)例如通过如上所述的IGP通告300将下一跳路由器的列表通告给其周围的邻居。在步骤715中接收到通告之后,照此配置的保护路由器(PR)(路由器A)在步骤720中示例性地建立经过受保护的边界路由器到每个NNHOP的TE-LSP(例如“假”TE-LSP)(例如经由TE-LSPT1到路由器B和经由TE-LSPT2到路由器C)。利用(假)TE-LSP,保护路由器在步骤725中能够获悉从每个NNHOP可达的地址前缀。例如,参照图4,保护路由器获悉IP1是经由路由器B可达的,IP2是经由路由器C可达的。值得注意的是,在可达性信息已静态配置(例如由系统管理员)的情况下,步骤720和725可以省略。在步骤730中,保护路由器计算到(一个或多个)NNHOP的备用隧道(例如分别到路由器B和C的备用隧道BT1和BT2)。为了确保多样性,每个备用隧道必须例如通过如上所述的网络元件排除或基于PCE的域间路径计算明确地排除受保护的边界路由器(ABR1)。在步骤735中,保护路由器存储备用隧道(例如存储在影子表550中),并且继续传统路由(例如使用路由表500)。保护路由器在步骤740中检测受保护的边界路由器的故障并且在步骤745中触发快速重新路由。然后在步骤750中,保护路由器确定流量是否想去往受保护的前缀。如果不是,流量在步骤745中被传统地路由。否则,所有想去往受保护的前缀的(即最初经过受保护的边界路由器的)流量在步骤760中例如被根据影子表550重新路由到相应的备用隧道上。序列结束于步骤765。有利地,新技术利用快速重新路由和备用隧道进行保护以免遭计算机网络中的两个域之间的边界路由器故障的影响。通过在保护路由器和NNHOP之间创建有限数目的备用隧道,本发明的技术提供边界路由器的快速重新路由保护,这种快速重新路由保护需要最低的配置并且避免了部署从受保护的边界路由器的第一域中的每个邻居到第二域中的每个邻居的备用隧道。虽然示出并描述了进行保护以免遭计算机网络中的两个域之间的边界路由器的故障的影响的示例性实施例,但是要了解到可以在本发明的精神和范围内做出各种其他适应和修改。例如,在适用的情况下,本发明也可以有利地结合AS使用。或者,通过对这里所描述的教导的修改和/或另外的处理,本领域技术人员将会了解到本发明可以一般地适应于结合AS使用。前述描述涉及本发明的特定实施例。然而,应当清楚,可以对所描述的实施例进行其他变化和修改,且获得它的某些或全部优点。例如,明确地设想本发明的教导可以实现为软件(包括具有在计算机上执行的程序指令的计算机可读介质)、硬件、固件或其组合。因此,该描述只能被认为是示例性的,而不是以任何方式限制本发明的范围。因此,所附权利要求的目的是覆盖在本发明的真实精神和范围内的所有这些变化和修改。权利要求1.一种用于进行保护以免遭计算机网络中的两个域之间的边界路由器故障的影响的方法,该方法包括配置第一域中的下一跳路由器(保护路由器)以保护所述边界路由器;在所述保护路由器处获悉从第二域中的一个或多个下一跳路由器(NNHOP)可达的地址前缀;计算排除所述边界路由器的到每个NNHOP的备用隧道;将每个备用隧道与一个或多个所获悉的地址前缀相关联;以及响应于所述边界路由器的故障,将指向所述所获悉的地址前缀的流量重新路由到到相应NNHOP的适当备用隧道上。2.如权利要求1所述的方法,还包括从所述边界路由器通告驻留在由所述边界路由器所互连的所述第一域和第二域中的一个或多个相邻下一跳路由器的列表。3.如权利要求2所述的方法,还包括在所述边界路由器处采用内部网关协议(IGP)来发送所通告的下一跳路由器列表。4.如权利要求2所述的方法,还包括指定一种类型的通告来限制所述发送仅到所述下一跳路由器。5.如权利要求1所述的方法,还包括在所述保护路由器处创建到所述一个或多个NNHOP中的每一个的多协议标签交换(MPLS)流量工程标签交换路径(TE-LSP);以及利用对请求/相应信令交换的扩展来获悉所述可达地址前缀。6.如权利要求5所述的方法,还包括创建TE-LSP以获得可达性信息而不预留带宽。7.如权利要求1所述的方法,还包括将所述备用隧道存储在所述保护路由器的影子表中。8.一种被配置为进行保护以免遭计算机网络中的两个域之间的边界路由器故障的影响的系统,该系统包括与所述边界路由器相邻的一个或多个下一跳路由器,所述一个或多个相邻的下一跳路由器驻留在由所述边界路由器所互连的第一域和第二域中,所述第一域中的一个下一跳路由器(保护路由器)被配置为保护所述边界路由器;以及从所述第一域延伸到所述第二域中的一个或多个下一跳路由器(NNHOP)中的每一个的备用隧道,每个备用隧道排除所述边界路由器并且与从所述NNHOP所获悉的一个或多个地址前缀相关联,其中在所述边界路由器发生故障的情况下,所获悉的地址前缀流量被重新路由到到相应NNHOP的适当备用隧道上。9.如权利要求8所述的系统,其中所述边界路由器被配置为创建和发送通告到所述下一跳路由器,所述通告包含所述一个或多个相邻下一跳路由器的列表。10.如权利要求9所述的系统,其中所述通告采用内部网关协议(IGP)来发送所通告的下一跳路由器列表。11.如权利要求9所述的系统,还包括用于限制所述发送仅到所述下一跳路由器的特定类型的通告。12.如权利要求8所述的系统,还包括在所述保护路由器处所创建的到所述一个或多个NNHOP中的每一个的多协议标签交换(MPLS)流量工程标签交换路径(TE-LSP);以及用于获悉所述可达地址前缀的对请求/相应信令交换的扩展。13.如权利要求12所述的系统,其中所述TE-LSP不预留带宽。14.如权利要求8所述的系统,还包括所述保护路由器用于存储所述备用隧道的影子表。15.一种用于进行保护以免遭计算机网络中的两个域之间的边界路由器故障的影响的设备,该设备包括用于配置第一域中的下一跳路由器(保护路由器)以保护所述边界路由器的装置;用于在所述保护路由器处获悉从第二域中的一个或多个下一跳路由器(NNHOP)可达的地址前缀的装置;用于计算排除所述边界路由器的到每个NNHOP的备用隧道的装置;用于将每个备用隧道与一个或多个所获悉的地址前缀相关联的装置;以及响应于所述边界路由器的故障,用于将指向所述所获悉的地址前缀的流量重新路由到到相应NNHOP的适当备用隧道上的装置。16.一种包含用于进行保护以免遭计算机网络中的两个域之间的边界路由器故障的影响的可执行程序指令的计算机可读介质,所述可执行程序指令包括用于执行以下步骤的程序指令配置第一域中的下一跳路由器(保护路由器)以保护所述边界路由器;在所述保护路由器处获悉从第二域中的一个或多个下一跳路由器(NNHOP)可达的地址前缀;计算排除所述边界路由器的到每个NNHOP的备用隧道;将每个备用隧道与一个或多个所获悉的地址前缀相关联;以及响应于所述边界路由器的故障,将指向所述所获悉的地址前缀的流量重新路由到到相应NNHOP的适当备用隧道上。全文摘要一种利用快速重新路由和备用信道来保护流量(IP)以使之免遭计算机网络中两个域之间的边界路由器故障影响的技术。边界路由器(即“受保护的边界路由器”)宣布/通告驻留在由受保护的边界路由器所互连的第一域和第二域中的其所有的相邻下一跳路由器(即其“邻居”)的列表。第一域中在受保护的边界路由器的紧挨上游处并且被配置为保护边界路由器的邻居(即“保护路由器”)获悉从第二域中的下一跳路由器(即“下下跳”,从保护路由器到受保护前缀的NNHOP)可达的地址前缀(即“受保护的前缀”)。保护路由器计算排除受保护的边界路由器的到每个NNHOP的备用隧道,并且相应地将每个备用隧道与受保护的前缀相关联。当受保护的边界路由器发生故障时,快速重新路由被触发,并且受保护的前缀被保护路由器重新路由到到相应NNHOP的适当备用隧道上。文档编号H04J3/14GK101036126SQ200580034138公开日2007年9月12日申请日期2005年11月17日优先权日2004年12月14日发明者让-菲利普·瓦瑟尔,斯特凡诺·B·普雷维蒂申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1