用于使用路径密钥从路径计算元件中取回计算出的路径的系统和方法

文档序号:6656817阅读:125来源:国知局
专利名称:用于使用路径密钥从路径计算元件中取回计算出的路径的系统和方法
技术领域
本发明涉及计算机网络,更具体而言,涉及取回利用计算机网络的路径计算元件计算出的路径。
背景技术
计算机网络是通过用于在最终节点(例如个人计算机和工作站)之间传输数据的通信链路和网段互连的节点的地理分布式集合。可获得很多类型的网络,其类型从局域网(LAN)到广域网(WAN)都可能。LAN通常通过位于同一总的物理位置(例如建筑物或校园)上的专用私有通信链路来连接节点。另一方面,WAN通常通过长距离的通信链路来连接地理上分散的节点,所述长距离的通信链路例如是常见的载波电话线路、光路径、同步光网络(SONET)或同步数字分级(SDH)链路。因特网是WAN的一个示例,其连接遍及世界各地的不同的网络,从而提供各种网络上的节点之间的全球通信。节点通常通过根据预定协议(例如传输控制协议/因特网协议(TCP/IP))交换离散的数据帧或分组来通过网络通信。在此上下文中,协议由定义节点如何彼此交互的一组规则构成。
计算机网络可以通过中间节点(例如路由器)进一步互连,从而扩展每个网络的有效“尺寸”。由于可以证实对互连的计算机网络的大系统的管理很麻烦,因此可以维护计算机网络的较小群组,作为路由域或自治系统。一个自治系统(AS)内的网络通常通过传统的“域内”路由器耦合在一起,所述“域内”路由器被配置用于执行域内路由协议并且一般受制于一个公共机构。为了提高路由可扩展性,服务提供商(例如ISP)可以将AS划分成多个“区域(area)”。但是,可能希望增大能够交换数据的节点的数目;在此情况下,使用执行域间路由协议的域间路由器来互连各种AS的节点。还可能希望互连在不同管理域中操作的各种AS。这里使用的连接不同区域或AS的路由器一般被称为边界路由器。在针对区域而非AS的情况下,由于路由器受制于一个公共机构,因此单个路由器实际上可以充当一个区域的出口边界路由器和另一区域的入口边界路由器。
域间路由协议的示例是边界网关协议版本4(BGP),其通过在系统的相邻域间路由器之间交换路由和可达性信息来在AS之间执行路由。邻接性(adjacency)是出于交换路由信息消息和提取网络拓扑的目的而在所选相邻(对等)路由器之间形成的关系。BGP一般基于可靠的传输协议(例如传输控制协议(TCP))工作,以建立TCP连接/会话。BGP协议是公知的,并且在1995年3月公布的题为“A Border Gateway Protocol 4(BGP-4)”的请求注释(RFC)1771中对其有大体的描述,据此通过引用将该RFC 1771结合于此。
域内路由协议或内部网关协议(IGP)的示例是开放最短路径优先(OSPF)路由协议和中间系统-中间系统(ISIS)路由协议。OSPF和ISIS协议都基于链路状态技术,因此统称为链路状态路由协议。链路状态协议定义了路由信息和网络拓扑信息在AS或区域内被交换或处理的方式。该信息一般针对域内路由器的本地状态(例如路由器的可用接口和可达的邻居或邻接性)。OSPF协议在1998年4月的题为“OSPF Version 2”的RFC 2328中有所描述,而ISIS协议在1990年12月的题为“Use of OSIISIS for routing in TCP/IP and Dual Environments”的RFC 1195中有所描述,据此通过引用将这两个RFC结合于此。
多协议标签交换(MPLS)流量工程已被开发,以满足数据联网需求,例如有保障的可用带宽或快速恢复。MPLS流量工程利用了现代标签交换技术,以通过标签交换路由器(LSR)的IP/MPLS网络建立带宽有保障的端对端隧道。这些隧道是一种标签交换路径(LSP)并因此一般被称为MPLS流量工程(TE)LSP。MPLS TE的示例可以在2001年12月的题为“RSVP-TEExtensions to RSVP for LSP Tunnels”的RFC 3209,2004年6月的题为“Intermediate-System-to-Intermediate-System(IS-IS)Extensionsfor Traffic Engineering(TE)”的RFC 3784以及2003年9月的题为“TrafficEngineering(TE)Extensions to OSPF Version 2”的RFC 3630中找到,据此通过引用将这些文档的全部内容整体上结合于此。
从头端LSR到尾端LSR的MPLS TE LSP的建立涉及通过LSR的网络的路径的计算。最理想情况下,计算出的路径是以某种量度度量的满足所有相关LSP流量工程限制的“最短”路径,所述LSP流量工程限制例如是所需带宽、每条链路的备份绕道隧道和路径中包括的节点的可用性等等。路径计算可以由头端LSR执行,也可以由作为路径计算元件(PCE)工作的某个其他实体执行。头端LSR(或PCE)利用其关于网络拓扑和每条链路上的可用资源的知识来根据LSP流量工程限制执行路径计算。可获得各种路径计算方法,包括CSPF(受限的最短路径优先)。MPLS TE LSP可被配置在单个IGP区域内,也可以跨越多个IGP区域或AS。
PCE是有能力计算其在AS或区域中知道的任何节点之间的路径的实体。PCE之所以特别有用是因为它们更加了解它们的AS或区域内的网络流量和路径选择,因此可被用于更好的路径计算。头端LSR还可能作为路径计算客户端(PCC)工作,该PCC被配置用于向PCE发送路径计算请求并接收带有计算出的路径的响应,该响应可能考虑到了来自其他PCC的其他请求。重要的是要注意,当一个PCE向另一PCE发送请求时,它充当PCC。PCE传统上对其周围区域或AS外部具有有限的可见性或不具有可见性。PCC可以通过管理员的预配置或利用PCE发现(PCED)消息(“通告”)而得知PCE的存在,所述PCED消息是从PCE在其区域内或穿过整个AS发送的,用于通告其服务。
穿越AS边界时出现的一个困难在于头端LSR处的路径计算需要头端和尾端LSR之间整个网络上的资源和网络拓扑的知识。然而,在穿越AS边界时,服务提供商通常不彼此共享该信息。头端LSR和任何单个PCE都不具有足够知识来计算路径。鉴于此,为计算域间TE LSP,需要MPLS流量工程路径计算技术。在计算穿越区域的MPLS流量工程LSP的路径时会出现类似问题。网络拓扑和资源信息一般不流过区域边界,即使单个服务提供商可以操作所有区域也是如此。
PCE的使用已经适合于创建分布式PCE体系结构,以便扩展MPLSTE LSP穿过AS或区域边界。这种分布式体系结构的示例在2003年9月18日由Vasseur等人递交的题为“COMPUTING INTER-AUTONOMOUSSYSTEM MPLS TRAFFIC ENGINEERING LSP PATHS”的共同拥有、共同未决的美国专利申请No.10/767,574中有所描述,据此通过引用将该专利申请的内容整体上结合于此。在分布式的PCE体系结构中,计算路径所需的可见性被扩展到相邻区域和AS之间,从而使得多个PCE能够通过在保持AS之间的机密性的同时交换虚拟最短路径树(VSPT)来协作计算穿越多个区域或AS的路径。VSPT可被表示为由“宽松跳(loose hop)”构成的虚拟链路,它之所以被使用是因为服务提供商可能希望使它们内部的网络体系结构和设计保持机密。一种计算VSPT的方法是使用虚拟最短路径树(VSPT)算法。一般而言,VSPT是一种压缩路径描述(区域/AS的入口和出口/目的地点),其通知前一PCE,可以以某种对相邻区域或AS保密内部路径细节的方式从一个特定入口到一个特定出口,从而到达目的地。构成VSPT的虚拟链路一般具有针对每个计算出的链路的相关网络成本。应该注意,在工作在一个公共机构(例如唯一的服务提供商)下的多个AS的上下文中,这样的虚拟链路还可以指定完整路径。一组虚拟链路可被进一步组织(按某些协议)在一个显式路由对象(ERO)内,以辅助压缩路径描述到前一PCE的传输。
某些应用可以并入单向数据流,这些单向数据流被配置用于根据某种“服务质量”(QoS)从计算机网络中的源(发送者)向网络中的目的地(接收者)传输对时间敏感的流量。这里,可以为该单向流预留网络资源,以确保与数据流相关联的QoS被维持。资源预留协议(RSVP)是一种使得应用能够预留资源以便为其数据流获得特殊的QoS的网络控制协议。RSVP与路由协议协同工作,以例如为计算机网络中的数据流预留资源,以便建立该数据流所需的QoS级别。RSVP在R.Braden等人的题为“Resource ReSerVation Protocol(RSVP)”的RFC 2205中定义。在流量工程应用的情况下,RSVP信令被用于沿着遵循所需限制集合的TE LSP向路由器(例如边界路由器)传递各种TE LSP属性,例如ERO。
由于区域间或AS间TE LSP可能已经利用合作的PCE集合被计算出,因此计算出的路径可能被头端LSR已知为一组宽松跳。因此,这样的路径将被头端LSR利用由宽松跳构成的ERO来以信号方式通知。但是,当利用ERO中的宽松跳时,来自区域或AS内的PCE的计算出的路径可能是,也可能不是,所使用的实际路径,这是因为所穿过的宽松跳可能不具有关于该计算出的路径的知识,因此可能计算出与PCE先前计算出的路径不同的路径。实际上,由于宽松跳只标记了区域或AS的入口和出口,因此接收该宽松跳的边界路由器(入口)一般必须根据传统的ERO扩展技术并使用其自己的网络知识来重新计算到出口的路径段。即使在入口是最初计算该路径的PCE的情况下,PCE一般也是无状态的,这意味着一旦其计算出路径段并向PCC发送了响应,该路径就不再存储在存储器中,因此它也必须重新计算该路径。这样的重计算消耗了边界路由器的资源,并且在某些情况下,可能不提供所允诺的路径成本(例如当边界路由器计算出到达出口的另一条不同的路径段时)。另外,对路径的重新计算引入了延迟或等待时间,这可能不利地影响对时间敏感的流量工程应用,例如TE LSP建立时间。
网络中的节点(例如源和目的地)之间的多样路径(diverse path)提供了多种益处,包括在节点或链路故障情况下的冗余性(由于单个故障不可能同时影响多样路径)以及在尝试限制故障对流量的某部分的影响时流量的负载平衡。因此,PCE通常可能被请求计算多样路径;但是,响应于这样的请求,不能保证重新计算的路径会保持多样性。例如,如果一个区域的两个入口边界路由器独立地接收到带有到出口的宽松跳的路径预留请求,它们则将无法知晓彼此,并无法知晓多样性需求。鉴于此,当重新计算路径段时,两个边界路由器可能沿途利用同样的内部网络设备到达宽松跳的不同出口边界路由器,从而丢失了所请求的多样性。
因此,存在对用于取回PCE已经计算出的特定区域内或AS内路径的系统和方法的需求。

发明内容
本发明针对一种用于根据有状态(或“半状态”)路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的技术。该有状态PCE模型包括被配置用于存储响应于路径计算客户端(PCC)发布的路径计算请求而由PCE计算出的一个或多个路径段的数据结构。注意,存储在数据结构中的每个计算出的路径段由一个相关联的路径密钥值(“路径密钥”)标识。数据结构的路径段和路径密钥内容在网络中的预定位置处被临时保存(“缓存”)一段可配置的时间。
在示例性实施例中,该数据结构被具体化为存储在网络的域内的一个或多个PCE处的计算出的路径段表。该路径段表包括多个条目,其中每个条目包含计算出的路径段字段以及相关联的路径密钥字段。响应于路径计算请求,PCE计算路径段并生成路径密钥。计算出的段和生成的密钥随后分别被缓存在表中条目的计算出的路径段和路径密钥字段中。此后,PCE将路径计算响应返回到PCC,该路径计算响应包括路径密钥和包含计算出的路径段的压缩路径描述的计算出的路径。
在接收到响应之后,PCC生成路径预留消息,该路径预留消息将沿着由ERO描述的路径被传送到某些接收节点,例如边界路由器。路径预留消息例如是资源预留协议(RSVP)路径消息,其包括包含一个或多个密钥标识符(ID)子对象的新颖路径密钥对象。根据本发明的一个方面,每个密钥ID子对象包含缓存了ERO的计算出的路径段及其相关联的路径密钥的PCE(“标识的PCE”)的ID。
接收方边界路由器扫描路径预留消息以搜索路径密钥对象。响应于定位到该对象,路由器提取PCE ID和路径密钥,并生成包含该提取出的信息的路径计算请求以发送到标识的PCE。标识的PCE接收该请求,并例如通过使路径密钥字段的内容与提取出的密钥匹配来索引路径段表。存储在匹配的条目中的计算出的路径段随后经由路径计算回复被返回到路由器。
有利的是,这里描述的技术使得能够高效地计算穿过网络的多个域的路径,例如域间流量工程(TE)标签交换路径(LSP)和/或多样路径。具体而言,本发明的技术消除了针对一个或多个PCE先前计算出的域内段执行由ERO的压缩路径描述指定的一个或多个附加路径计算的需求。本发明还提供了一组最优的(最短)路径段,同时保持多个域之间的机密性,并允许保持计算出的路径的多样性。


通过结合附图参考以下描述,可以更好地理解本发明的以上和其他优点,附图中类似标号指示相同或功能上类似的元件图1A是可以根据本发明使用的自治系统的示例性计算机网络的示意性框图;图1B是可以根据本发明使用的区域的示例性计算机网络的示意性框图;图2是可被有利地与本发明一起使用的示例性路由器的示意性框图;图3是可被有利地与本发明一起使用的RSVP路径消息300的一些部分的示意性功能框图;图4是可被有利地与本发明一起使用的图1A的计算机网络的详细示意性框图;图5是根据本发明可被具体化为计算出的路径段表的数据结构的示意性框图;图6是示出可被有利地与本发明一起使用的路径密钥对象的格式的示意性框图;图7是示出根据本发明用于建立针对一条(或多条)隧道计算出的路径的步骤序列的流程图;以及图8是示出根据本发明用于利用计算出的路径建立到目的地的路径(隧道)的步骤序列的流程图。
具体实施例方式
图1A是包括自治系统AS2的示例性计算机网络100a的示意性框图,其中自治系统AS2与多个其他自治系统AS1、AS3和AS4互连。自治系统(AS)在这里被定义为网络内的一组中间节点(例如域内路由器),它们受制于同一机构并执行一个或多个域内路由协议。虽然每个AS被示为自治系统,但本领域技术人员将意识到,AS也可被配置为路由域或其他网络或子网。自治系统AS1包括诸如边界路由器ASBR1*和ASBR2*之类的域内路由器,通过这些边界路由器,通信(例如数据分组)可进入该自治系统和离开该自治系统到AS2的边界路由器ASBR3和ASBR4。AS2还包括边界路由器ASBR5*和ASBR6*,它们分别与AS3和AS4的边界路由器ASBR7*和ASBR8*通信。此外,在AS1、AS2、AS3和AS4内,分别存在示例性的域内路由器A、B、C和D。本领域技术人员将会理解,在AS中可以使用任何数目的路由器,并且这里的视图是出于简化目的而示出的。
数据分组可以利用预定的网络通信协议在自治系统AS1-AS4之间交换,所述网络通信协议例如是传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、异步传输模式(ATM)协议、帧中继协议、因特网分组交换(IPX)协议等等。路由信息可以通过使用链路状态通告(LSA)或链路状态分组而利用预定的“内部”网关协议(IGP)在AS内的路由器间被分发,所述IGP例如是传统的距离向量协议或链路状态协议。另外,包含网络路由信息的数据分组可以利用“外部”网关协议在自治系统AS1-AS4间被交换,所述“外部”网关协议例如是边界网关协议(BGP)。
图1B是包括区域A1、A2和A3的示例性计算机网络100b的示意性框图,其中每个区域分别具有至少一个域内路由器A、B和C。另外,A1和A2共享边界路由器ABR1*和ABR2*,而A2和A3共享ABR3*和ABR4。这里使用的区域是彼此间共享全部网络拓扑信息但不一定与区域外的路由器共享全部网络拓扑信息的路由器的集合。这里使用的术语“区域”还涵盖了术语“级别(level)”,其对于采用IS-IS作为IGP的网络而言具有类似的意义。这些示例都仅仅是代表性的。此外,下面参考AS间路径计算所描述的技术可以在区域间路径计算的上下文中使用,并且在某些情况下,参考区域间路径计算描述的技术可被用于AS间路径计算。本领域技术人员将意识到,在提及自治系统之处都同样可以使用区域。
图2是可作为域内路由器或边界路由器而有利地与本发明一起使用的示例性路由器200的示意性框图。该路由器包括通过系统总线250互连的多个网络接口210、处理器220和存储器240。网络接口210包含用于通过耦合到网络100a、b的物理链路传输数据的机械、电气和信令电路。网络接口可被配置为利用各种不同的通信协议发送和/或接收数据,所述通信协议包括TCP/IP、UDP、ATM、同步光网络(SONET)、无线协议、帧中继、以太网、光纤分布数据接口(FDDI)等等。
存储器240包括多个处理器220和网络接口210可寻址的存储位置,用于存储与本发明相关联的软件程序和数据结构。处理器220可以包括适合于执行软件程序和操纵数据结构(例如表500)的必需的元件或逻辑。路由器操作系统242通过调用支持诸如在路由器上执行的PCC/PCE进程245、路由服务247和RSVP服务249之类的软件进程和/或服务的网络操作等方式来在功能上组织路由器,其中所述路由器操作系统242的某些部分通常位于存储器240中并由处理器执行。本领域技术人员将意识到,可以使用其它处理器和存储器装置(包括各种计算机可读介质)来存储和执行与这里描述的发明技术相关的程序指令。
路由服务247包含由处理器220执行以执行由一个或多个路由协议(例如OSPF和IS-IS)提供的功能的可执行指令。这些功能可被配置用于管理转发信息数据库(未示出),该数据库例如包含用于执行转发判决的数据。RSVP服务249包含根据本发明用于实现RSVP和处理RSVP消息的计算机可执行指令。RSVP在1997年9月R.Braden等人的题为“Resource ReSerVation Protocol(RSVP)”的请求注释(RFC)2205和题为“RSVP-TEExtensions to RSVP for LSP Tunnels”的RFC 3209中有所描述,其中RFC 2205可以从IETF获得并通过引用被结合于此,就好像在这里被完整提出一样,RFC 3209在前文中已经并入。
在一个实施例中,这里描述的路由器是实现多协议标签交换(MPLS)并作为标签交换路由器(LSR)工作的IP路由器。在一种简单的MPLS情形中,在网络的入口处,基于分组的转发等价类向每个传入的分组分配标签,然后再将分组转发到下一跳路由器。在每个路由器处,通过使用在传入分组中找到的标签作为参考查阅包括该信息的标签转发表来确定转发选择和新的替换标签。在网络出口处(或其前一跳),基于传入的标签来执行转发判决,但是可选地,当分组被发送到下一跳时,没有包括标签。
以这种方式穿越网络的分组所采取的路径被称为标签交换路径(LSP)。LSP的建立需要路径的计算、沿该路径发送信令,以及沿该路径修改转发表。MPLS流量工程建立了在某些情况下具有有保障的带宽的LSP。例如,可以通过使用RSVP协议来以信号方式通知TE LSP。
根据RSVP,为了建立发送者和接收者之间的数据流,发送者可以沿着到接收者的路径(例如单播路由)向下游逐跳发送RSVP路径(Path)消息,以标识发送者并指示例如容纳数据流所需的带宽以及TE LSP的其他属性。路径消息可以包含各种关于数据流的信息,例如包括数据流的流量特性。图3是可被有利地与本发明一起使用的RSVP路径消息300的某些部分的示意性框图。消息300包含公共头部310、发送者模板对象320、流量规范(Tspec)对象330、显式路由对象(ERO)340等等。应该注意,消息300可以包含其他对象,包括新颖的路径密钥对象600(下面将描述)。
虽然这里描述的示例性实施例针对MPLS,但是应该注意,本发明可以有利地应用到广义MPLS(GMPLS),其不仅适合基于分组和信元的网络,还适合时分复用(TDM)和光网络。GMPLS是公知的,并且在2004年10月的题为“Generalized Multi-Protocol Label Switching(GMPLS)Architecture”的RFC 3945以及题为“Generalized Multi-Protocol LabelSwitching(GMPLS)Extensions for Synchronous Optical Network(SONET)and Synchronous Digital Hierarchy(SDH)Control”的RFC 3946中有所描述,这两个RFC的内容通过引用被整体上结合于此。
为了计算穿过多个区域或AS的路径,以上引用的美国申请No.10/767,574描述了在分布式路径计算元件(PCE)体系结构中使用虚拟最短路径树(VSPT)算法,该申请已被通过引用结合于此。根据VSPT算法,对于AS间路径计算示例(例如图1A中),PCC(路由器A)首先向其AS中的已知本地PCE(例如ASBR1*)发送路径计算请求,以计算到诸如AS3中的路由器C之类的目的地(例如尾端LSR)的路径。作为示例,图1A和1B中标记了“*”的边界路由器是能够实现PCE的边界路由器。本地PCE的地址可以手工配置。或者,PCE可以通过在AS内泛播(flooding)来通告其自身。根据2004年7月公布的Vasseur等人的“OSPF MPLS Traffic Engineering Capabilities(draft-vasseur-ospf-te-caps.txt)”,路径计算元件发现(PCED)技术可被使用,该文档通过引用被结合于此。PCED消息可以包括PCE能力的指示,PCE能力例如是计算本地路径、区域间路径、AS间路径、多域路径、多样性路径等等的能力。
路径计算请求(和响应)可以根据2004年7月Vasseur等人在因特网草案“RSVP Path Computation Request and Reply Messages”中指定的协议来执行,该草案通过引用被结合于此,就好像在这里被完整提出一样。随后路径计算请求被传递到在到达目的地途中的每个AS(AS1、AS2、AS3)中的PCE。如本领域技术人员容易设计出的,关于其他PCE地址的知识可以通过静态配置或BGP通告来获取。应该理解,RSVP的使用仅作为示例,根据本发明,可以使用其他通信协议。
一旦路径计算请求到达,包含目的地(路由器C)的最终AS(AS3)中的PCE(ASBR7*)就计算VSPT,该VSPT是以目的地为根并且包括从该目的地到区域的每个边界路由器的满足一组所需限制的最短路径的集合的最短路径树。这可以利用本领域已知的CSPF(受限最短路径优先)算法或任何其他合适的算法来计算。最终区域的PCE随后利用虚拟链路(或“宽松跳”)将VSPT发送到前一AS(AS2)的PCE(ASBR5*)。可选地,VSPT以使得AS内部的跳和它们的成本保持机密的方式使用宽松跳。宽松跳可以具有单个相关成本,该相关成本是内部成本的组合或代表。如果找到多个相等成本的路径,PCE则可以将它们中的某些或全部提供给发出请求的PCC。其他情况下,PCE可能返回多于一条路径,例如当PCC请求计算多样路径时。这些多样路径可能具有或不具有相等的成本。
前一AS中的PCE(ASBR5*)现在重复VSPT算法,并将其接收自最终PCE(ASBR7*)的VSPT与其自己的AS(AS2)的拓扑(包括AS间链路)连接起来以计算新路径。该过程在所有AS中重复,直到响应到达发端PCC(路由器A)为止。出于这个原因,VSPT算法被称为“递归式后向路径计算”。
当上述过程在发端PCC处完成时,响应中的路径由沿该路径到目的地的一系列跳组成。注意,只要在网络将被保持机密的情况下,跳就可以是宽松的。在此情况下,计算出的完整路径可被认为是通过AS的基本路径,该基本路径只包含每个机密AS的入口和出口点。以下是这种计算出的路径的内容的示例,也称之为ERO(例如ERO 340)“ASBR1*,ASBR3,ASBR5*(L),ASBR7*,路由器C(L)”,其中“(L)”指宽松跳。然后,PCC可以通过在计算出的路径上(在ERO中)向其区域或AS的出口边界路由器转发RSVP路径消息300来建立到目的地的隧道(例如LSP)。应该理解,在区域体系结构中,出口边界路由器是下一区域的入口边界路由器。该下一边界路由器随后计算到ERO 340中的下一宽松跳所指定的下一出口边界的特定路径。该出口边界路由器随后根据ERO重复该过程,直到再次到达目的地为止,并且根据本领域已知的方法隧道被创建。
图4是网络100a的AS1和AS2的更详细示意性框图,其中示出根据上述方法计算出的路由器A和路由器B之间的两条多样路径(虚线)。通常,这出现在PCC(路由器A)请求得出它和目的地(路由器B)之间的任何数目的多样路径的路径计算时。多样路径是本领域技术人员已知的并且提供了各种益处。一个这样的益处在于到目的地的路径的冗余性,从而使得如果一个节点或链路以某种方式发生故障,备份路径已经被建立,并且流量几乎可以立即被传输到该路径。另一益处是对沿路径流动的流量进行负载平衡。例如,具有10MB/sec数据流的PCC可能希望沿一条路径分发5MB/sec,而沿另一路径分发5MB/sec。如果沿路径之一的任何节点或链路发生故障,则这可能限制丢失数据的量,和/或要重定向的流量的量。本领域技术人员应该理解路径多样性的其他益处。除了其网络知识之外,PCE可以计算多样路径,因为它在计算路径的同时知晓其正在计算的所有路径,因此它可以确保不使用冲突的节点或链路。重要的是要注意,PCC可能希望计算符合链路多样性(不共享同一链路)、节点多样性(不共享同一节点)或共享危险链路组(SRLG)多样性(不共享同一SRLG)的路径。
在图4中,根据这里描述的方法,将在路由器A和路由器B之间建立两条示例路径。第一路径开始于AS1中,并将继续通过节点n1和n2到达ASBR1*。从ASBR1*,路径通过继续到ASBR3而行进到AS2,并通过首先经过节点n3、n4和n5而继续到目的地路由器B。路由器A和路由器B之间的第二路径也开始于路由器A,但已被计算为通过节点m1和m2到达不同的边界路由器ASBR2*。从ASBR2*,路径通过ASBR4继续到AS2,然后继续通过节点m3和m4到达路由器B。应该注意,从m3到n5到B的虚线是在给定到目的地路由器B的宽松跳的情况下,根据现有技术的方法ASBR4可能重新计算出的路径的示例。在此情况下,可以看出新计算的路径既不是节点多样的也不是链路多样的。
本发明针对用于根据有状态(stateful))(或者“半状态(semi-stateful)”)PCE模型取回穿过计算机网络的一个或多个域的计算出的路径段的技术。有状态PCE模型包括被配置用于存储响应于例如PCC发布的路径计算请求而由PCE计算出的一个或多个路径段的数据结构。注意,存储在数据结构中的每个计算出的路径段由相关联的路径密钥值(“路径密钥”)来标识。数据结构的路径段和路径密钥内容在网络中的预定位置处被临时保存(“缓存”)一段可配置的时间。
图5是在示例性实施例中被具体化为存储在网络的域内的一个或多个PCE处的计算出的路径段表500的数据结构的示意性框图。路径段表500包括多个条目502,其中每个条目包含一个计算出的路径段字段510和相关联的路径密钥字段505。响应于路径计算请求,PCE计算路径段并生成路径密钥。计算出的段和生成的密钥随后被分别缓存在表中的条目502的计算出的路径字段和路径密钥字段中。随后,PCE将路径计算响应返回到PCC,该路径计算响应包括路径密钥和计算出的路径,其包含计算出的路径段的压缩路径描述。
在接收到响应之后,PCC生成路径预留消息,该路径预留消息将沿着由ERO描述的路径被传送到某些接收节点,例如边界路由器。路径预留消息例如是包括新颖的路径密钥对象600的RSVP路径消息300。图6是示出路径密钥对象600的格式的示意性框图,该路径密钥对象600例如被具体化为类型/长度/值(TLV)编码格式。TLV对象600被用来标识正被传送(传递)的信息的类型(T)、将被传递的信息的长度(L)和被传递的实际信息的值(V)。长度字段610中包含的长度(L)参数通常是特定于实现方式的,并且可以表示从对象600的类型字段605的开头到结尾的长度。但是,长度一般表示值(V)字段615的长度而非类型(T)或长度(L)字段的长度。
值字段615例如包含一个或多个密钥标识符(ID)子对象650。根据本发明一个方面,每个密钥ID子对象650进而包括PCE ID字段652,其包含缓存了ERO的计算出的路径段的PCE(“标识的PCE”)的ID。另外,密钥ID子对象包括路径密钥字段,该字段包含与计算出的路径段相关联的路径密钥。在示例性实施例中,PCE ID优选地是PCE的路由器ID,而路径密钥是32位的无符号数字。
根据本发明,接收方边界路由器扫描路径预留消息300以搜索路径密钥对象600。响应于定位到该对象,路由器提取PCE ID 652和路径密钥654,并生成包含该提取出的信息的路径计算请求以发送到标识的PCE。标识的PCE接收该请求,并例如通过使路径密钥字段505的内容与提取出的路径密钥654匹配来索引路径段表500。存储在匹配的条目502中的计算出的路径段510随后经由路径计算回复被返回到路由器。
图7是根据本发明用于针对一个(或多个)隧道建立计算出的路径的步骤序列的流程图。该序列开始于步骤705,并继续到步骤710,其中PCC生成路径计算请求。通常,路径计算请求包括源PCC地址和希望的隧道目的地地址。一旦路径计算请求生成,PCC就在步骤715中将该请求发送到PCE以计算路径段(“路径”)。在存在多个对于PCC可见的PCE的情况下,PCC根据所需量度选择最佳PCE。该确定的方法在Vasseur等人在同一日递交的题为“SYSTE AND METHOD FORSELECTING A PATH COMPUTATION ELEMENT”的共同拥有、共同未决的美国申请No.10/983,280中有完整描述,该申请的内容通过引用被整体上结合于此。
PCE(例如图4中的ASBR5*)例如在步骤720中接收路径计算请求,并在步骤725中开始计算针对所需目的地的一条或多条最优路径,如上所述。一旦已经计算出这一条或多条路径,PCE就在步骤730中为计算出的路径创建路径密钥。路径密钥和计算出的路径在步骤735中被存储(缓存)在PCE的表500的条目中一段预定的时间。该预定时间可以由系统管理员配置,并且可以等于任何设置的时间段或根据一组给定的条件来定义,所述给定的条件例如是当不再需要密钥时(例如当其已被访问过时,如下所述)。在步骤740中,PCE生成包含计算出的路径的压缩路径描述(如上所述)的计算出的路径,并在步骤745中,将包括路径密钥和计算出的路径的路径计算响应(回复)返回到PCC。PCC在步骤750中接收该回复,并且序列在步骤755结束。应该注意,在本发明的替换实施例中,PCE可以将实际计算出的路径段与路径密钥一道发送到应该接收请求的边界路由器(例如ASBR3或ASBR4)。PCE随后将不再被要求缓存计算出的路径和路径密钥。
图8是根据本发明用于利用计算出的路径建立到目的地的路径(隧道)的步骤序列的流程图。该序列开始于步骤805并前进到步骤810,其中PCC通过由ERO描述的路径(例如n1、n2、ASBR1*、ASBR3...)将已生成的带有ERO 340和路径密钥对象600的路径预留消息300发送到某些接收节点,例如边界路由器。当在步骤815中接收到消息(例如...ASBR3、B(L)...)之后,AS或区域的边界路由器(例如图4中的ASBR3)计算到目的地(B)的路径。根据本发明,在步骤820中,边界路由器检查消息中路径密钥对象的存在性。如果在步骤825中确定不存在路径密钥对象,边界路由器则在步骤830中利用传统的ERO扩展技术计算针对ERO上描述的宽松跳的路径段。但是,如果消息中存在路径密钥对象,边界路由器则随后在步骤835中提取出路径密钥和PCE ID。在步骤840中,路由器将带有路径密钥的路径计算(例如查找)请求发送到由PCE ID标识的PCE,根据本示例,该PCE是ASBR5*在上述替换实施例中,如果边界路由器已经具有在本地存储的路径密钥和计算出的路径段,则本地查找会向边界路由器提供该计算出的路径。
PCE(ASBR5*)在步骤845中接收请求,并在步骤750中,利用路径密钥对计算出的路径段表500执行查找操作,以找到在路径密钥方面匹配的条目502。注意,在替换实施例中,路径密钥可被用来索引表以找到匹配条目。响应于找到匹配条目,计算出的路径段被取回(例如ASBR3、n3、n4、n5、B),并且在步骤855中,PCE将取回的路径回复给发出请求的边界路由器,该边界路由器在步骤860中接收计算出的路径。此时,PCE可以(但不一定要)从表500中删除该计算出的路径段和路径密钥,如上所述。否则,PCE可以等待一段预定时间,然后再删除路径和路径密钥。有了计算出的路径后,边界路由器可以继续根据标准隧道操作过程建立源路由器(路由器A)和目的地(路由器B)之间的隧道(步骤865)。该序列在步骤865结束。本领域技术人员应当理解,以上序列在跨越更多区域或AS时可以扩展。
有利的是,这里描述的技术使得能够高效地计算穿过网络的多个域的路径,例如域间流量工程(TE)标签交换路径(LSP)和/或多样路径。具体而言,本发明的技术消除了针对一个或多个PCE先前计算出的域内段执行由ERO的压缩路径描述指定的一个或多个附加路径计算的需求。本发明还提供了一组最优的(最短)路径段,同时保持多个域之间的机密性,并允许保持计算出的路径的多样性。
虽然已经描述了根据有状态(“半状态”)路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的示例性实施例,但是将会理解,在本发明的精神和范围内,可以执行各种其他改变和修改。例如,本发明还可以被有利地用于嵌套的、或分级的区域或AS。例如,AS可以包括多个利用基于PCE的路径计算来计算AS间以及区域间TE LSP的区域。在此情况下,在从相邻的AS接收到请求之后,充当PCE的AS边界路由器可以返回一组压缩路径(指定每个区域内的边界路由器)以及它们的相关路径密钥。或者,PCE还可以为单个聚集的压缩路径提供单个路径密钥,这将在本地转化成一连串压缩路径与它们的相关密钥。
上面的描述针对本发明的特定实施例。但是,显而易见的是,可以对所述实施例执行其他变化和修改,同时仍实现本发明的某些或全部优点。例如,可以明确设想,本发明的教导可被实现为软件,包括具有在计算机上执行的程序指令的计算机可读介质,硬件、固件或它们的组合。因此,这里的描述将仅被视为示例性的,而并非限制本发明的范围。因此,所附权利要求书的目的是要覆盖落入本发明的精神和范围内的所有这样的变化和修改。
权利要求
1.一种用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的方法,该方法包括以下步骤接收由路径计算客户端(PCC)发布的路径计算请求;响应于所述路径计算请求而计算一个或多个路径段;将每个路径段与一个路径密钥相关联;以及将所述一个或多个路径段与每个相关联的路径密钥存储起来。
2.如权利要求1所述的方法,还包括将每个路径段和相关联的路径密钥保存在所述网络中的预定位置上。
3.如权利要求1所述的方法,还包括将每个路径段和相关联的路径密钥保存一段配置的时间。
4.如权利要求1所述的方法,还包括将每个路径段和相关联的路径密钥保存在计算出的路径段表中。
5.如权利要求4所述的方法,还包括在所述表中包含多个条目,其中每个条目包含一个计算出的路径段字段和一个相关联的路径密钥字段。
6.如权利要求1所述的方法,还包括向所述PCC返回路径计算响应,该路径计算响应包括所述路径密钥和包含所述计算出的路径段的压缩路径描述的计算出的路径。
7.如权利要求6所述的方法,还包括将PCE标识与所述路径密钥包括在一起,所述PCE标识标识出返回所述路径计算响应的PCE。
8.如权利要求1所述的方法,还包括从边界路由器接收包括路径密钥的路径计算请求;提取出所述路径密钥;索引已存储的路径密钥,以使特定路径段与所述提取出的路径密钥匹配;以及将存储在匹配的条目中的计算出的路径段经由路径计算回复返回到所述边界路由器。
9.一种用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的方法,该方法包括以下步骤接收对路径计算请求的响应,该响应包括路径密钥和计算出的路径,所述计算出的路径包含计算出的路径段的压缩路径描述;生成路径预留消息,该路径预留消息包括所述路径密钥和缓存有所述计算出的路径的计算出的路径段及其相关联的路径密钥的PCE的ID;以及沿着由所述计算出的路径所描述的路径将所述路径预留消息发送到某些接收节点。
10.一种用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的方法,该方法包括以下步骤接收路径预留消息;扫描所述路径预留消息以寻找路径密钥对象;响应于路径密钥对象,提取出PCE ID和路径密钥;生成包含所述提取出的PCE ID和路径密钥的路径计算请求;以及将所述路径计算请求发送到由所述PCE ID标识的PCE。
11.如权利要求10所述的方法,还包括从所述PCE接收对所述路径计算请求的响应,该响应包括计算出的路径段;以及使用所述计算出的路径段来完成路径预留请求。
12.一种被配置用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的系统,该系统包括处理器;网络接口,用于接收由路径计算客户端(PCC)发布的路径计算请求;由所述处理器执行的PCE进程,用于响应于所述路径计算请求而计算一个或多个路径段并将每个路径段与一个路径密钥相关联;以及存储器,用于将所述一个或多个路径段与每个相关联的路径密钥存储起来。
13.如权利要求12所述的系统,还包括用于向所述PCC返回路径计算响应的网络接口,所述路径计算响应包括所述路径密钥和包含所述计算出的路径段的压缩路径描述的计算出的路径。
14.如权利要求13所述的系统,其中PCE标识被与所述路径密钥包括在一起,所述PCE标识标识出返回所述路径计算响应的所述PCE进程。
15.一种用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的系统,该系统包括用于接收路径预留消息的网络接口;处理器,用于1)扫描所述路径预留消息以寻找路径密钥对象,2)响应于路径密钥对象,提取出PCE ID和路径密钥,以及3)生成包含所述提取出的PCE ID和路径密钥的路径计算请求;以及用于将所述路径计算请求发送到由所述PCE ID标识的PCE的网络接口。
16.一种适合于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段的装置,该装置包括用于接收由路径计算客户端(PCC)发布的路径计算请求的装置;用于响应于所述路径计算请求而计算一个或多个路径段的装置;用于将每个路径段与一个路径密钥相关联的装置;以及用于将所述一个或多个路径段与每个相关联的路径密钥存储起来的装置。
17.一种包含可执行的程序指令的计算机可读介质,所述程序指令用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段,所述可执行的程序指令包括用于以下操作的程序指令接收由路径计算客户端(PCC)发布的路径计算请求;响应于所述路径计算请求而计算一个或多个路径段;将每个路径段与一个路径密钥相关联;以及将所述一个或多个路径段与每个相关联的路径密钥存储起来。
18.一种包含可执行的程序指令的计算机可读介质,所述程序指令用于根据有状态路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段,所述可执行的程序指令包括用于以下操作的程序指令接收路径预留消息;扫描所述路径预留消息以寻找路径密钥对象;响应于路径密钥对象,提取出PCE ID和路径密钥;生成包含所述提取出的PCE ID和路径密钥的路径计算请求;以及将所述路径计算请求发送到由所述PCE ID标识的PCE。
全文摘要
一种技术根据有状态(“半状态”)路径计算元件(PCE)模型取回计算出的穿过计算机网络的一个或多个域的路径段。该有状态PCE模型包括被配置用于存储响应于路径计算客户端(PCC)发布的路径计算请求而由PCE计算出的一个或多个路径段的数据结构。注意,存储在数据结构中的每个计算出的路径段由一个相关联的路径密钥值(“路径密钥”)标识。数据结构的路径段和路径密钥内容在网络中的预定位置处被临时保存(“缓存”)一段可配置的时间。
文档编号G06F15/16GK101095311SQ200580031041
公开日2007年12月26日 申请日期2005年11月3日 优先权日2004年11月5日
发明者让·菲利普·瓦瑟尔, 理查德·布德福德 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1