用于广域网优化的点到多点路径计算的制作方法

文档序号:13672049阅读:141来源:国知局
技术领域本发明涉及计算机网络,并且更具体而言,涉及计算机网络路径的路径计算。

背景技术:
通常被称作路由器的网络内的路由设备维持描述通过网络的可用路由的路由信息表。网络路由器维持描述通过网络的可用路由的路由信息。在接收分组之后,路由器检查分组内的信息并且按照路由信息来转发分组。为了维持网络的精确表示,路由器按照诸如为内部网关协议(IGP)或边界网关协议(BGP)的一个或多个路由协议来交换路由信息。术语“链路”通常用于指代网络上的两个设备之间的连接。链路可以为诸如为铜线、同轴电缆、不同的光纤线路的宿主中的任意者或者无线连接的物理连接。除此之外,网络设备可以限定“虚拟”或“逻辑”链路,并且将虚拟链路映射到物理链路。换而言之,虚拟链路的使用提供了一定程度的抽象。由于网络大小和复杂性增长,任意给定链路上的流量可能接近链路的最大带宽容量,由此导致拥塞和损失。多协议标签交换(MPLS)为用于设计因特网协议(IP)网络内的流量模式的机制。使用MPLS,源设备能够请求通过网络的路径,即,标签交换路径(LSP)。LSP限定通过网络的清晰路径以携带来自源设备的分组到目标设备。与特定LSP相关联的短标签附于经由LSP通过网络行进的分组。沿着路径的路由器协作执行MPLS操作以沿着所建立的路径来转发MPLS分组。LSP可以用于包括带宽管理和服务质量(QoS)的广泛的流量工程目的。流量工程可以应用于网络内以用于广泛的目的,诸如将围绕网络故障或拥塞链路的流量路由或者沿着满足一组显式要求的通过网络的特定路径来引导一定的流量。历史上,MPLS标记分发由诸如为标签分发协议(LDP)、具有流量工程扩展的资源预留协议(RSVP-TE)和标签的边界网关协议(LBGP)的协议来驱动。标签交换路由器(LSR)借以分发标签以支持沿着正常路由路径的MPLS转发的LDP过程在以下描述:L.Anderson,“LDPSpecification”,RFC3036,InternetEngineeringTaskForce(IETF),2001年1月,这里通过引用将其全部内容并入。RSVP-TE使用诸如为带宽可用性的约束信息来在资源受限网络内计算和建立LSP。RSVP-TE可以使用诸如为中间系统-中间系统(IS-IS)协议或者开放最短路径优先(OSPF)协议的扩展以携带流量工程信息的链路状态内部路由协议累积的带宽可用性信息。LSP的头端路由器通常作为入口路由器而知晓,而LSP的尾端的路由器通常作为出口路由器而知晓。入口路由器和出口路由器以及沿着支持MPLS的LSP的中间路由器一般被称为标签交换路由器(LSR)。将沿着LSP转发的一组分组称作转发等价类(forwardingequivalenceclass,FEC)。对于每个LSP可能存在多个FEC,但是对于任意给定FEC,可能仅仅有一个活动LSP。FEC定义典型地包括遍历LSP的目标的IP地址,例如,分组去往的IP地址。入口标签边缘路由器(LER)使用沿着LSP从出口LER朝上传播的路由信息来确定LSP以及附加标记到FEC的每个分组。LSR使用MPLS协议来从下游LSR接收MPLS标签映射以及公告(advertise)MPLS标签映射到上游LSR。当LSR从上游路由器接收MPLS分组时,其根据其转发表中的信息来交换MPLS标签并且转发分组到适当的下游LSR或LER。出口LER从分组中去除标签并且按照基于非标签分组转发技术来转发分组到其目标。一般,沿着LSP的每个路由器维持关联FEC与输入标签和输出标签的标签映射。以这一方式,当LSR接收经标签的分组时,LSR可以通过在上下文中执行查找来以输出标签来置换分组上的标签(即,输入标签)。LSR接着可以转发分组到沿着LSP的下一LSR或LER。来自给定路由器的沿着LSP的下一路由器通常被称作下游路由器或下一跳。换而言之,一旦分组由LER映射到LSP上,沿着LSP的LSR基于附于分组的标签来转发分组,而非基于分组目标和LSR的路由信息做出单独转发的决定。流量工程MPLSLSP(TELSP)可以以此方式用于限定和实现满足网络传送的一定的流量的要求的从源设备到目标设备的路径。实现多播的网络、或“多播网络”不同于常规点到点流或LSP地使用诸如为路由器和链路的网络资源。这样的网络可以建立点到多点(P2MP)LSP以从单个源多播分组到多个目标。使用P2MPLSP,为P2MPLSP的节点的网络的路由器可以在P2MPLSP的给定分支上发送映射到P2MPLSP下游的分组的单个副本。P2MPLSP的下游路由器根据需要来复制分组,从而到达下游目标。以此方式,如果网络被配置成从源到多个目标来多播(可选地,“广播”)相同的数据,在树的每个分支上,流量需要被计算仅仅一次,而不论依赖于用于传送流量的分支的链路之上的源到目标路径的数量。如果用于相同P2MP多播树的到相异目标的路径使用尽可能多的路径上的公共元素,网络资源被更有效(即,优化)地使用。

技术实现要素:
一般,描述技术以用于确定网络中的点到多点(P2MP)标签交换路径(LSP)。例如,用于网络的控制器获得描述网络拓扑结构的拓扑结构信息并且基于拓扑结构信息使用网络拓扑结构模型来确定针对一组多个P2MPLSP的通过网络的从至少一个源到一组目标的路径的解。控制器接着在通过要么(1)通过例如应用高链路惩罚到模型中的链路度量来阻止网络拓扑结构中的链路、要么(2)除去阻止之前已经阻止的网络拓扑结构中的链路来修改网络拓扑结构模型之前为解确定网络的总资源成本。“总资源成本”表示基于使用的网络资源的整体成本以及在某些情况下由P2MPLSP使用的这些资源的比例来针对P2MPLSP确定的路径所计算的整体“成本”值。控制器迭代以上操作同时存储限定针对所有之前的迭代所确定的最佳(例如,最低成本)解的数据。在某些示例中,控制器应用链路惩罚到链路度量并且根据惩罚准则应用到解以促进路径相异性,例如,避免路由回路、和/或满足LSP约束。这些惩罚成本被添加到设置成得到解的总成本的P2MPLSP的“总资源成本”值。阻止网络拓扑结构中的链路可以包括应用高惩罚到最短路径(或最短-相异-路径)算法使用的链路度量(在一个或两个方向中)以确定单独的P2MPLSP的路径。控制器基于链路度量(加上通过在一个或两个方向中阻止链路添加的任意度量惩罚)来确定P2MPLSP路径并且基于使用的网络资源来确定P2MPLSP集的“总资源成本”。控制器接着可以将所应用的惩罚并入到解的总成本中,作为确定解的迭代的一部分,总成本包括用于解的网络的总资源成本以及任意应用的惩罚。这一链路阻止和除去阻止模式有效地确定了P2MPLSP集的路径并且由此确定解的总资源成本和总惩罚成本。作为迭代的一部分,控制器可以确定针对迭代所确定的解是否具有比之前的解更低的总成本。控制器可以通过应用仿真退火以确定是否接受解(包括经修改的网络拓扑结构)作为用于后续对网络拓扑结构的修改的基础或者替代地还原到作为基础的用于之前迭代的解来尝试避免解总成本的梯度的局部最小。在某些示例中,如果解的总成本少于之前的解的总成本,则控制器接受解。然而,如果解的总成本大于之前的解的总成本,则控制器仍然可以取决于与总成本差异的幅度和/或迭代进程相称的动态概率来接受解。例如,控制器可以更不可能地接受剩余更少的将执行的迭代次数的更差的(即,更大的总成本)解。控制器可以根据以上来迭代固定迭代次数或者直到达到一组可接受的准则,同时存储限定为所有之前的迭代确定的最佳解的数据。在完成固定迭代次数处,控制器可以利用针对P2MPLSP的路径来配置网络。在某些示例中,控制器可以尝试识别用于P2MPLSP集(或者来自不同源的两个P2MPLSP集)的多个相异的路径,以促进P2MPLSP集的冗余。技术可以提供一个或多个优点。例如,应用上述技术的控制器可以以每个迭代来促进沿着与解决路由回路、正确计算满足物理相异性的路径的概率、故障恢复、和/或LSP约束的满足的总成本有关的用于P2MPLSP路径的解总成本梯度来朝着全局优化移动。虽然全局优化解可能不能在所有情况中均达到,技术可以避免至少解的总成本梯度上的某一局部最小化,这可以带来稳健且更低的资源成本的解。在一个示例中,一种方法包括:由网络的控制器获得用于至少一个点到多点标签交换路径(P2MPLSP)的配置信息。该方法还包括:由控制器经由至少一个协议从网络获得限定用于网络的网络拓扑结构的网络拓扑结构信息。该方法进一步包括由控制器基于网络拓扑结构来确定针对该至少一个P2MPLSP的包括通过网络的第一相应的路径的第一解。该方法还包括由控制器在基于网络拓扑结构生成经修改的网络拓扑结构之后确定针对该至少一个P2MPLSP的包括通过网络的第二相应的路径的第二解。该方法进一步包括由控制器利用第一解和第二解中的具有最低总成本的解来配置网络,解的最低总成本包括用于解的网络的总资源成本。在另一示例中,用于网络的控制器包括耦合到存储器和路径计算模块的一个或多个处理器,该路径计算模块被配置成由该一个或多个处理器执行以:获得用于至少一个点到多点标签交换路径(P2MPLSP)的配置信息;经由至少一个协议从网络获得限定用于网络的网络拓扑结构的网络拓扑结构信息;基于网络拓扑结构来确定针对该至少一个P2MPLSP的包括通过网络的第一相应的路径的第一解;在基于网络拓扑结构生成经修改的网络拓扑结构之后确定针对该至少一个P2MPLSP的包括通过网络的第二相应的路径的第二解。控制器还包括路径提供模块,该路径提供模块被配置成由该一个或多个处理器执行以利用第一解和第二解中的具有最低总成本的解来配置网络,解的最低总成本包括用于解的网络的总资源成本。在另一示例中,非瞬态计算机可读介质包含指令,该指令用于使得网络的控制器的一个或多个可编程处理器:获得用于至少一个点到多点标签交换路径(P2MPLSP)的配置信息;经由至少一个协议从网络获得限定用于网络的网络拓扑结构的网络拓扑结构信息;基于网络拓扑结构来确定针对该至少一个P2MPLSP的包括通过网络的第一相应的路径的第一解;在基于网络拓扑结构生成经修改的网络拓扑结构之后确定针对该至少一个P2MPLSP的包括通过网络的第二相应的路径的第二解;以及利用第一解和第二解中的具有最低总成本的解来配置网络,解的最低总成本包括用于解的网络的总资源成本。本发明的一个或多个实施例的细节在所附附图和以下描述中给出。本发明的其他特征、目的、以及优点将从描述和附图、以及从权利要求中显而易见。附图说明图1为图示按照本公开内容的技术的其中路径计算设备被配置成计算用于点到多点标签交换路径(LSP)的路径的网络系统的框图。图2A-2B为描绘根据这里所描述的技术的由控制器确定并且在网络中提供的用于点到多点标签交换路径的相异P2MP路径的框图。图3为图示按照本公开内容中描述的技术的其中控制器获得多层网络的抽象链路数据并且使用抽象链路数据来确定点到多点标签交换路径的路径的示例网络系统的框图。图4为图示按照本公开内容的技术的被配置成计算点到多点标签交换路径的路径的示例控制器的框图。图5为图示根据本公开内容中描述的技术的确定和优化用于P2MPLSP的相异的路径的用于一个或多个控制器的示例操作模式的流程图。图6-8为图示根据本公开内容中描述的技术的在示例运行以确定和优化用于网络中的P2MPLSP的相异的路径期间的中间和最终参数和结果的曲线图。通篇图和文字中,相同的附图标记指代相同的元素。具体实施方式图1为图示按照本公开内容中的技术的其中路径计算设备被配置成计算用于点到多点标签交换路径(LSP)的路径的网络系统的框图。在这一示例中,网络系统2包括控制器10和具有由网络链路(未示出)在图示的拓扑结构(topology)中互连的多个路由器4A-4F(“路由器4”)的多协议标签交换(MPLS)网络6(“网络6”)。网络6可以表示广域网(WAN)。每对连接的路由器4可以由一个或多个网络链路9连接,其中每个图示的网络链路9A-9I表示具有相关联的总带宽的逻辑或物理链路。网络6的其他示例可以包括根据一组网络链路9来设置在变化拓扑结构中的路由器4。网络6的物理链路可以包括例如以太网PHY、同步光网络(SONET)/同步数字体系(SDH)、Lambda、或包括分组传送能力的其他层2数据链路。网络6的逻辑链路可以包括例如以太网虚拟局域网(VLAN)、多协议标签交换(MPLS)标签交换路径(LSP)、或MPLS流量工程(TE)LSP。网络6的各种示例可以包括几百或者甚至几千的路由器。进而,尽管这里主要描述为路由器,路由器4可以表示网络6内转发包括光数据的网络流量的其他类型的转发设备,诸如L2交换机、L3交换机、以及L2/L3交换机、中继器、光交叉连接(OXC)、光分插复用器(OADM)、复用设备、或其他类型的设备。例如,路由器4可以为由中间OXC光连接的层三(L3)路由器,诸如路由器4具有访问OXC的链路的OXC。因此,本公开内容中描述的技术不仅可以应用于分组/标签交换流,而且还可以应用于具有不同类型的接口交换的其他流类型,诸如基于Lambda的、波分复用(WDM)/密集WDM(DWDM)、以及基于时分复用(TDM)的。路由器4为由控制器10服务的路径计算域的成员。路径计算域可以包括例如内部网关协议(例如,开放最短路径优先(OSPF)或中间系统到中间系统(IS-IS))区域、自治系统(AS)、服务提供商网络内的多个AS、横跨多个服务提供商网络的多个AS。在各种示例中,路由器4的不同的组合可以包括多个AS的成员路由器。连接路由器4的网络链路因而可以为内部链路、AS间传送链路、另一类型的网络链路、或其某一组合。虽然关于路由器图示和描述,技术可以可应用于例如实现多协议标签交换(MPLS)或通用MPLS(GMPLS)的任意网络设备。控制器10为使用从网络6的路由器4学习的流量工程信息21来确定路径并且为网络中的P2MPLSP18配置多点到多点(P2MP)标签交换路径(LSP)的路径计算设备。换而言之,在相同的网络6上可以有多组潜在的相异的(diverse)P2MP树,每组P2MP树携带不同的广播信道并且在不同组的源和目标之间。如这里进一步具体描述的,控制器10可以在P2MPLSP18被限定并且添加到网络或修改时配置网络中的P2MPLSP18的路径(例如,在改变用于P2MPLSP18中任意者的流量带宽或目标列表之后)。控制器10还可以或者可选地在网络6的拓扑结构改变时动态地重新计算用于P2MPLSP18的经更新的路径并且配置网络中的经更新的路径,包括通过添加或去除链路或节点的网络6的网络拓扑结构的变化、链路9的物理路径的变化、和/或链路9和路由器4中的一个或多个的故障。如这里所使用的,一组P2MPLSP可以可选地限定为:(1)广播相同的流量到一组目标的单独的分离的多组LSP;(2)在两个相异的路径上广播来自相同的源的相同的流量到一组目标的单独的分离的多组LSP,其中从源到每个目标的该两个相异的路径是相异的(或者给定网络拓扑结构,尽可能相异);或(3)在两个相异的路径上从两个不同的源广播相同的流量到一组目标的单独的分离的多组LSP,其中从不同的源到相同的目标的该两个路径必须相异或者在给定网络拓扑结构的情况下尽可能相异。这里使用的与P2MPLSP相关的术语“路径”和“P2MP路径”指代从源前进到多个目标的点到多点(P2MP)路径。用于P2MPLSP的多播分发树可以设置在为P2MPLSP计算的路径上。在某些示例中,并且对于P2MPLSP,控制器10尝试确定从源到多个目标的相异的P2MP路径。如果两个路径不共享任何公共的物理或用户定义类型的资源,则这两个路径“相异”(除了给定网络拓扑结构,需要之外)。例如,用户可以规定这两个路径不可以共享下面的元素中的任意者或全部:相同的节点;相同的链路或者具有来自(链路和/或节点的)相同的共享风险组的具有公共记录的链路。路径相异性(diversity)可以包括节点相异性、链路相异性、以及共享风险相异性,其中节点相异性指代不共享任何节点的路径,链路相异性指代不共享任何链路的路径,以及共享风险相异性指代没有任何共享风险的路径。对于源S到一组目标{D1,D2,Dn
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1