CN103370908B - 用于找到跨多个域的点到多点标签交换路径的系统以及方法 - Google Patents
用于找到跨多个域的点到多点标签交换路径的系统以及方法 Download PDFInfo
- Publication number
- CN103370908B CN103370908B CN201280008760.6A CN201280008760A CN103370908B CN 103370908 B CN103370908 B CN 103370908B CN 201280008760 A CN201280008760 A CN 201280008760A CN 103370908 B CN103370908 B CN 103370908B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- pce
- territory
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
Abstract
一种与第一域相关联的装置,所述装置包括处理器,所述处理器用于计算点到多点(P2MP)路径的一部分,其中所述P2MP路径跨越包含所述第一域的多个域,其中所述装置不需要获知域的核心树便可计算所述P2MP路径的所述部分。
Description
相关申请案的交叉参考
本发明要求2011年2月21日由陈怀谟递交的发明名称为“找到跨多个域的点到多点标签交换路径”的第61/444,796号美国临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文本中,如全文再现一般。
关于由联邦资助的研发的声明
不适用。
参考缩微胶片附录
不适用。
背景技术
在包交换网络中的一个源与一个或多个目标之间进行路由存在很多挑战。在使用跨许多域的点到多点(P2MP)流量工程(TE)标签交换路径(LSP)的多协议标签交换(MPLS)网络中,路由问题可能尤为严重,这部分原因在于必须为许多目标中的每个目标计算出路线,而部分原因在于必须计算出可能跨越多个域的路线。
在一些网络,例如MPLS网络中,可以使用针对给定路径的资源预留协议-TE(RSVP-TE)来建立TEP2MPLSP。路径可以由路径计算客户端(PCC)和/或路径计算单元(PCE)计算。例如,PCC可以向PCE请求路径或路线,而PCE计算出路径并将计算出的路径信息发送回PCC。所述路径可以是从源节点到多个目标节点的跨多个域的P2MP路径,其中域可以是属于内部网关协议(IGP)区域或自治系统等地址管理或路径计算职责的公共范围内的网络元件的集合。
用于路由或确定P2MPLSP的先前系统和方法可能存在许多缺点,包含必须预先获知从源到多个目标的域的序列(有时称为域的核心树),并且可能无法保证计算出的跨多个域的路径是最短路径。标题为“用于计算最短约束P2MP域间流量工程标签交换路径的基于PCE的计算过程(PCE-basedComputationProcedureToComputeShortestConstrainedP2MPInter-domainTrafficEngineeringLabelSwitchedPaths)”的互联网工程任务组(IETF)draft-zhao-pce-pcep-inter-domain-p2mp-procedures-06描述了一个依赖于使用多个PCE来计算穿过多个域的MPLSTEP2MPLSP路径的过程,该文档以引入的方式并入本文本中。但该过程仍存在上文讨论的一些缺点。
发明内容
一方面,本发明包含一种与第一域相关联的装置,所述装置包括处理器,所述处理器用于计算P2MP路径的一部分,其中LSP跨越包含所述第一域的多个域,其中所述装置不需要获知域的核心树便可计算所述P2MP路径的所述部分。
另一方面,本发明包含一种方法,所述方法包括在与第一域相关联的装置中计算P2MP路径的一部分,其中LSP跨越包含所述第一域的多个域,其中所述方法不需要获知域的核心树便可计算所述P2MP路径的所述部分。
又一方面,本发明包含一种系统,所述系统包括彼此耦接的多个PCE,其中所述PCE中的每个PCE耦接到网络中的不同域,其中所述PCE用于在未获知域的核心树的情况下,以协作的方式计算从所述域之一中的源到所述域中的多个目标的P2MP路径。
再一方面,本发明包含一种装置,所述装置包括处理器,所述处理器用于:从网络实体接收计算MPLSP2MPLSP的请求,其中所述请求包括ResultPathTree、RestDestinationNodes以及CandidateNodeList;基于CandidateNodeList来确定开销最小的节点C;确定当前PCE是否为负责节点C的PCE,并且如果是的话,那么从CandidateNodeList中移除C,将其嫁接到ResultPathTree中,并从节点C生成所述ResultPathTree,如果不是的话,那么向负责节点C的PCE发送请求消息。
通过结合附图和所附权利要求书进行的以下详细描述将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表示相同部分。
图1是包括多个域的网络的一项实施例。
图2是用于确定穿过多个域的P2MP路径的方法的一项实施例。
图3是用于确定穿过多个域的P2MP路径的第二方法的一项实施例。
图4是用于确定穿过多个域的P2MP路径的第三方法的一项实施例。
图5是请求/回复对象主体的一项实施例的例图。
图6是PCE第四版互联网协议(IPv4)地址对象的一项实施例的例图。
图7是PCE第六版互联网协议(IPv6)地址对象的一项实施例的例图。
图8是Node-Flags对象主体的一项实施例的例图。
图9是candidate-path-list对象的一项实施例的例图。
图10是candidate-node-list-obj的一项实施例的例图。
图11是目标IPv4地址对象的一项实施例的例图。
图12是目标IPv6地址对象的一项实施例的例图。
图13是路径标记中的目标对象的一项实施例的例图。
图14是不在路径中的目标数目对象的一项实施例的例图。
图15是网络部件的一项实施例的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所揭示的系统和/或方法可以使用任何数目的技术来实施,无论该技术是当前已知的还是现有的。本发明决不应限于下文所说明的所述说明性实施方案、附图和技术,包含本文所说明并描述的示例性设计和实施方案,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
本文本中讨论的系统和方法可以解决先前讨论过的一些问题,这是因为可以不必获知源与目标之间的域的序列,并且源与给定的目标集合之间跨多个域的路径可能是所述源与目标之间的最短路径。此外,描述了用于支持前向搜索过程的路径计算单元通信协议(PCEP)的扩展。例如,本文本描述的实施例提供PCEP的扩展,该扩展包含以下项的定义:请求参数(RP)对象中的新标记、结果路径列表/树,以及请求消息中的候选节点列表。
图1是网络100的一项实施例,所述网络包括如图1所示那样进行互连的多个域110、130、140、160、170和180。每个域都包括多个节点。例如,如图1所示,域110包括节点A到节点I。如图1所示,其他域含有其他节点。每个节点可以具有准备传输到多个其他节点的数据,例如,组播视频。图1中网络100的实施例示出了源节点A以及多个目标节点B、C1、D1、E1、D3、B4和C4的一个实例,即,这个实例中存在七个目标节点。每个域都有一个相关联的PCE。在此实施例中,PCE111可以与域110相关联,PCE131可以与域130相关联,PCE141可以与域140相关联,PCE161可以与域160相关联,PCE171可以与域171相关联,且PCE181可以与域180相关联。PCE,例如,前述PCE可以是能够基于网络图来计算网络路径或路线并应用计算约束的实体,例如,部件、应用程序或网络节点。
在源节点A具有准备发送到目标节点的数据后的某一时刻,与节点A相关联的PCC可以向PCE111发送请求。PCC可以是请求PCE执行路径计算的客户端应用程序。节点,例如,节点A可以包括PCC。PCE可以彼此协作,以确定从源到多个目标的跨越多个域的最好或最短路径。例如,从源节点A到目标节点C1的最短路径可能是A-C-F-J-L-O-A3-C3-C1。也就是说,最短路径在域的序列110-140-170-180中。如先前所述,先前方法的问题可能在于,必须提供域的核心树。如果从源域110到目标域180的核心树域路径是110-140-180,且这个核心树用在常规方法中,那么可能无法确定最短路径。用于确定MPLSTEP2MPLSP的一些过程、算法或方法的操作可以识别一个节点是否为边界节点。边界节点可以是用于将两个域连接在一起的节点。例如,图1中的节点F、I、J和K可以是边界节点。此外,边界节点可以是区域边界路由器(ABR,即,用于在区域间流量工程的背景下将两个IGP区域连接起来的路由器)或自治系统(AS)边界路由器(ASBR,即,用于在AS间流量工程的背景下经由一个或多个AS间链路将同一或不同服务提供商的多个AS连接起来的路由器)。第n个域的入口边界节点可以是沿着从源节点到边界节点找到的路径将域(n-1)连接到域(n)的边界节点,其中域(n-1)是域(n)的前一跳域。最后,第n个域的出口边界节点可以是沿着从源节点到边界节点找到的路径将域(n)连接到域(n+1)的边界节点,其中域(n+1)是域(n)的下一跳域。
本文本中所揭示的用于计算从源节点到多个目标节点的最短P2MP路径的过程或方法的一些一般特性可以如下所示,这些特性可用于建立跨多个域MPLSTEP2MPLSP。所述过程可以称为使用多个PCE的前向搜索路径计算(FSPC)过程。这一过程可以保证从源节点到目标节点找到的路径最短。此外,这一过程可以不依赖于从源节点到目标节点的域的序列。PCE可以彼此协作,以确定从源到多个目标的跨越多个域的最好或最短路径。协作过程可以包括从一个PCE向另一个PCE传递消息(例如,请求),其中每个PCE计算TEP2MP路径的一部分。对域网进行导航可能简单而有效。
FSPC过程用于为跨多个域的MPLSTEP2MPLSP计算从源节点到多个目标节点的最短路径,这一过程始于MPLSTEP2MPLSP的源(或输入)节点所在的源域。当源域中的PCE接收到为MPLSTEP2MPLSP计算路径的请求时,PCE计算从源节点到接近目标节点的域的每个出口边界节点的最短路径。
FSPC过程中可能涉及两个路径列表。一个路径列表可以被称为候选路径列表,它含有当前找到的从源节点到边界节点或者一个或多个目标节点的临时最短路径。候选列表中的路径依据路径开销排序。最初,候选路径列表仅含有开销为零的源节点。另一个列表可以被称为结果路径列表或树,它含有从源节点到边界节点或者一个或多个目标节点的最终最短路径。最初,结果路径列表为空。
当负责一个域(称为当前域)的PCE接收到请求以便为MPLSTEP2MPLSP计算路径时,该PCE从候选路径列表中移除开销最小的路径,并将该路径插入或嫁接到结果路径列表中。如果找到了到达所有目标节点的最短路径,那么可以将具有最短路径的回复发送到从中接收了请求的PCE或PCC。否则(即,如果有些目标不在结果路径树上的话),PCE计算从源节点经由入口边界节点到当前域的每个出口边界节点和目标节点然后进一步到达连接到当前域的域的入口边界节点的最短路径,根据某一度量(例如,路径开销)按顺序将新路径放入候选列表,用度量较佳(例如,开销较低)的新路径来更新候选路径列表中的现有路径,随后将具有新候选路径列表的请求发送到负责特定域的PCE,所述域的入口边界节点可以作为候选路径列表中度量最好(例如,开销最小)的路径的尾端。开销可以指许多路径度量中的任一度量,例如,最短路径、最小负载路径、最少使用路径、最可靠路径等。在确定源与目标之间的最短路径的过程中,开销可以指候选路径上的相关源与节点之间的许多链路。
图2是用于确定穿过多个域的P2MP路径的方法190的一项实施例。在步骤191中,方法从源节点开始。含有该源节点的域可以被称为源域。在步骤192中,可以将从源域的源节点到每个出口边界节点的最佳路径段确定为特殊链路。在步骤193中,可以将从一个域的入口边界节点到每个出口边界节点和每个目标节点的最佳路径段确定为特殊链路,并且可以根据需要计算最佳路径段。包括多个域的网络拓扑可以被认为是含有特殊链路和域间链路的特殊拓扑。在步骤194中,可以使用约束最短路径优先(CSPF)算法来计算这个特殊拓扑中从源节点到每个目标节点的最短路径。在任何PCE上运行的前向搜索P2MP域间路径计算方法都可以采用与该特殊拓扑上的标准CSPF相同的方式生成结果路径列表/树。当结果路径列表/树到达所有目标节点时,从源节点到目标节点的最短路径便找到了,并且具有最短路径的回复消息可以发送到发送初始请求消息的PCE/PCC。方法190不需要域的核心树,并且得出了穿过多个域的最短P2MP路径(即,所计算出的从源到目标的路径是从该源到该目标的最短路径或最佳路径;对于n个目标来说,其中n是大于一的整数,可能存在n条路径,每条路径都是从该源到该目标的最短路径)。
图3是用于确定穿过多个域的P2MP路径的第二方法200的一项实施例。方法200可以在PCE中执行。在步骤202中,PCE接收请求以计算P2MP路径或P2MP路径的一部分。PCE可以计算该PCE所负责的域内的P2MP路径的一部分。该请求可以从源的PCC或从另一PCE接收。该请求可以含有变量Source、Destinations、Tree和Candidates。Source可以是源节点;Destinations可以是目标节点列表;Tree可以是PCE接收请求时的最短路径树;并且Candidates可以是关于候选路径的信息。Candidates中的每一单元可以具有{node,cost,pre-hop,andpce}的形式,其中cost是从源到节点的开销,pre-hop是从源到节点的路径上的节点的前一跳,以及pce是负责含有节点的域的PCE。在对应于源的PCC发出的初始请求中,Tree可以为空,并且Candidates可以等于{Source,0,-,pce}。
接收请求的PCE可以具有内部变量Graph,该变量是该PCE所负责的域的拓扑图(即,域中的节点列表以及这些节点在域内的所有互连)。在步骤204中,将GraphⅠ设置为等于Graph(即,当前域的拓扑图)加上连接到当前域的域间链路。在步骤206中,将u选为Candidates中开销最小的单元。变量u可以是对象的名称,其中node、cost和pce为该对象的成员,可以分别被称为u.node、u.cost和u.pce。在步骤208中,确定u.node是否在Graph中,即,u.node是否在当前域中。如果不在的话,那么在步骤210中,向负责含有u.node的域的PCE发送请求以计算P2MP路径(或P2MP路径的一部分)。当负责含有u.node的域的PCE接收到请求时,它可以遵循方法200,从步骤202开始。如果u.node在Graph中(即,u.node在当前域中),那么所述方法进行到步骤212,其中可以从Candidates中移除u,然后将其插入Tree中。接下来,在步骤214中,确定u.node是否在Destinations中(即,u.node是否为目标节点)。如果是的话,那么方法200进行到步骤216,其中可以从Destinations中移除u。接下来,在步骤218中,确定Destinations是否为空(即,是否所有目标节点都在Tree上)。如果是的话,则向发送请求的PCC或PCE发送具有从源到目标的最短路径的回复。如果在步骤218处Destinations不为空,那么方法200进行到步骤222,反之,如果在步骤218处Destinations为空,那么方法进行到步骤220。如果在步骤218处Destinations为空,那么这意味着可以找到从源到所有目标的最短路径,并且可以向从中接收请求的PCC或PCE发送回复。如果在步骤214处u.node不在Destinations中,那么方法也进行到步骤222。
在步骤222中,确定GraphI中u.node的邻点(neighbor),其中n表示邻点的数目,并且v(i)是第i个邻点。在步骤224中,将i设置为等于一。在步骤226中,确定i是否小于n+1,且如果是的话,那么方法进行到步骤228。在步骤228中,将alt计算为u.cost加上u.node与v(i)之间的开销的总和。在很多应用中,诸如u.node等的节点与诸如v(i)等的邻点之间的开销可以为一。在步骤230中,确定Candidates是否含有v(i)。如果不含有的话,那么方法进行到步骤232,其中将{v(i)、alt、u.node、pce}插入到Candidates中。如果含有的话,那么方法进行到步骤234。在步骤234中,确定alt是否小于v.cost。如果小于的话,那么在步骤236中,将Candidates中的{v,cost,pre-hop,pce}替换为{v,alt,u.node,pce}。在步骤238中,可以依据cost对Candidates进行分类。接下来,在步骤240中,将i设置为等于i+1,然后这个过程回到步骤226。在步骤226中,如果i不小于n+1,那么过程进行到步骤242。在步骤242中,确定Candidates是否为空。如果是空的话,那么在步骤244处,向从中接收请求的PCC或PCE发送失败通知。如果Candidates不为空,那么方法200继续到步骤246,其中将u选为Candidates中开销最小的单元。如果最小开销相同的单元不止一个,那么可以选择最小开销相同的单元中的任一单元。然后,方法200进行到步骤208,重复这一步骤。重复所述方法,直到在步骤218中Destinations是空的为止,或直到选择了不在当前域中的u.node为止。方法200不需要域的核心树,并且得出了穿过多个域的最短P2MP路径(即,所计算出的从源到目标的路径是从该源到该目标的最短路径或最佳路径;对于n个目标来说,其中n是大于一的整数,可能存在n条路径,每条路径都是从源到目标的最短路径)。
图3中的方法200可以作为伪码算法实施。以下为采用伪码实施的三种算法:算法1、算法2和算法3,用于确定穿过多个域的最短P2MP路径。这些算法不依赖于提供任何核心树、域路径树或域序列。算法1可以采用伪码实施方法200。在算法1中,PCE接收到请求之后,PCE对该请求进行解码,然后调用函数P2mpPathXDomains1,这一函数是上文就方法200所述的Graph、Source、Destinations、Tree和Candidates的函数。下文给出了算法1中的函数P2mpPathXDomains1。
算法1(以及图3中的相关方法200)可能是用于确定穿过多个域的P2MP路径的简单而有效的算法。然而,算法1的缺点可能在于,由于请求可以含有关于结果Tree和Candidates的所有信息,因此它可能很大。此外,一个域中的信息可能暴露给结果Tree和Candidates中的其他域。最后,由于Tree可以在第一域(例如,域A)中生成,且然后在第二域(例如,域B)中生成,然后再次在第一域(例如,域A)中生成等等,因此请求可以在不同域之间来回发送。
以下算法被称为算法2,可以解决上述问题中的一些问题。当运行算法2的第一PCE向第二PCE发送请求时,第一PCE使用关键字(key)将属于该第一PCE的域的信息存储在负责所述域的PCE中,并且通过这些关键字向第二PCE发送请求。如果请求被传回负责当前域的PCE,那么可以通过这些关键字来恢复属于当前域的信息,并且可以继续计算跨多个域的P2MP路径。
在算法2中,PCE接收到请求之后,PCE对该请求进行解码,然后调用函数P2mpPathXDomains2,这一函数是Graph、Source、Destinations、Tree和Candidates的函数。下文给出了算法2中的函数P2mpPathXDomains2。
PCE接收到具有结果的回复之后,PCE会将该回复转发到特定PCC/PCE,其中针对跨域的P2MPLSP计算路径的请求便是从所述PCC/PCE接收的。算法2中的函数P2mpPathXDomains2依赖于函数store-part-tree,这一函数是Graph、Source、Destinations、Tree、Candidates、Tree2send、Candidates2send的函数,并且下文提供了该函数。
函数store-part-tree依赖于下文所提供的函数restore-part-tree。
算法2可以是用于确定穿过多个域的P2MP路径的简单而有效的算法。此外,算法2的优势可能在于,一个域中的信息可以对其他域隐藏。然而,算法2可能具有一些缺点。第一,存储属于当前域的信息可能耗费过多的存储量。第二,与算法1类似,由于结果树可以在第一域(例如,域A)中生成,且然后在第二域(例如,域B)中生成,然后再次在第一域(例如,域A)中生成等等,因此,请求可以在用于不同域的PCE之间来回发送。
以下算法被称为算法3,可以解决上述问题中的一些问题。当运行算法3的PCE向另一PCE发送请求时,该PCE并不使用关键字将属于域的几乎所有信息存储在(负责所述域的)PCE中。它只存储属于所述域的关键信息,并使用这些关键字向另一PCE发送请求。为了减少来回发送的请求,PCE会计算当前域中的路径段,其中这些路径段是从当前域中的入口边界或源节点到出口边界或目标节点的。这些路径段中的每个路径段可以被认为是特殊链路。
当请求被传回用于当前域的PCE时,尽管未使用关键字来恢复属于当前域的信息,但仍可以继续计算跨多个域的P2MP路径。为了简便地描述算法,下文中使用了后者。或者,当请求被传回负责当前域的PCE时,可以使用这些关键字来恢复属于当前域的信息,并且可以继续计算跨多个域的P2MP路径。通过使用之前计算出的路径段,可以节省时间。
在算法3中,PCE接收到请求之后,PCE对该请求进行解码,然后调用函数P2mpPathXDomains3,这一函数是Graph、Source、Dc、Ec、Destinations、Tree和Candidates的函数。上文描述了Graph、Source、Destinations、Tree和Candidates。Dc含有在当前域中而不在Tree上的所有目标,且Ec含有当前域的所有出口边界节点。下文提供了算法3中所使用的函数P2mpPathXDomains3。
PCE接收到具有结果的回复之后,它会将该回复转发到特定PCC/PCE,其中针对跨域的P2MPLSP计算路径的请求便是从所述PCC/PCE接收的。算法3中的函数P2mpPathXDomains3依赖于下文所提供的函数DijkstraC以及store-path-segments。
算法1、算法2和算法3不需要域的核心树,并且每种算法都得出了穿过多个域的最短MPLSP2MPLSP路径(即,所计算出的从源到目标的路径是从该源到该目标的最短路径或最佳路径;对于n个目标来说,其中n是大于一的整数,可能存在n条路径,每条路径都是从该源到该目标的最短路径)。
以下描述了用于确定穿过多个域的P2MP路径的另一实施例。假设定义了以下变量:命名为CurrentPCE的当前PCE,它当前正在计算路径;可以命名为RestDestinationNodes的剩余目标节点数目,这是其中有待找到最短路径的目标节点的数目(RestDestinationNodes最初(例如,从源节点发送初始请求时)可以是MPLSTEP2MPLSP的所有目标节点的数目);以及命名为CandidateNodeList的候选节点列表,它含有可能位于从源节点到目标节点的最短路径上的节点。CandidateNodeList中的每个节点C可以具有以下信息:从源节点到节点C的路径开销、前一跳节点P以及P与C之间的链路、负责C的PCE,以及用于C的标记。所述标记可以包含:位D,如果设置的话,则表明节点C为目标节点;位S,如果设置的话,则表明C为源节点;位E,如果设置的话,则表明C为出口边界节点;位I,如果设置的话,则表明C为入口边界节点;以及位T,如果设置的话,则表明C为最短路径Tree上的节点。
CandidateNodeList中的节点可以依据路径开销排序。最初,CandidateNodeList可能只含有开销为零的源节点、负责源域的PCE以及S位得以设置的标记。
结果路径列表或树可以命名为ResultPathTree,其含有从源节点到边界节点或目标节点的最短路径。最初,ResultPathTree为空。
前向搜索路径计算方法用于针对从源节点到许多目标节点的跨许多域的MPLSTEP2MPLSP计算路径,这种计算方法可以描述如下。该方法可以参考图4进行描述,图4是用于确定穿过多个域的P2MP路径的第三方法250的一项实施例。方法250中的很多步骤类似于方法200中的对应步骤,因而下文将以较少的细节描述方法250中的步骤。最初(例如,当节点需要MPLSTEP2MPLSP时),PCC可以将RestDestinationNodes设置为等于MPLSTEP2MPLSP的所有目标节点的数目,可以将ResultPathTree设置为空,并且可以将CandidateNodeList指定为含有源节点。PCC可以向负责源域的PCE发送具有源节点、RestDestinationNodes、CandidateNodeList以及ResultPathTree的请求。当负责一个域(称作当前域)的PCE接收到针对MPLSTEP2MPLSP计算路径的请求(例如,参见步骤252)时,该PCE会检查当前PCE是否为负责含有节点C的域的PCE(参见步骤254和256),其中节点C是CandidateNodeList中开销最小的节点。如果是的话,那么可以从CandidateNodeList中移除C,并将其嫁接到ResultPathTree中(参见步骤260);否则,向用于节点C的PCE发送请求(有时被称为PCReq)消息(参见步骤258)。
假设节点C在当前域中。在以下步骤中,可以使用C构建ResultPathTree。
如果节点C为目标节点(即,设置了标记中的目标节点(D)位),那么RestDestinationNodes减少一(参见步骤262和264)。如果RestDestinationNodes为零(即,所有的目标都在结果路径树上),那么便找到了最短路径,并且可以将具有该路径的回复消息发送到向当前PCE发送请求的PCE/PCC(参见步骤266和268)。
如果节点C为入口边界节点或源节点(即,设置了入口/进入边界节点(I)位或源节点(S)位),那么使用CSPF来计算出从节点C到当前域中不位于结果路径树上的每个出口边界节点和每个目标节点的路径段,并且将这些路径段作为特殊链路。对于通过特殊链路(即,路径段)连接到节点C的每个节点N而言,所述节点N会合并到CandidateNodeList中。节点N的开销为节点C的开销和C与N之间的特殊链路(即,路径段)的开销之和。如果节点N为ASBR,那么用于节点N的PCE为当前PCE;否则(节点N为ABR、当前域的出口边界节点以及与当前域邻接的域的入口边界节点),用于节点N的PCE为用于下一域的PCE。(参见步骤282、284和286。)
如果节点C为出口边界节点(即,出口边界节点(E)位被设置或为ASBR)并且有域间链路连接到该节点,那么对于连接到C但并不在结果路径树上的每个节点N而言,所述节点N会合并到候选节点列表中。节点N的开销为节点C的开销和C与N之间链路的开销之和。用于节点N的PCE为负责含有节点N的域的PCE。(参见步骤288与290。)
如果CurrentPCE与CandidateNodeList中开销最小的节点D的PCE相同,那么从CandidateNodeList中移除节点D,将其嫁接到ResultPathTree(例如,通过将节点D的标记位T设置为一来完成),并且重复上述步骤;否则,CurrentPCE向用于节点D的PCE发送具有源节点、RestDestinationNodes、CandidateNodeList以及ResultPathTree的请求。(参见步骤292、256、258和260。)方法250不需要域的核心树,并且得出了穿过多个域的最短MPLSP2MPLSP路径(即,所计算出的从源到目标的路径是从该源到该目标的最短路径或最佳路径;对于n个目标来说,其中n是大于一的整数,可能存在n条路径,每条路径都是从该源到该目标的最短路径)。
在当前域与含有节点D的下一域之间存在PCE会话的情况下,CurrentPCE直接通过会话向用于节点D的PCE发送具有源节点、RestDestinationNodes、CandidateNodeList以及ResultPathTree的请求消息。
在当前PCE与用于节点D的PCE之间不存在任何PCE会话的情况下,当前PCE可以间接向用于节点D的PCE发送请求消息,方法是反向沿着请求消息从PCC传到当前PCE的路径,从当前域向结果路径树上的分支点发送回复消息。所述回复消息含有关于源节点、RestDestinationNodes、CandidateNodeList以及ResultPathTree的信息。从分支点开始,存在一条向下路径,该向下路径到达含有结果路径树上的节点D的前一跳节点的域,并且到达含有节点D的域。在这个分支点处,根据回复消息来产生请求消息,并沿着所述向下路径将该请求消息发送到用于节点D的PCE。
在用于确定从源节点到多个目标节点的穿过多个域的P2MP路径的第三方法250的另一实施例中,关于源节点、目标节点以及结果路径列表或树的信息可以在候选节点列表CandidateNodeList中表示出来。最初,PCC可以将CandidateNodeList设置为含有源节点和目标节点。CandidateNodeList中的源节点与零开销以及设置为一的源节点(S)位相关联。最初,CandidateNodeList中的每个目标节点可以被分配有效无穷的开销(表示无穷的一个实例是使用计算机所识别的最大数),以及标记中设置为一的目标节点(D)位。PCC可以向负责源域的PCE发送具有CandidateNodeList的请求。结果路径列表或树可以由候选节点列表CandidateNodeList中的节点表示,其中所述节点均具有设置为一的“最短结果路径树上的节点”(T)位。如果CandidateNodeList中的所有目标节点都具有设置为一的T位,那么这表明找到了从源节点到目标节点的最短路径。
图5是RP对象主体300的一项实施例的例图,所述RP对象主体300可以是从PCC或PCE传输到PCE的请求消息的一部分,或者是从PCE传输到PCC或PCE的回复消息的一部分。RP对象可以指示用于前向搜索路径计算的请求或回复消息。RP对象300可以包括预留字段310、多个标记320,以及请求ID号340。另外,RP对象300可以任选地包括至少一个可选的类型-长度-值(TLV)350,例如,用来指示路径计算能力、路径约束,或其他路径信息。标记320可以包括:前向搜索路径计算位(S)标记321,其用来指示MPLSTELSP路径的前向搜索路径计算;传送请求位(T)标记322,其用来表明RP对象中具有设置为一的此T标记的回复消息是用于传送请求消息的消息;分段位(F)标记325;P2MP位(N)标记327;显式路由对象(ERO)压缩位(E)标记329;严格/宽松位(O)标记331;双向位(B)标记333;重新优化(R)标记335;以及多个优先位(P)标记337。标记320还可以包括额外的位,这些位可以是未分配的或是预留的。例如,其余的位可以设置为零且被忽略。在一项实施例中,S标记321、F标记325、N标记327、E标记329、O标记331、B标记333,以及R标记335中每个标记的长度可以为约一位,P标记337可以具有约三位的组合长度,请求ID号340的长度可以为约32位,并且预留字段310的长度可以为约八位。
在一项实施例中,S标记321可以设置为表明请求消息或回复消息是否与MPLSTELSP路径的前向搜索路径计算有关。此外,RP对象300的至少一些字段可以基于PCEP进行配置。例如,预留字段310可以出于其他目的而被预留和/或可以不被使用。O标记331可以在请求消息中设置成表明可以接受宽松路径;或者所述O标记可以被清除,以表明需要独占包括严格跳的路径。另一方面,O标记331可以在回复消息中设置成表明计算出的路径是宽松的;或者所述O标记可以被清除,以表明计算出的路径包括严格跳。P标记337可以用于指定推荐的请求优先。例如,P标记337可以具有从约为一到约为七的值,该值可以在PCC处进行本地设置。或者,在未指定请求优先时,P标记337可以设置为零。请求ID号340可以与PCC的源IP地址或PCE网络地址组合,以识别备份输出计算请求上下文。每当有新请求向PCE发送时,请求ID号340即可以改变或增加。
在另一实施例中,与N标记327组合的S标记321可以表明请求/回复是否用于使用前向搜索路径计算技术来计算MPLSTEP2MPLSP的最短路径。例如,S标记321和N标记327两者都设置为一,以表明这是用于使用前向搜索路径计算技术来计算MPLSTEP2MPLSP的最短路径的请求/回复消息。S标记321设置为一且N标记327设置为零,以表明这是用于使用前向搜索路径计算技术来计算MPLSTEP2MPLSP的最短路径的请求/回复消息。
图6是PCEIPv4地址对象360的一项实施例的例图,所述对象360包括对象长度字段363、Class-num字段365、C-type字段367,以及PCEIPv4地址字段370。Class-num字段365和C-type字段367可以用于识别对象。本文本所揭示的其他消息中用这些名称表明的字段可以按类似方式使用。如图所示,PCEIPv4地址对象中的对象长度字段363的值可以是八,这是对象360以字节为单位时的长度,Class-num字段365的值是101或者可以由互联网编号分配机构(IANA)分配,C-type字段367的值是一或者可以由IANA分配,并且PCEIPv4地址字段370的值包括PCEIPv4地址。PCEIPv4地址对象360可以表示PCE的IPv4地址,其中可以与该地址建立PCE会话,并且可以向该地址发送请求消息。其他PCEIPv4地址对象360可以表示其他PCE的IPv4地址。PCEIPv4地址对象的另一实施例可以包括PCEIPv4地址,其中可以与该地址建立PCE会话,并且可以向该地址发送请求消息。
图7是PCEIPv6地址对象380的一项实施例的例图,所述对象380包括对象长度字段383、Class-num字段385、C-type字段387,以及PCEIPv6地址字段390。如图所示,PCEIPv6地址对象中的对象长度字段383的值可以是20,这是对象以字节为单位时的长度,Class-num字段385的值是101或者可以由IANA分配,C-type字段387的值是2或者可以由IANA分配,并且PCEIPv6地址字段390的值包括PCEIPv6地址。PCEIPv6地址对象380表示PCE的IPv6地址,其中可以与该地址建立PCE会话,并且可以向该地址发送请求消息。其他PCEIPv6地址对象380可以表示其他PCE的IPv6地址。PCEIPv6地址对象的另一实施例可以包括PCEIPv6地址,其中可以使用该地址建立PCE会话,并且可以向该地址发送请求消息。
图8是Node-Flags对象主体400的一项实施例的例图,所述对象主体400可以是从PCC或PCE传输到PCE的请求消息的一部分,或者是从PCE传输到PCC或PCE的回复消息的一部分。Node-Flags对象可以指示用于前向搜索路径计算的请求或回复消息中的候选路径列表和结果路径列表中路径的尾端节点的特性。Node-Flags对象400可以包括预留字段410和多个标记420。标记420可以包括:目标节点位(D)标记421,用来表明路径的尾端节点为目标节点;源节点位(S)标记423,用来表明路径的尾端节点为源节点;进入/入口边界节点位(I)标记425,用来表明路径的尾端节点为入口边界节点;出口边界节点(E)标记427,用来表明路径的尾端节点为出口边界节点;以及最短路径树上的节点位(T)标记429,用来表明路径的尾端节点为最短路径树上的节点。标记420还可以包括额外的位,这些位可以是未分配的或是预留的。例如,其余的位可以设置为零且被忽略。在一项实施例中,D标记421、S标记423、I标记425、E标记427,以及T标记429中的每个标记的长度可以为约一位,并且预留字段410的长度可以为约十六位或二十七位。
或者,Node-Flags对象主体400可以指示用于前向搜索域间路径计算的请求或回复消息中的候选节点列表中的节点的特性。D的值等于一可以表明所述节点为目标节点。S的值等于一可以表明所述节点为源节点。I的值等于一可以表明所述节点为入口边界节点。E的值等于一可以表明所述节点为出口边界节点。T的值等于一可以表明所述节点位于最短路径树上。
图9是candidate-path-list对象500的一项实施例的例图,所述对象500包括对象长度字段513、Class-num字段515、C-type字段517,以及候选路径列表字段520。如图所示,candidate-path-list对象中的对象长度字段513的值可以是x,这是对象500以字节为单位时的长度,并取决于对象主体的内容,即,候选路径列表;Class-num字段515的值是103或者可以由IANA分配;C-type字段517的值是一或者可以由IANA分配;并且候选路径列表字段520的值包括候选路径列表。候选路径列表中的每条路径都表示从源节点到尾端节点的路径,该路径与以引入的方式并入本文本中的RFC5440所定义的路径采用相同或相似的格式。
图10是candidate-node-list-obj对象550的一项实施例的例图,所述对象550包括对象长度字段563、Class-num字段565、C-type字段567,以及candidate-node-list字段560。如图所示,candidate-node-list-obj对象中的对象长度字段563的值可以是x,这是对象550以字节为单位时的长度,并取决于对象主体的内容,即,candidate-node-list;Class-num字段565的值是104或者可以由IANA分配;C-type字段567的值是一或者可以由IANA分配;并且候选节点列表字段560的值包括候选节点列表。以下内容可能是candidate-node-list的定义。
候选节点中的ERO可能只含有路径的最后一条链路的路径段,即,从该路径的尾端节点的前一跳节点到该尾端节点。有了这一信息,我们可以将候选节点嫁接到现有的结果路径列表或树中。
候选节点可以与RFC5440中所定义的路径采用相同或相似的格式,但是该候选节点中的ERO可能只含有路径的尾端节点及其前一跳,并且该候选节点可以含有两个新的对象PCE和节点标记。
图11是目标IPv4地址对象600的一项实施例的例图,所述对象600包括对象长度字段613、Class-num字段615、C-type字段617,以及目标IPv4地址列表630。如图所示,目标IPv4地址对象中的对象长度字段613的值可以是x,这是对象600以字节为单位时的长度,并取决于对象主体的内容,即,目标IPv4地址列表;Class-num字段615的值是108或者可以由IANA分配;C-type字段617的值是一或者可以由IANA分配;并且目标IPv4地址列表字段630的值包括目标IPv4地址列表字段633到637。字段633到637中给出的目标IPv4地址表示需要计算到达这些目标的路径。
图12是目标IPv6地址对象700的一项实施例的例图,所述对象700包括对象长度字段713、Class-num字段715、C-type字段717,以及目标IPv6地址列表730。如图所示,目标IPv6地址对象中的对象长度字段713的值可以是x,这是对象700以字节为单位时的长度,并取决于对象主体的内容,即,目标IPv6地址列表;Class-num字段715的值是108或者可以由IANA分配;C-type字段717的值是二或者可以由IANA分配;并且目标IPv6地址列表字段730的值包括目标IPv6地址列表字段733到737。字段733到737中给出的目标IPv6地址表示需要计算到达这些目标的路径。
图13是路径标记中的目标对象800的一项实施例的例图,所述对象800包括对象长度字段813、Class-num字段815、C-type字段817,以及路径标记中的目标序列830。如图所示,路径标记中的目标对象中的对象长度字段的值可以是x,这是对象以字节为单位时的长度,并取决于对象主体的内容,即,路径标记中的目标序列;Class-num字段的值是109或者可以由IANA分配;C-type字段的值是1或者可以由IANA分配;并且路径标记中的目标序列字段830的值包括由32位字构成的序列,其中每个字都含有由32个标记构成的序列。至于请求消息中的END-POINTS对象中所表示的目标序列,路径标记中的目标序列对应于所述END-POINTS对象中的所述目标序列。对于所述目标序列中的每一目标而言,路径标记的目标中存在标记,用于表明是否需要计算到达该目标的最短路径。在一个实例中,用于目标的标记可以设置为零,以表明需要计算到达该目标的最短路径;并且用于目标的标记可以设置为一,以表明已经找到了到达该目标的最短路径。
图14是不在路径中的目标数目对象900的一项实施例的例图,所述对象900包括对象长度字段913、Class-num字段915、C-type字段917,以及不在路径中的目标数目930。如图所示,对象中的对象长度字段913的值可以是八,这是对象900以字节为单位时的长度;Class-num字段915的值可以是110或者可以由IANA分配;C-type字段917的值可以是一或者可以由IANA分配;并且不在路径树中的目标数目字段930的值包括一个数,这个数是尚未在计算出的最终路径中出现的目标的数目。
以下是请求消息的消息格式,其中剩余目标节点、结果路径列表以及候选路径列表进行了扩展:
可以添加到请求消息中的结果路径列表的定义可能与RFC5440中所描述的回复消息中的路径列表的定义相同。
尽管已经主要在为建立MPLSP2MPLSP而确定P2MP路径方面描述了一些方法和系统,但所述方法和系统通常更适用于使用点到多点通信来确定P2MP路径的多域网络。例如,一般而言,图1中的网络100可以用服务器或应用程序代替PCE来负责每个域。多域拓扑可以保持不变。此外,所属领域的一般技术人员可以修改方法190、200和250,以便用于使用P2MP通信的其他类型的多域网络。
上述网络部件、方法以及过程可以在任何通用网络部件上实施,例如,计算机或特定网络部件,其具有足够的处理能力、存储资源以及网络吞吐能力来处理其上的必要工作量。图15示出了典型的通用网络部件1000,其适用于实施本文本所揭示的一项或多项实施例。网络部件1000包含处理器1002(可以称为中央处理器单元或CPU),所述处理器与包含以下项的存储设备通信:辅助存储装置1004、只读存储器(ROM)1006、随机存取存储器(RAM)1008、输入/输出(I/O)设备1010,以及网络连接设备1012。处理器1002可以作为一个或多个CPU芯片实施,或者可以为一个或多个专用集成电路(ASIC)和/或数字信号处理器(DSP)的一部分。
辅助存储装置1004通常由一个或多个磁盘驱动器或可擦除可编程ROM(EPROM)组成,且用于数据的非易失性存储。辅助存储装置1004可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM1008中。ROM1006用于存储在程序执行期间读取的指令以及可能的数据。ROM1006为非易失性存储设备,其存储容量相对于辅助存储装置1004的较大存储容量而言通常较小。RAM1008用于存储易失性数据,还可能用于存储指令。访问ROM1006和RAM1008通常比访问辅助存储装置1004要快。
网络部件1000可以为PCE或者可以实施PCE的功能。例如,网络部件1000可以实施先前所述的任何算法、方法或过程,例如,算法1、算法2或算法3,或者分别参考图2、图3和图4描述的方法190、200和250。I/O设备1010或网络连接设备1012可以包括一个或多个输入端口,用于接收数据,例如,方法200、算法1、算法2和算法3中所述的请求。此外,I/O设备1010或网络连接设备1012可以包括一个或多个输出端口,用于传输数据,例如,图2、图3和图4中相应的方法190、200和250,以及先前所述的算法1、算法2和算法3中所述的请求或回复。网络部件1000可以实施参考图5至图14所讨论的消息或对象中的任一者。
本发明揭示至少一项实施例,且所属领域的技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改在本发明的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确陈述数值范围或限制的情况下,应将此类表达范围或限制理解为包含属于明确陈述的范围或限制内的类似量值的迭代范围或限制(例如,从约为1到约为10包含2、3、4等;大于0.10包含0.11、0.12、0.13等)。例如,只要揭示具有下限Rl和上限Ru的数值范围,则也特别揭示属于此范围内的任何数字。具体而言,所述范围内的以下数字是特别揭示的:R=Rl+k*(Ru-Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%、……、50%、51%、52%、……、95%、96%、97%、98%、99%或100%。此外,还特别揭示由如上文所定义的两个R数字定义的任何数值范围。相对于权利要求的任一元件使用术语“任选地”意味着需要所述元件,或者不需要所述元件,这两种替代方案均在所述权利要求的范围内。应将使用“包括”、“包含”和“具有”等范围较大的术语理解成支持“由……组成”、“基本上由……组成”以及“大体上由……组成”等范围较小的术语。因此,保护范围不受上文所述的描述限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且权利要求书是本发明的实施例。揭示内容中对参考的论述并非承认其为现有技术,尤其是公开日期在本申请案的在先申请优先权日期之后的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容以引入的方式并入本文本中,以提供补充本发明的示例性、程序性或其他细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所揭示的系统和方法可以许多其他特定形式来体现。本发明的实例应被认为是说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦接或直接耦接或通信的其他项也可以采用电方式、机械方式或其他方式通过某一接口、设备或中间部件间接地耦接或通信。其他变化、替代和改变实例可以由所属领域的一般技术人员确定,且可以在不脱离本文本所揭示的范围和精神的情况下作出。
Claims (33)
1.一种与第一域相关联的装置,所述装置包括:
处理器,所述处理器用于计算点到多点(P2MP)路径的一部分,其中所述P2MP路径跨越包含所述第一域的多个域,
其中所述装置不需要获知域的核心树便可计算所述P2MP路径的所述部分;
所述装置进一步包括输入端口,所述输入端口耦接到所述处理器,且用于接收请求消息,其中所述请求消息包括源节点、多个目标节点、结果路径列表以及候选路径列表,并且其中所述处理器用于仅仅基于所述请求消息、所述第一域的图,以及连接到所述第一域的域间链路来计算所述P2MP路径的所述部分。
2.根据权利要求1所述的装置,其中所述P2MP路径是从源到多个目标的最短路径,并且其中所述P2MP路径用于建立多协议标签交换(MPLS)P2MP标签交换路径(LSP)。
3.根据权利要求1所述的装置,其中所述输入端口进一步用于从耦接到所述源的路径计算客户端(PCC)接收初始请求消息,其中在所述初始请求消息中,所述结果路径列表为空,所述候选路径列表中列出的唯一节点为所述源,并且所述多个目标节点包括所有目标节点,其中所述处理器用于仅仅基于所述初始请求消息、所述第一域的图,以及连接到所述第一域的域间链路来计算所述P2MP路径的所述部分。
4.根据权利要求3所述的装置,其中计算所述P2MP路径的所述部分包括:通过确定所述候选路径列表中开销最小的节点来重复地构建所述部分,并且如果当前路径计算单元(PCE)负责所述节点,那么从所述节点生成所述路径的所述部分,而如果所述当前PCE不负责所述节点,那么向负责所述节点的PCE发送第二请求消息,并且其中所述装置包括所述当前PCE。
5.根据权利要求4所述的装置,其中所述请求消息包括请求参数(RP)对象,所述RP对象包括S位,所述S位设置为一以表明所述请求消息是针对前向搜索路径计算的请求。
6.根据权利要求4所述的装置,其中所述目标节点为一些节点,其中需要计算到达这些节点中的每个节点的最短路径,所述结果路径列表为一个路径列表,其中的每条路径都是从所述源节点到接近所述目标节点之一的对应中间尾端节点的最短路径,并且所述候选路径列表为第二路径列表,其中的每条路径都是从所述源节点到对应的第二中间尾端节点的路径,并用于确定所述结果路径列表。
7.根据权利要求1所述的装置,其中所述装置进一步包括输入端口,所述输入端口耦接到所述处理器并用于接收第一回复消息,其中所述第一回复消息包括所述P2MP路径和请求参数(RP)对象,所述RP对象包括:S位,所述S位设置为一以表明所述回复消息是针对前向搜索路径计算的回复;以及T位,所述T位设置为零以表明所述回复消息不用于传送请求消息。
8.根据权利要求7所述的装置,其中所述装置进一步包括输出端口,所述输出端口耦接到所述处理器,并用于在接收所述第一回复消息之后向从中接收请求消息的装置发送第二回复消息,其中所述第二回复消息包括所述P2MP路径和请求参数(RP)对象,所述RP对象包括:S位,所述S位设置为一以表明所述回复消息是针对前向搜索路径计算的回复;以及T位,所述T位设置为零以表明所述回复消息不用于传送请求消息。
9.根据权利要求4所述的装置,其中向负责所述节点的所述PCE发送所述第二请求消息包括:如果所述当前PCE与负责所述节点的所述PCE之间存在PCE会话,那么通过这些PCE之间的PCE会话来向所述PCE发送所述第二请求消息。
10.根据权利要求4所述的装置,其中向负责所述节点的所述PCE发送所述第二请求消息包括:如果所述当前PCE与负责所述节点的所述PCE之间不存在PCE会话,那么反向沿着所述请求消息从所述PCC传到所述当前PCE的所述路径,向结果路径树上的分支点发送回复消息,并且其中所述回复消息包括请求参数(RP)对象,所述RP对象包括T位,所述T位设置为一以告知所述回复消息的接收方所述回复用于向含有所述节点的域传送所述第二请求消息,并且其中从所述分支点开始,存在一条向下路径,所述向下路径到达含有所述结果路径树上的所述节点的前一跳的域,并且到达含有所述节点的所述域。
11.根据权利要求10所述的装置,其中如果接收所述回复消息的PCE并非针对所述分支点,其中所述回复消息具有包括设置为一的T位的所述RP对象,那么所述PCE反向沿着所述请求消息从所述PCC传到所述当前PCE的所述路径,向所述结果路径树上的所述分支点发送所述回复消息,并且其中,否则,接收所述回复消息的所述PCE基于所述回复消息中的信息,沿着所述向下路径,向用于所述节点的所述PCE发送所述第二请求消息。
12.根据权利要求11所述的装置,其中接收所述请求消息的PCE检查当前域是否含有所述节点,并且如果不含有的话,那么所述PCE向负责下一域的PCE发送所述第二请求消息,从所述当前域到含有所述结果路径树上的所述节点的前一跳的所述域并且到含有所述节点的所述域。
13.根据权利要求1所述装置,其中候选节点列表CandidateNodeList包括所述源节点、所述目标节点以及所述结果路径列表或树,并且其中所述源节点为CandidateNodeList中源节点(S)位设置为一的节点,所述目标节点为CandidateNodeList中的标记中的目标节点(D)位设置为一的节点,所述结果路径列表或树包括CandidateNodeList中的一些节点,这些节点均具有设置为一的“最短结果路径树上的节点”(T)位。
14.根据权利要求13所述的装置,其中来自路径计算客户端(PCC)的初始请求消息包括CandidateNodeList中的所述源节点以及CandidateNodeList中的所述目标节点中的每个目标节点,其中零开销与CandidateNodeList中的所述源节点和设置为一的所述S位相关联,并且其中无穷开销与CandidateNodeList中的所述目标节点中的每个目标节点以及所述标记中的设置为一的D位相关联。
15.一种确定点到多点路径的方法,其包括:
在与第一域相关联的装置中计算点到多点(P2MP)路径的一部分,其中所述P2MP路径跨越包含所述第一域的多个域,
其中所述方法不需要获知域的核心树便可计算所述P2MP路径的所述部分;
接收请求消息,其中所述请求消息包括源节点、多个目标节点、结果路径列表以及候选路径列表,所述装置用于仅仅基于所述请求、所述第一域的图,以及连接到所述第一域的域间链路来计算所述P2MP路径的所述部分。
16.根据权利要求15所述的方法,其中所述P2MP路径是从源到多个目标的最短路径,并且其中所述P2MP路径用于建立多协议标签交换(MPLS)P2MP标签交换路径(LSP)。
17.根据权利要求15所述的方法,其进一步包括:
如果当前PCE负责候选列表中开销最小的节点,那么仅仅基于所述请求、所述第一域的图,以及连接到所述第一域的域间链路来计算所述P2MP路径的所述部分,其中所述装置为所述当前PCE,且所述第一域为当前域;以及
如果所述当前PCE并不负责所述候选列表中开销最小的所述节点,且结果路径树上存在向下路径,所述向下路径从所述当前域到达含有所述候选列表中开销最小的所述节点的前一跳的域,并且到达含有所述节点的域,那么向用于所述结果路径树上的当前域的下一跳域的PCE发送所述请求消息。
18.根据权利要求17所述的方法,其进一步包括:
从耦接到所述源的路径计算客户端(PCC)接收初始请求消息,其中在所述初始请求消息中,所述结果路径列表为空,所述候选路径列表中列出的唯一节点为所述源,并且所述多个目标节点包括所有目标节点,其中计算所述P2MP路径的所述部分仅仅是基于所述初始请求消息、所述第一域的图,以及连接到所述第一域的域间链路。
19.根据权利要求18所述的方法,其中计算所述P2MP路径的所述部分包括:通过确定所述候选路径列表中开销最小的节点来重复地构建所述部分,并且如果当前路径计算单元(PCE)负责所述节点,那么从所述节点生成所述路径的所述部分,且如果所述当前PCE不负责所述节点,那么向负责所述节点的PCE发送第二请求消息。
20.根据权利要求19所述的方法,其中所述请求消息包括请求参数(RP)对象,所述RP对象包括S位,所述S位表明所述请求消息是针对前向搜索路径计算的请求。
21.根据权利要求17所述的方法,其中所述目标节点为一些节点,其中需要计算到达这些节点中的每个节点的最短路径,所述结果路径列表为一个路径列表,其中的每条路径都是从所述源节点到对应的中间尾端节点的最短路径,并且所述候选路径列表为第二路径列表,其中的每条路径都是从所述源节点到对应的第二中间尾端节点的路径,并用于确定所述结果路径列表。
22.根据权利要求15所述的方法,其进一步包括:
接收回复消息,其中所述回复消息包括请求参数(RP)对象,所述RP对象包括设置为一的T位、源节点、多个目标节点、结果路径列表以及候选路径列表;所述第一域为当前域;以及
如果结果路径树上不存在任何向下路径,其中所述向下路径是从所述当前域到达含有所述候选列表中开销最小的所述节点的前一跳的域,并且到达含有所述节点的域,那么通过用于所述当前域的前一跳域的PCE与用于所述当前域的PCE之间的PCE会话,反向沿着所述请求消息从所述PCC传到所述当前域的路径,向负责所述前一跳域的所述PCE发送所述回复消息;以及
如果所述结果路径树上存在向下路径,其中所述向下路径是从所述当前域到达含有所述候选列表中开销最小的所述节点的前一跳的域,并且到达含有所述节点的域,那么向用于所述结果路径树上的所述当前域的下一跳域的PCE发送请求消息,其中所述请求消息包括所述源节点、所述多个目标节点、所述结果路径列表以及所述候选路径列表。
23.根据权利要求18所述的方法,其中所述候选路径列表包括所述源节点、所述目标节点以及所述结果路径列表,并且其中所述源节点为所述候选路径列表中源节点(S)位设置为一的节点,所述目标节点为所述候选路径列表中目标节点(D)位设置为一的节点,所述结果路径列表包括所述候选路径列表中“最短结果路径树上的节点”(T)位设置为一的节点。
24.根据权利要求23所述的方法,其中所述初始请求消息进一步包括:所述候选路径列表中与零开销以及设置为一的所述源节点(S)位相关联的所述源节点;所述候选路径列表中与无穷开销以及设置为一的所述目标节点(D)位相关联的所述目标节点的每个目标节点。
25.一种确定点到多点路径的系统,其包括:
彼此耦接的多个路径计算单元(PCE),其中所述PCE中的每个PCE耦接到网络中的不同域;
其中所述PCE用于在未获知域的核心树的情况下,以协作的方式计算从所述域之一中的源到所述域中的多个目标的点到多点(P2MP)路径;
其中源PCE用于将从源域的源节点到每个出口边界节点和每个目标节点的一个或多个源最佳路径段确定为特殊链路,并且其中第一PCE用于将从第一域的入口边界节点到每个出口边界节点和每个目标节点的一个或多个第一最佳路径段确定为第一特殊链路,并且用于基于所述特殊链路和第一特殊链路来确定所述P2MP路径的一部分。
26.根据权利要求25所述的系统,其中所述P2MP路径是从所述源到所述多个目标的最短路径,并且其中所述P2MP路径用于建立多协议标签交换(MPLS)P2MP标签交换路径(LSP)。
27.一种用于路径计算的装置,其包括:
处理器,所述处理器用于:
从网络实体接收针对多协议标签交换(MPLS)点到多点(P2MP)标签交换路径(LSP)计算路径的请求,其中所述请求包括ResultPathTree、RestDestinationNodes,以及CandidateNodeList;
基于CandidateNodeList来确定开销最小的节点C;
确定当前路径计算单元(PCE)是否为负责节点C的PCE,并且如果是的话,那么从CandidateNodeList中移除节点C,将其嫁接到ResultPathTree中,然后从节点C生成所述ResultPathTree;如果不是的话,那么向负责节点C的所述PCE发送请求消息。
28.根据权利要求27所述的装置,其中RestDestinationNodes为目标节点的数目,其中需要确定到达所述目标节点的最短路径,其中ResultPathTree含有从源节点到边界节点和一些目标节点的最短路径,其中CandidateNodeList含有最短路径可以横穿过的节点,其中CandidateNodeList中的每个候选节点都具有以下信息:
从所述源节点到候选节点的路径的开销、前一跳节点以及所述前一跳节点与所述候选节点之间的链路、负责所述候选节点的PCE;以及第一标记,如果设置的话,则所述第一标记表明所述候选节点为目标节点;第二标记,如果设置的话,则所述第二标记表明所述候选节点为源节点;第三标记,如果设置的话,则所述第三标记表明所述候选节点为出口边界节点;第四标记,如果设置的话,则所述第四标记表明所述候选节点为入口边界节点;以及第五标记,如果设置的话,则所述第五标记表明所述候选节点在最短路径树上。
29.根据权利要求28所述的装置,其中生成所述ResultPathTree包括:
如果节点C为目标节点,那么RestDestinationNodes减少一;
如果RestDestinationNodes为零,那么确定最短路径,并且向从中接收请求的所述网络实体发送具有所述最短路径的回复消息。
30.根据权利要求29所述的装置,其中所述回复消息包括请求参数(RP)对象,所述RP对象包括S位,所述S位设置为一以表明所述回复消息是针对前向搜索路径计算的回复。
31.根据权利要求27所述的装置,其中生成所述ResultPathTree进一步包括:
确定节点C是入口边界节点还是源节点;
如果C为入口边界节点或所述源节点,则使用约束最短路径优先(CSPF)来计算从节点C到所述当前域的不在ResultPathTree中的每个出口边界节点以及每个目标节点的路径段,将所述路径段指定为特殊链路,通过特殊链路将连接到节点C的每个节点N合并到CandidateNodeList中,并使节点N与特定开销相关联,其中所述特定开销等于节点C的开销加上节点C与节点N之间的链路的开销。
32.根据权利要求31所述的装置,其中生成所述ResultPathTree进一步包括:
确定节点C是否为出口边界节点,并且确定是否有域间链路连接到节点C;
如果C为出口边界节点并且有域间链路连接到节点C,那么对于连接到节点C但不在ResultPathTree中的每个节点N而言,将节点N合并到CandidateNodeList中,并且使节点N与特定开销相关联,其中所述特定开销等于节点C的开销加上节点C与节点N之间的链路的开销。
33.根据权利要求32所述的装置,其中所述处理器进一步用于:
基于CandidateNodeList来确定开销最小的新节点C;
确定所述当前PCE是否为负责新节点C的PCE,并且如果是的话,那么从CandidateNodeList中移除新节点C,将其嫁接到ResultPathTree中,然后从新节点C生成所述ResultPathTree;如果不是的话,那么向负责新节点C的所述PCE发送新的请求消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161444796P | 2011-02-21 | 2011-02-21 | |
US61/444,796 | 2011-02-21 | ||
PCT/US2012/025821 WO2012115908A1 (en) | 2011-02-21 | 2012-02-20 | System and method for finding point-to-multipoint label switched path crossing multiple domains |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103370908A CN103370908A (zh) | 2013-10-23 |
CN103370908B true CN103370908B (zh) | 2016-06-08 |
Family
ID=45768329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280008760.6A Active CN103370908B (zh) | 2011-02-21 | 2012-02-20 | 用于找到跨多个域的点到多点标签交换路径的系统以及方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8848705B2 (zh) |
EP (2) | EP3337107B1 (zh) |
CN (1) | CN103370908B (zh) |
WO (1) | WO2012115908A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005088180A1 (en) * | 2004-03-10 | 2005-09-22 | Swagelok Company | Fluid device actuator with manual override |
US9385917B1 (en) | 2011-03-31 | 2016-07-05 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US9001667B1 (en) | 2011-03-31 | 2015-04-07 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
CN102255811B (zh) * | 2011-07-14 | 2014-03-12 | 华为技术有限公司 | 一种获取节点间代价的方法,设备和系统 |
US9104543B1 (en) | 2012-04-06 | 2015-08-11 | Amazon Technologies, Inc. | Determining locations of network failures |
US8817591B2 (en) * | 2012-06-15 | 2014-08-26 | Cisco Technology, Inc. | Inter-domain signaling to update remote path computation elements after a call set-up failure |
US8937870B1 (en) | 2012-09-11 | 2015-01-20 | Amazon Technologies, Inc. | Network link monitoring and testing |
US9923805B2 (en) * | 2012-12-05 | 2018-03-20 | Infinera Corporation | Backward-recursive path computation using RSVP-TE |
US9197495B1 (en) | 2013-02-11 | 2015-11-24 | Amazon Technologies, Inc. | Determining locations of network failures |
US9210038B1 (en) | 2013-02-11 | 2015-12-08 | Amazon Technologies, Inc. | Determining locations of network failures |
CN104104600B (zh) | 2013-04-01 | 2018-03-09 | 华为技术有限公司 | 一种lsp建立的方法及网络设备 |
US9742638B1 (en) | 2013-08-05 | 2017-08-22 | Amazon Technologies, Inc. | Determining impact of network failures |
ES2660622T3 (es) | 2013-11-29 | 2018-03-23 | Huawei Technologies Co., Ltd. | Método, sistema y dispositivo de descubrimiento de enlaces |
WO2016039758A1 (en) * | 2014-09-11 | 2016-03-17 | Hewlett Packard Enterprise Development Lp | Non-minimum cost forwarding for packet-switched networks |
US9712447B2 (en) * | 2014-12-29 | 2017-07-18 | Juniper Networks, Inc. | Point-to-multipoint path computation for wide area network optimization |
US9780909B2 (en) * | 2014-12-29 | 2017-10-03 | Juniper Networks, Inc. | Network topology optimization with feasible optical paths |
US9602387B2 (en) * | 2014-12-29 | 2017-03-21 | Juniper Networks, Inc. | Network topology optimization |
CN106161233A (zh) * | 2016-06-28 | 2016-11-23 | 杭州华三通信技术有限公司 | 一种报文转发方法及装置 |
CN109218189B (zh) * | 2017-07-03 | 2022-04-29 | 中兴通讯股份有限公司 | 跨域的路径的标识信息的确定方法、装置及存储介质 |
EP4191979A1 (en) * | 2017-07-14 | 2023-06-07 | Huawei Technologies Co., Ltd. | A method for establishing segment routing for ipv6 tunnel |
US11115863B2 (en) | 2017-12-27 | 2021-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Connection establishement in a cellular network |
US10887185B1 (en) | 2019-03-15 | 2021-01-05 | Juniper Networks, Inc. | Utilizing constraints to determine optimized network plans and to implement an optimized network plan |
US11695685B2 (en) * | 2020-06-16 | 2023-07-04 | Nokia Solutions And Networks Oy | Supporting candidate path selection |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117971A1 (en) * | 2008-03-27 | 2009-10-01 | Huawei Technologies Co., Ltd. | Apparatus, network component and method for computing point-to-multipoint paths |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559334B2 (en) * | 2008-03-28 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | End-to end inter-domain routing |
EP2399363B1 (en) * | 2009-02-19 | 2019-05-29 | Huawei Technologies Co., Ltd. | System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation |
-
2012
- 2012-02-20 EP EP18155311.6A patent/EP3337107B1/en active Active
- 2012-02-20 US US13/400,513 patent/US8848705B2/en active Active
- 2012-02-20 CN CN201280008760.6A patent/CN103370908B/zh active Active
- 2012-02-20 WO PCT/US2012/025821 patent/WO2012115908A1/en active Application Filing
- 2012-02-20 EP EP12706177.8A patent/EP2666268B1/en active Active
-
2014
- 2014-08-27 US US14/470,054 patent/US9998353B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117971A1 (en) * | 2008-03-27 | 2009-10-01 | Huawei Technologies Co., Ltd. | Apparatus, network component and method for computing point-to-multipoint paths |
Non-Patent Citations (2)
Title |
---|
A. Farrel 等.A Path Computation Element (PCE)-Based Architecture.《RFC 4655》.2006, * |
Z. Ali 等.BRPC Extensions for Point-to-Multipoint Path Computation draft-ali-pce-brpc-p2mp-ext-01.txt.《Internet Draft》.2009, * |
Also Published As
Publication number | Publication date |
---|---|
EP3337107A1 (en) | 2018-06-20 |
US8848705B2 (en) | 2014-09-30 |
US20120213224A1 (en) | 2012-08-23 |
US9998353B2 (en) | 2018-06-12 |
EP3337107B1 (en) | 2021-06-16 |
EP2666268B1 (en) | 2019-07-24 |
WO2012115908A1 (en) | 2012-08-30 |
US20140362856A1 (en) | 2014-12-11 |
CN103370908A (zh) | 2013-10-23 |
EP2666268A1 (en) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103370908B (zh) | 用于找到跨多个域的点到多点标签交换路径的系统以及方法 | |
CN103354988B (zh) | 用于计算穿过多个域的点对点标签交换路径的系统和方法 | |
USRE47260E1 (en) | System and method for point to multipoint inter-domain MPLS traffic engineering path calculation | |
CN102282812B (zh) | 保护标签交换路径的入节点和出节点 | |
CN109309623B (zh) | 用于多播保护的到冗余多播源节点的最大冗余树 | |
CN111147373B (zh) | 实现非灵活算法路由器参与灵活算法路由协议 | |
CN102771096B (zh) | 用于计算点到多点标签交换路径的备份入节点的系统和方法 | |
JP2022069590A (ja) | Ipv6トンネルのためのセグメントルーティングを確立するための方法 | |
US8576848B2 (en) | Scalable multiprotocol label switching (MPLS) based networks | |
CN103155499B (zh) | 用于计算点到多点标签交换路径的备份出口的系统和方法 | |
US9571349B2 (en) | Segment routing: PCE driven dynamic setup of forwarding adjacencies and explicit path | |
CN103210617B (zh) | 用于减少网络中的消息和计算开销的方法和系统 | |
US20130034103A1 (en) | System and Method for Finding Segments of Path for Label Switched Path Crossing Multiple Domains | |
CN113904985B (zh) | 一种段列表获取方法、报文转发方法、装置及电子设备 | |
US11855883B2 (en) | System and methods for computing flooding topology | |
US20230388219A1 (en) | IGP Extensions for BIER-TE | |
JP2011091495A (ja) | マルチキャスト経路探索装置、方法及びプログラム | |
JP2006074125A (ja) | 経路制御装置および経路選択方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |