用于域间te-lsp的rsvp-te中的路由信息的传播的制作方法

文档序号:6657046阅读:199来源:国知局

专利名称::用于域间te-lsp的rsvp-te中的路由信息的传播的制作方法
技术领域
:本发明涉及计算机网络,更具体而言,涉及跨计算机网络的域取得可达性信息。
背景技术
:计算机网络是由通信链路和网段互连的地理上分布的节点的集合,通信链路和网段用于在诸如个人计算机和工作站之类的末端节点之间传输数据。许多类型的网络是可用的,其类型范围从局域网(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)维护和管理的路由表中。路由表是一种可搜索数据结构,其中网络地址被映射到其关联路由信息。然而,本领域技术人员将理解路由表不需要被组织为表,而是也可以是另一类型的可搜索数据结构。尽管中间网络节点的路由表可以被配置具有预定的一组路由信息,但是该节点也可以在其发送和接收数据分组时动态获取(“学习”)网络路由信息。当在中间网络节点处接收到分组时,分组的目的地地址可以用于标识包含与接收的分组相关联的路由信息的路由表条目。分组的路由信息指示分组的下一跳地址等等。多协议标签交换(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日由Vasseur等人提交的题为“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属性。偶尔,头端LSR或节点会具有到其自身的域外部的(即,远程的)特定域(例如区域或级别)中的多个TE-LSP。这些域间TE-LSP可以在单个尾端LSR或远程域的节点处终止,或者可以在同一远程域内的不同尾端节点处终止,这取决于其初始设置。已知的这种域间TE-LSP的限制在于当试图到达包含在尾端节点的域内的节点或前缀时不能自动将流量引导到这种TE-LSP上。该限制主要是由于头端节点可用的有限网络拓扑信息。当前,这种可达性信息的缺乏已经要求使用静态的或基于策略的路由,这通常要求由系统管理员利用网络拓扑的先验知识进行手工配置。这种替换方案可能是麻烦的且应用性有限,并且在某些情况下(例如,误配置情况下)可能是网络故障的起因。
发明内容本发明涉及一种用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点(包括尾端节点或任何中间节点)动态地取得可达性信息的技术。域间信息取得技术例如基于请求/响应交换,从而目标节点所维护的至少一部分可达性(即路由)信息被传播给TE-LSP的头端节点。路由信息可以包括目标节点可到达的地址前缀的列表,但是也可以可选地包括与这些前缀相关联的下一跳和度量属性。在这里所描述的示例性实施例中,请求/响应信令交换被实现为对资源预留协议(RSVP)TE信令消息的扩展。注意,RSVP扩展进而又被实现为新的RSVP对象、标志和/或包含在RSVP对象内的类型/长度/值(TLV)编码格式。此外,依照“拉”或“推”模式实现信令交换。在拉模式中,头端节点可以请求来自一个或多个目标节点的全部或部分路由信息。在推模式中,头端节点最初先向目标节点请求全部或部分路由信息取得,与拉模式中一样。但是,在推模式中,目标节点还被配置为随后向头端节点提供主动更新,其中更新包括对被请求的路由信息的改变。具体地说,信令交换的请求阶段使得头端节点能够请求来自目标节点的路由信息。这里,新的路由信息请求(RI-REQ)对象被包括在头端节点发布的RSVP对象内。RI-REQ对象例如被实现为包含在RSVP路径消息中的TLV并且可以包含与被请求的可达性信息相关的一系列被配置的标志。RI-REQTLV还可以包含从中请求可达性信息的沿着TE-LSP的一个或多个目标节点的列表。另外,新的访问控制列表(ACL)子TLV可以被包括在RI-REQTLV内,限制要被返回的可达性信息的量。ACL子TLV允许头端节点请求部分路由信息,其中部分信息请求由限定路由信息的子集的策略属性来指明。在交换的响应阶段,目标节点接收RI-REQTLV并且返回包含新的RI-ENTRY对象的RSVP预留消息。RI-ENTRY对象被示例性地实现为适合于保存至少包含节点的路由信息的一部分的一个或多个新的子TLV的TLV。这些新的子TLV包括(i)包含可达地址前缀的RI-PREFIX子TLV,(ii)包含与从目标节点到达前缀相关联的成本度量的RI-PREFIX-COST子TLV,以及(iii)包含用于到达前缀的下一跳地址的RI-PREFIX-NH(下一跳)子TLV。每个可达地址前缀可以被包含在单独的RI-ENTRYTLV内。接收到RI-ENTRYTLV之后,头端节点提取所取得的路由信息并利用该信息来计算从目标节点可到达的路由以插入到其路由表中。为此,头端节点包含“影子表”,其至少包含从每个目标节点所返回的RI-ENTRYTLV中获得的路由信息。在计算路由(即地址前缀和关联属性)时,头端节点将影子表的内容与存储在路由表中的路由“合并”,以反映目标节点可到达的地址前缀和关联属性。注意,与这些计算出(合并)的路由相关联的属性包括(i)下一跳接口(例如TE-LSP),(ii)目标节点的下一跳,以及(iii)所计算的路由的成本度量。有利地,新的技术在TE-LSP的头端节点处动态地取得来自沿着所建立的TE-LSP的任一节点的域间可达性信息。通过动态地向头端节点告知沿着跨越多个域的TE-LSP的节点的可达性信息,本发明的技术提供了取代次优路由技术(例如繁重的手工配置(例如静态路由或策略路由))的一种替换方案,其可以避免在这种次优路由技术中产生的某些风险和可能错误。本发明的以上和其他的优点可通过参考下面结合附图的描述得以更好地理解,在附图中相似的标号指示相同或功能类似的元件,附图中图1是可以根据本发明使用的示例性的区域计算机网络的示意性框图;图2是可以结合本发明有利地使用的示例性路由器的示意性框图;图3A是可以结合本发明有利地使用的RSVPPath消息的某些部分的示意性框图;图3B是可以结合本发明有利地使用的RSVPResv消息的某些部分的示意性框图;图4是可以结合本发明有利地使用的RI-REQTLV的格式的示意性框图;图5是可以结合本发明有利地使用的RI-ENTRYTLV的格式的示意性框图;图6是可以结合本发明有利地使用的示例性路由表的示意性框图;图7是示出了根据本发明用于动态地取得来自目标节点的域间可达性信息的一系列步骤的流程图。具体实施例方式图1是示例性计算机网络100的示意性框图,计算机网络100包括分别具有示例性域内路由器A和B的区域A1和A2以及具有示例性域内路由器C、D和E的区域A3。另外,A1和A2共享区域边界路由器ABR1和ABR2,而A2和A3共享ABR3和ABR4。这里所用的区域(area)是彼此共享完全网络拓扑信息但是不一定与区域外部的路由器共享该信息的路由器的集合。区域的集合可以被包含在单个自治系统(AS)内。这里所用的术语区域还包含术语“级别(level)”,该术语对于采用IS-IS作为其内部网关协议(IGP)的网络来说具有类似的含义,在这种情况下区域边界路由器ABR1-4被实现为第1级/第2级(L1L2)路由器。这些示例仅仅是代表性的。这里所用的术语区域和级别可以互换使用,并且ABR、L1L2路由器和(更一般地)边界路由器的使用也可以互换。数据分组可以利用预定义的网络通信协议在区域A1-A3之间交换,这些网络通信协议例如是传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、异步传送模式(ATM)协议、帧中继协议、因特网分组交换(IPX)协议等。路由信息可以利用预定的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、流量工程(TE)模块246、路由服务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在这里通过引用全文结合于此。在一个实施例中,这里描述的路由器是实现多协议标签交换(MPLS)并充当标签交换路由器(LSR)的IP路由器。在一种简单的MPLS场景中,在网络的入口处,在将每个进入分组转发到下一跳路由器之前,基于其转发等价类给每个分组指派一个标签。在每个路由器处,利用在进入分组中找到的标签作为对包括该信息的标签转发表的索引(reference),来确定转发选择和新的替换标签。在网络出口(或在前的一跳)处,基于进入标签进行转发判决,但是可选地当分组被继续发送到下一跳时不包括标签。分组以这种方式穿过网络所采取的路径被称为标签交换路径(LSP)。示例性的TE-LSP在图1中被示为头端节点(A)和尾端节点(C)之间的虚线。TE-LSP的建立需要计算路径,沿路径信令,并修改沿路径的转发表。MPLSTE在某些情况下建立了已经保证带宽的LSP。示例性地,TE-LSP可以通过使用RSVP协议(具体而言是RSVPTE信令消息)来通知。根据RSVP,为了在发送者(例如,头端节点A)和接收者(例如,尾端节点C)之间建立数据流,发送者可以将RSVP路径(Path)消息沿着某一路径(例如,单播路由)向下游逐跳地发送到接收者,以标识发送者并指示例如容纳数据流所需的带宽以及TE-LSP的其他属性。Path消息可以包含关于数据流的各种信息,例如包括数据流的流量特性。图3A是可以结合本发明有利地使用的RSVPPath消息300的某些部分的示意性框图。消息300包含共同头部310、发送者模板对象320、流量规范(Tspec)对象330和LSP-属性对象340。应当注意,消息300可以包含其他对象,包括新的路由信息请求(RI-REQ)对象400(将在下面进一步描述)。为了在接收者和发送者之间建立数据流,接收者可以将RSVP预留(Resv)消息沿该路径向上游返回到发送者以确认TE-LSP的属性,并提供TE-LSP标签。图3B是可以结合本发明有利地使用的RSVPResv消息305的某些部分的示意性框图。消息305包含共同头部315和标签对象325等。应当注意,消息305可包含其他对象,其中包括新的路由信息条目(RI-ENTRY)对象500(下文进一步描述)。还应当注意根据RSVP信令,RSVP的状态被按定时的间隔(例如每三十秒)刷新,其中RSVPPath和Resv消息被交换。该定时间隔可由系统管理员配置。尽管这里描述的示例性实施例涉及MPLS,但是还应当注意,本发明可以有利地应用于通用MPLS(GMPLS),其不仅与基于分组和信元的网络有关,还与时分复用(TDM)和光网络有关。GMPLS是公知的,并且在2004年10月的题为“GeneralizedMulti-ProtocolLabelSwitching(GMPLS)Architecture”的RFC3945和2004年10月的题为“GeneralizedMulti-ProtocolLabelSwitching(GMPLS)ExtensionsforSynchronousOpticalNetwork(SONET)andSynchronousDigitalHierarchy(SDH)Control”的RFC3946中有所描述,这两篇RFC的内容都通过引用整体结合于此。为了计算跨多个域的路径,先前结合的美国专利申请No.10/767,574描述了在分布式路径计算元件(PCE)体系结构中虚拟最短路径树(VSPT)的使用。注意,本领域技术人员将清楚,其他方法也可以用于计算TE-LSP(例如,松散跳、显式路径等),并且这些方法在本发明的范围内。此外,路径计算请求(和响应)可以根据在Vasseur等人的“RSVPPathComputationRequestandReplyMessages”的因特网草案(2004年7月)中指定的协议来实现,该草案通过引用全文结合于此。本发明涉及一种用于从沿着跨越计算机网络中的多个域的TE-LSP的目标节点(包括尾端节点或任何中间节点)动态地取得可达性信息的技术。域间信息取得技术例如基于请求/响应交换,从而目标节点所维护的至少一部分可达性(即路由)信息被传播给TE-LSP的头端节点。路由信息可以包括目标节点可到达的地址前缀的列表,但是也可以可选地包括与这些前缀相关联的下一跳和度量属性。在这里描述的示例性实施例中,TE-LSP是根据已知的显式路径(用户可配置)和/或PCE技术利用RSVPTE信令消息计算和建立的。具体而言,RSVP服务249采用这种信令和技术来计算与所建立的TE-LSP相关联的一个或多个度量(例如成本)。然后,对TE-LSP的索引(标签)以及所计算的度量被存储在这里描述的影子表650中。另外,请求/响应信令交换被实现为对这里所描述的RSVPTE信令消息的扩展。注意,RSVP扩展进而又被实现为新的RSVP对象、标志和/或包含在RSVP对象内的类型/长度/值(TLV)编码格式。TLV编码被用于标识被传输(传送)的信息类型(T)、要被传送的信息长度(L)以及传送的实际信息值(V)。包含在长度字段(例如TLV对象)中的长度(L)参数一般是特定于实现方式的,并且可以表示从对象的类型字段的开头到结尾的长度。然而,长度通常表示值(V)字段的长度而不是类型(T)或长度(L)字段的长度。信令交换的请求阶段使得头端节点(例如头端节点A)能够请求来自目标节点(例如尾端节点C)的路由信息。这里,新的路由信息请求(RI-REQ)TLV被包括在头端节点发布的RSVP对象内。RI-REQTLV例如被包含在RSVP路径消息300中并且可以包含与被请求的可达性信息相关的一系列被配置的标志。RI-REQTLV还可以包含从中请求可达性信息的沿着TE-LSP的一个或多个目标节点的列表。图4是可以结合本发明有利地使用的RI-REQTLV400的格式的示意性框图。RI-REQTLV400包括包含预定的RI-REQTLV类型值的类型字段405和包含可变长度值的长度字段410。值字段415例如包含适合于存储若干个标志的标志字段420,所述若干个标志例如是RIB标志421、访问控制列表(ACL)标志422、拉/推标志423以及RI支持标志424,下面会进一步详细描述。值字段415还包含至少一个目标子对象425,用于指定RI-REQTLV指向沿着TE-LSP的哪个目标节点。目标子对象425例如是在以上的RFC3209中所描述的IPv4子对象。在头端节点请求来自沿着TE-LSP的多个节点的路由信息的情况下,可以使用多个目标子对象425,例如对于每个目标节点有一个目标子对象。如上所述,RI-REQTLV400被包含在RSVP对象内,RSVP对象例如是LSP属性对象。在Farrel等人题为“EncodingofAttributesforMultiprotocolLabelSwitching(MPLS)LabelSwitchedPath(LSP)EstablishmentUsingRSVP-TE”的因特网草案(2004年7月)中对LSP属性对象进行了详细描述,该草案通过引用全文结合于此。RI-REQTLV400的对象类优选地采取“11bbbbbb”的形式,并且本领域技术人员应当理解RI-REQTLV400的对象类被不支持RI-REQTLV的任一中间节点透明地传播。RI-REQTLV400的值字段415还可以包含新的ACL子TLV450,其限制要由目标节点返回的可达性信息的量。ACL子TLV450允许头端节点请求部分路由信息,其中部分信息请求由限定路由信息的子集的策略属性来指明。例如,ACL子TLV450包括类型字段455、长度字段460以及值字段465,值字段包含用于限制从目标节点请求的可达性信息的量的地址前缀的访问控制列表470。例如,头端节点可以将请求限制为例如与特定的MPLSVPN(虚拟专用网络)、存在点(PoP)或基于IP的语音(VoIP)网关相关联的预定的一组回送地址、子网、掩码、前缀等。注意,通过断言ACL标志422来指示在RI-REQTLV400中存在ACL子TLV450。在不存在ACL子TLV的情况下(例如ACL标志未被断言),RI-REQTLV请求来自目标节点的全部可达性信息。根据本发明的一个方面,依照例如通过推/拉标志423的断言来指明的“拉”或“推”模式来实现信令交换。或者,头端节点和/或目标节点可以被手动配置为工作在拉或推模式。在拉模式中,头端节点可以请求来自一个或多个目标节点的全部或部分路由信息。注意,只有在被请求时头端节点才从目标节点接收路由信息。例如,在被请求时,头端节点可以通过断言推/拉标志423(例如变为拉状态)和RIB标志421来从目标节点取得路由信息。如这里所描述的,一旦接收到所请求的路由信息,头端节点就可以去断言(de-assert)RIB标志,直到以后它想要更新路由信息为止。此时,头端节点只需简单地重新断言RIB标志421来再次完整地接收被请求的路由信息。RIB标志的断言和断言可以依照预定的时间安排或者在头端节点处手工配置。在推模式中,头端节点最初先向目标节点请求全部或部分路由信息取得,与以上在拉模式中所描述的一样。但是,在推模式中,目标节点还被配置为随后为头端节点提供主动更新,其中更新包括对被请求的路由信息的改变。这种对路由信息的改变可以包括增加链路或从目标的最短路径树(SPT)中去除链路(例如链路故障)的情形。作为示例,当接收包含去断言的推/拉标志423(例如变为推状态)的RI-REQTLV400时,目标节点为其路由表中的每个前缀条目加上标记(例如利用标志),指示如果条目被覆写(更新),更新则必须被发送给头端节点。然后,目标节点将更新发送给头端节点。或者,目标节点可以被配置为返回所有的路由信息,而不只是改变/更新。这些更新一直持续到标志423被断言为拉状态为止,或者持续到TE-LSP被摧毁(即通过RSVP“pathtear”消息)为止。本领域技术人员应当理解对于某些网络结构每种推/拉模式将具有各种优点。例如,拉模式有利地限制了经网络传送的流量(路由信息),尤其是例如在网络中链路的可用性不断地在可用和不可用之间变化(“翻动”),并且这种翻动提高了路由信息更新频率的情况下。但是,推模式的优点在于为头端节点提供了网络中最新的路由信息。在信令交换的响应阶段,目标节点接收RI-REQTLV400并且返回包含新的RI-ENTRY对象的RSVP预留消息305。RI-ENTRY对象被示例性地实现为适合于保存至少包含节点的路由信息的一部分的一个或多个新的子TLV的TLV。这些新的子TLV包括(i)包含可达地址前缀的RI-PREFIX子TLV,(ii)包含与从目标节点到达前缀相关联的成本度量的RI-PREFIX-COST子TLV,以及(iii)包含用于到达前缀的下一跳地址的RI-PREFIX-NH(下一跳)子TLV。每个可达地址前缀可以被包含在单独的RI-ENTRYTLV内。图5是可以结合本发明有利地使用的RI-ENTRYTLV500的格式的示意性框图。RI-ENTRYTLV500包括包含预定的RI-ENTRYTLV类型值的类型字段505和包含可变长度值的长度字段510。值字段515例如包含适合于存储表示与标志字段420的标志相同的特征的若干个标志的标志字段520。值字段515还包含目标子对象525,用于指定RI-ENTRYTLV从沿着TE-LSP的哪个目标节点被发送。目标子对象525例如是IPv4子对象。在头端节点请求来自沿着TE-LSP的多个节点的路由信息的情况下,每个目标节点发送其自己的RI-ENTRYTLV500。另外,值字段515包含RI-PREFIX子TLV540,RI-PREFIX子TLV540包括类型(545)、长度(550)和值(555)字段。类型字段545包含预定的RI-ENTRY子TLV值,并且长度字段550包含可变长度值。值字段555包含目标节点可到达的地址前缀。如上所述,每个可达前缀优选地包含在不同的RI-ENTRYTLV内;但是,在本发明的范围内可以使用其它实施例,包括在单个RI-ENTRYTLV500内使用多个RI-ENTRY子TLV540。此外,在可达前缀的数目太大以致于不能包含在单个RI-ENTRYTLV内的情况下,可以使用多个RI-ENTRYTLV。此外,值字段515还可以包含RI-PREFIX-COST子TLV560和/或RI-PREFIX-NH(下一跳)子TLV580。这些子TLV中的每一个都具有包含相应的预定子TLV类型值的类型字段(565,585)以及包含可变长度值的长度字段(570,590)。RI-PREFIX-COST子TLV560的值字段575包含目标节点所计算的到达RI-PREFIX子TLV540中所指示的前缀的度量值,而RI-PREFIX-NH子TLV580的值字段595包含去往所述前缀的下一跳地址。接收到RI-ENTRYTLV500之后,头端节点提取所接收的路由信息并且使用该信息计算从目标节点可到达的路由以插入到其路由表600中。为此,头端节点维护“影子表”,其包含从每个目标节点所返回的RI-ENTRYTLV500中获得的路由信息。在计算路由(即地址前缀和相关联的属性)时,头端节点将影子表的内容与存储在路由表中的路由合并,以反映目标节点可到达的地址前缀和相关联的属性。注意,与这些计算出的路由相关联的属性包括(i)下一跳接口(例如TE-LSP),(ii)目标节点的下一跳(回送)地址,以及(iii)所计算的路由的成本度量。图6是可以结合本发明有利地使用的示例性路由表600的示意性框图。路由表600被示例性地存储在存储器240中,并且包括各自包括多个字段的一个或多个条目610,这多个字段用于存储可达目的地地址612、到达该目的地的下一跳接口614和下一跳地址616,以及到达目的地的关联度量(例如成本)。路由表600示例性地由RIB245维护和管理。为此,RIB245维护由路由协议(例如IGP)提供的路由(路径)的拷贝,以计算最佳路径/路由从而安装到路由表600中。例如,假定目的地地址前缀IP1可以从节点A经由节点C到达。另外,将节点A连接到节点C的路径A-C的成本是“6”(例如经由图1的ABR1和ABR3),并且到可达地址IP1的链路C-N的成本是“1”。条目610N的目的地地址字段612包含可达地址IP1,并且下一跳字段614、616被分别填充以例如链路A-ABR1和节点ABR1的回送地址。注意,下一跳节点的回送地址出于很多原因被用作下一跳地址,这些原因包括作为一种避免依赖于该节点的网络接口的可用性的方式。IP1的成本是到可达地址的所有链路的成本,即“7”。影子表650与条目610N的IP1相关联。影子表650例如由TE模块246利用从这里所描述的至少一个新的TLV/子TLV中获得的可达性信息创建并维护,并且影子表650实质上包括与路由表600相同的格式,但是具有经由TE-LSP的目标节点可到达的目的地址前缀。具体地说,影子表650的每个条目660包括用于存储从目标节点可到达的目的前缀662、对目标节点的TE-LSP664的索引、目标节点666的地址以及从头端节点到可达前缀的成本度量668的多个字段。作为示例,成本度量668是节点A和C之间的TE-LSP的成本(例如“4”)加上从节点C到达IP1的成本(“1”),或者说“5”。注意,TE-LSP的成本度量可能大于、小于或等于链路的IP成本度量,并且值“5”和“7”应当被认为是示例。根据本发明,TE模块246与RIB245协作来将影子表条目660N的内容与相应的路由表条目610N合并得到一组可达目的地址。因此,路由表条目610N的关联属性被更新以反映目标节点可到达的属性。例如,路由表600的条目610N被更新,以使得下一跳接口字段614包含来自条目664的TE-LSP索引,下一跳地址字段616包含来自字段666的节点C,并且度量字段618包含来自字段668的经由TE-LSP到达前缀的成本(例如值“5”)。或者,影子表的度量字段668可以是从目标节点到可达前缀的成本度量(例如“1”)。此外,度量668也可以包含TE-LSP的度量值(例如“4”),例如当从尾端节点到可达前缀的可达性成本不可用时。因而,更新后的路由表600包含可以从TE-LSP到达的前缀,从而流量可以沿TE-LSP被路由到这些前缀。注意,头端节点动态地计算这些路由,例如当接收到更新后的路由信息时,如上所述。另外,在本发明的一方面中,更新后的路由信息触发部分路由计算(PRC)(例如在ISIS的情况下),而不是全SPF。在TE-LSP变得不可用的情况下(例如,被手工去除或TE-LSP发生故障),来自影子表650的合并前缀和关联属性被从路由表600中去除。在本发明的一方面中,前缀是在TE-LSP还未被恢复之后、预定定时器期满之前被去除的。另外,在本发明的另一方面中,在将前缀重新关联到恢复后的TE-LSP之前,可以有利地使用等待恢复(WTR)定时器,以避免在资源紧张的情况下发生多个流量中断。图7是示出了根据本发明用于动态地取得来自目标节点的域间可达性信息的一系列步骤的流程图。序列700开始于步骤705,并且继续到步骤707,其中例如使用显式路径(用户可配置的)、松散跳路由或PCE技术来创建TE-LSP。在步骤710中,头端节点(A)生成并向TE-LSP上的目标节点(C)发送路由信息请求。路由信息请求被实现为包含具有被断言的RI支持标志424的RI-REQTLV400的RSVPPath消息300。新的RI支持标志424向头端节点指定RI-REQTLV是否被支持。在步骤715中,在RI-REQTLV的目标子对象425中指定的目标节点接收并处理请求。如果在步骤717中,接收目标节点不支持路由信息请求,那么在步骤718中目标节点或者忽略该请求,或者可以利用去断言的RI支持标志424返回该请求以告知头端节点该请求将不被处理。但是如果支持路由信息请求,那么在步骤720中,目标节点确定请求是否包含ACL470,如上所述。如果没有发现ACL,则在步骤725中,目标节点经由包含在RSVPResv消息内的RI-ENTRYTLV500返回所有的路由信息。在ACL被包含在请求内的情况下,在步骤730中,目标节点只返回ACL指定的部分路由信息。在步骤735中,如上所述,目标节点通过检查RI-REQTLV400中的推/拉标志423的状态来确定头端是否请求主动更新(“推”模式)。如果是,则在步骤740中,每当路由信息改变时目标节点就发送更新后的路由信息消息。否则,如果头端节点不请求来自目标的主动更新(“拉”模式),那么目标节点就只是等待另一路由信息请求,并且在步骤745中序列结束。有利地,新的技术在TE-LSP的头端节点处动态地取得来自沿着所建立的TE-LSP的任一节点的域间可达性信息。通过动态地向头端节点告知沿着跨越多个域的TE-LSP的节点的可达性信息,本发明的技术提供了取代次优路由技术(例如繁重的手工配置(例如静态路由或策略路由))的一种替换方案,其可以避免在这种次优路由技术中产生的某些风险和可能错误。虽然示出和描述了在TE-LSP的头端节点处动态地取得来自沿着所建立的TE-LSP的任一节点的域间可达性信息的示例性实施例,但是应当理解在本发明的精神和范围内可以进行各种其它调整和修改。例如,在适用的情况下(例如BGP和这里的RSVP技术不冲突的情况下),本发明也可以结合AS很好地使用。或者,通过对这里所描述的教导的修改和/或额外的处理,本领域技术人员应当理解本发明可以适合于结合AS使用。前述描述涉及本发明的特定实施例。然而,应当清楚,可以对所描述的实施例进行其他变化和修改,且获得它的某些或全部优点。例如,明确地设想本发明的教导可以实现为软件(包括具有在计算机上执行的程序指令的计算机可读介质)、硬件、固件或其组合。因此,该描述只能被认为是示例性的,而不是以任何方式限制本发明的范围。因此,所附权利要求的目的是覆盖在本发明的真实精神和范围内的所有这些变化和修改。权利要求1.一种方法,用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点动态地取得可达性信息,所述方法包括在所述TE-LSP的头端节点处请求来自所述目标节点的可达性信息;将被请求的信息从所述目标节点返回到所述头端节点;在所述头端节点处,利用所述被请求的信息计算从所述目标节点可到达的路由;以及将计算出的路由插入到所述头端节点的路由表中。2.如权利要求1所述的方法,还包括经由请求/响应信令交换来请求所述可达性信息。3.如权利要求2所述的方法,还包括在所述信令交换的请求阶段期间,将路由信息请求(RI-REQ)数据结构从所述头端节点发布到所述目标节点。4.如权利要求2所述的方法,还包括在所述信令交换的响应阶段期间,将路由信息条目(RI-ENTRY)数据结构从所述目标节点返回到所述头端节点。5.如权利要求2所述的方法,其中所述请求/响应信令交换被实现为对资源预留协议(RSVP)TE信令消息的扩展。6.如权利要求4所述的方法,还包括在RI-ENTRY数据结构内返回路由信息前缀(RI-PREFIX)数据结构,其中所述RI-PREFIX数据结构包含所述目标节点可到达的地址前缀。7.如权利要求6所述的方法,还包括在所述RI-ENTRY数据结构内返回路由信息前缀成本(RI-PREFIX-COST)和路由信息前缀下一跳(RI-PREFIX-NH)数据结构,其中所述RI-PREFIX-COST数据结构包含与从所述目标节点到达所述地址前缀相关联的成本度量并且所述RI-PREFIX-NH数据结构包含用于到达所述前缀的下一跳地址。8.如权利要求1所述的方法,还包括在计算路由之前将所返回的被请求信息存储在所述头端节点处的影子路由表中。9.如权利要求1所述的方法,其中所述TE-LSP跨越多个区域。10.一种系统,用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的节点动态地取得可达性信息,所述系统包括所述TE-LSP的头端节点,其被配置为请求来自所述目标节点的可达性信息;目标节点,其被配置为将被请求的信息返回到所述头端节点;在所述头端节点中执行的路由信息库,其被配置为利用所述被请求的信息计算从所述目标节点可到达的路由;以及所述头端节点的路由表,其被配置为存储计算出的路由。11.如权利要求10所述的系统,还包括从所述头端节点发布到所述目标节点以请求所述可达性信息的路由信息请求(RI-REQ)数据结构。12.如权利要求10所述的系统,还包括从所述目标节点返回到所述头端节点以返回所述可达性信息的路由信息条目(RI-ENTRY)数据结构。13.如权利要求10所述的系统,还包括在RI-ENTRY数据结构内返回的路由信息前缀(RI-PREFIX)数据结构,其中所述RI-PREFIX数据结构包含所述目标节点可到达的地址前缀。14.如权利要求13所述的系统,还包括在所述RI-ENTRY数据结构内返回的路由信息前缀成本(RI-PREFIX-COST)数据结构,其中所述RI-PREFIX-COST数据结构包含与从所述目标节点到达所述地址前缀相关联的成本度量;以及在所述RI-ENTRY数据结构内返回的路由信息前缀下一跳(RI-PREFIX-NH)数据结构,其中所述RI-PREFIX-NH数据结构包含用于到达所述前缀的下一跳地址。15.如权利要求10所述的系统,还包括在所述头端节点处的影子路由表,其用于在计算路由之前存储所返回的被请求信息。16.一种设备,用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点动态地取得可达性信息,所述设备包括用于在所述TE-LSP的头端节点处请求来自所述目标节点的可达性信息的装置;用于将被请求的信息从所述目标节点返回到所述头端节点的装置;用于在所述头端节点处利用所述被请求的信息计算从所述目标节点可到达的路由的装置;以及用于将计算出的路由插入到所述头端节点的路由表中的装置。17.一种包含可执行程序指令的计算机可读介质,所述可执行程序指令用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点动态地取得可达性信息,所述可执行程序指令包括用于执行以下操作的程序指令在所述TE-LSP的头端节点处请求来自所述目标节点的可达性信息;将被请求的信息从所述目标节点返回到所述头端节点;在所述头端节点处,利用所述被请求的信息计算从所述目标节点可到达的路由;以及将计算出的路由插入到所述头端节点的路由表中。18.一种路由信息请求(RI-REQ)数据结构,用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点动态地取得可达性信息,所述数据结构包括一个或多个标志,所述一个或多个标志中的一个指示路由信息被请求;一个或多个目标对象,指示所述请求所指向的一个或多个目标节点;以及访问控制列表(ACL),用于指示所述请求所指向的一个或多个前缀。19.一种路由信息条目(RI-ENTRY)数据结构,用于从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点动态地返回可达性信息,所述数据结构包括目标对象,指示所述返回源自哪个目标节点;以及从由下列各项构成的组中选择的一个或多个对象的一个或多个集合(i)包含所述目标节点可到达的地址前缀的路由信息前缀(RI-PREFIX)数据结构;(ii)包含与从所述目标节点到达所述地址前缀相关联的成本度量的路由信息前缀成本(RI-PREFIX-COST)数据结构;以及(iii)包含用于到达所述前缀的下一跳地址的路由信息前缀下一跳(RI-PREFIX-NH)数据结构。全文摘要一种技术从沿着跨越计算机网络中的多个域的流量工程(TE)标签交换路径(LSP)的目标节点(包括尾端节点或任何中间节点)动态地取得可达性信息。域间信息取得技术例如基于请求/响应交换,从而目标节点所维护的至少一部分可达性(即路由)信息被传播给TE-LSP的头端节点。路由信息可以包括目标节点可到达的地址前缀的列表,但是也可以可选地包括与这些前缀相关联的下一跳和度量属性。头端节点使用所取得的路由信息来计算从目标节点可到达的路由以插入到其路由表中。文档编号G06F15/16GK101036134SQ200580034137公开日2007年9月12日申请日期2005年11月17日优先权日2004年12月1日发明者让-菲利普·瓦瑟尔,斯特凡诺·B·普雷维蒂申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1