摘要
IETF路径计算单元(Path Computation Element PCE)工作组定义的基于PCE的MPLS/GMPLS网络结构使得路径计算功能从网络设备中独立出来成为可能,通过在网络中部署独立的路径计算单元可以解决MPLS/GMPLS网络中大量链路基于约束的路径计算所需的特别资源问题。本文分析了PCE的结构组成,PCECP协议的特点,并针对在网络中引入PCE单元以后将涉及到的PCE单元的保护和备份问题提出了解决方案。
1 引言
随着MPLS/GMPLS网络的发展,网络拓扑越来越复杂,路由量非常巨大,路径计算也越来越复杂。而流量工程的部署,需要网络设备在复杂的约束条件下计算路由,这些约束条件不仅仅包含静态的约束,如路由器节点间的距离、带宽,光网络设备的线路容量等,也包括动态的约束条件,如网络故障状态、网络拥塞信息等。基于约束的路径计算是MPLS/GMPLS网络流量工程中的一个基本功能模块,尤其是在大型的多域多级MPLS/GMPLS网络中,针对数量庞大的路径以及复杂的约束条件,流量工程所要求的路径计算需要协调不同的网络域以及特别的计算功能。例如在一个n个节点单域单级全互联网络中,网络中路径的数量是n×(n-1)/2,为了在网络故障或者网络流量异常变化的情况下,通过流量工程能迅速恢复或疏通网络业务,要求在故障节点或者异常流量的输入节点网络设备在尽可能短的时间内根据各种约束条件计算出最佳恢复或者迂回路径,计算时间短意味着减少故障情况下网络恢复的时间,减少网络故障对业务的影响,最佳的路径意味着网络利用效率的提高,这种复杂的计算往往需要对网络全局拓扑结构和约束条件的了解,需要大量的CPU计算资源来运行复杂的算法,而当大量CPU资源运用到路径计算中时,对网络设备的稳定性以及整个网络的稳定都造成了一定的冲击,所有这些对于网络设备来说是一个极大的挑战。
2 路径计算单元PCE
为了解决这个问题,IETF PCE工作组提出了基于路径计算单元的MPLS/GMPLS网络结构,在这种结构中,路径计算单元是网络中专门负责路径计算的功能实体,它基于已知的网络拓扑结构和约束条件,根据路径计算客户的请求计算出一条满足约束条件的最佳路径。PCE可以位于网络中的任何地方,可以集成在网络设备内部,如集成在标记交换路由器LSR内部,或者集成在OSS系统内部,也可以是一个独立的设备。路径计算客户PCC (Path Computation Clients) 和PCE之间以及PCE与PCE之间通过专门的路径计算协议 (PCE Communication Protocol PCECP) 通信,提交路径计算请求并获得路径计算结果。PCC可以是MPLS/GMPLS网络中的标记交换路由器LSR或者是网络管理系统NMS。
IETF PCE工作组的职责范围包括:
● 定义基于PCE结构的通用流量工程LSP路径计算技术,包括IGP域内部、IGP域之间、自治域内部和运营商之间点到点、点到多点以及多点到多点的流量工程路径计算。
● 定义与协议无关的路径计算质量、算法复杂度和扩展性评估标准。
● 定义LSR和PCE之间的通信协议需求,包括IGP域内部或多个IGP域、自治域和运营商之间的PCE发现协议,制订新的协议或扩展现有的协议来支持PCE计算的请求与响应机制。所有协议的扩展都必须与相关协议的制订组织配合制订。
● 定义基于PCE结构的路由协议(OSPF,ISIS,BGP)和信令协议(RSVP-TE)的扩展。
● 定义基于PCE结构的策略和安全机制。
● 和相关的标准组织一起定义管理信息库。
PCE工作组主要考虑基于单个域或者少数域的PCE结构,这里的域指一个IGP域或者一个自治系统(AS)。目前PCE工作组没有考虑独立的路径计算单元这种方式运用在Internet这种包含大量域的情况。
Internet的模式是将网络的控制分布在网络中,PCE的功能并不是打破这种模式,相反,PCE的模式也可以完全配合这种分布的模式,如果在每个LSR都配置一个PCE单元的情况下,PCE模式甚至能提供现有的Internet无法提供的功能。例如在网络域之间没有流量工程信息传递的情况下,现有的Internet模式无法提供基于流量工程的路径计算能力,而基于PCE的模式由于PCE之间的发现协议和通信协议可以交流流量工程信息,因而能提供基于流量工程的路径计算能力。
独立的路径计算功能需要PCE之间流量工程数据库的同步和PCE与PCC之间以及PCE与PCE之间协议的定义,下面将分别介绍。
3 流量工程数据库(TED)同步
PCE对路径的计算依赖于流量工程数据库TED的信息,TED中保存的信息越精确,那么PCE计算的结果就更优化,PCE通过下列方式来建立TED。
(1)参与域内流量工程信息的发布。IGP域内流量工程信息的发布依赖于标准的IGP协议扩展,如OSPF流量工程扩展。在一个MPLS/GMPLS域内部,包含PCE功能的节点通过IGP协议的扩展和路由器保持邻居关系来得到TED信息。
(2)带外TED同步。某些情况下,PCE很难参与IGP域内流量工程信息的发布甚至某些域不支持IGP的流量工程扩展,这种情况下需要带外TED同步方法来同步TED信息。
(3)TED内部的信息也可以来自于IGP以外的方式,如链路利用率的策略可以通过网络操作维护人员的配置。
4 PCE协议
与路径计算单元结构相关的协议包括PCE/PCC之间的协议和PCE/PCE之间的协议。PCE//PCC之间的协议主要用来完成路径计算请求的发送以及路径计算响应的接收,PCE/PCE之间的协议主要用来完成PCE之间的自动发现以及PCE之间流量工程数据库(TED)的同步,也用于多PCE协调情况下的路径计算请求与响应。
PCC向PCE的路径计算请求包括下列信息:
● 路径的源和目的地址。
● 带宽和QoS要求。
● 需要使用或者避免的资源以及共享风险链路组。
● 需要的不相交路径数量以及是否准不相交路径是否能接受。
● 链路可靠性要求。
● 策略相关的信息。
在PCE完成链路计算以后,PCE向PCC返回一条或者多条路径,如果路径计算失败,PCE将向PCC返回尽可能多的关于失败原因的反馈信息。也可以包含那些约束不能满足的信息,这样下一次的路径计算请求可以适当放宽这个约束条件以得到可能的路径计算结果。
为了支持网络中PCE的自动发现,PCE工作组扩展了OSPF协议和IS-IS协议。对于采用OSPF路由协议的情况,沿用OSPF的泛洪机制,增加一种新的名为PCE发现的TLV (PCE Discovery (PCED) TLV),这种TLV用于PCE自动发现时将PCE信息泛洪到整个OSPF域内以向域内成员通知该PCE的相关信息,如PCE位置、PCE路径计算的范围(域间、AS域间、跨网络层等)、针对一个或多个域的PCE的可见性、相邻PCE、通信能力和路径计算能力等信息。为了避免PCE的过载,PCE工作组也定义了PCE过载信息,在PCE过载的情况下可以通知网络设备选择其他PCE。
对于采用IS-IS路由协议的情况,PCE工作组在IS-IS通用能力通告机制(IETF: draft-ietf-isis-caps)的基础上定义了一个新的sub-TLV (PCE Discovery (PCED)),该TLV包含在IS-IS路由能力TLV内部。
5 PCE应用场景
针对许多对CPU计算能力要求非常高的路径计算,为了在网络中得到某个参数全局最佳值,如为了得到最大的链路利用率的路径计算,需要大量的CPU资源,通过复杂的算法计算各种情况下的利用率来选取最优值。在多个约束条件下的路径计算也需要大量的CPU资源,如在GMPLS网络中,时延和链路利用率、交换能力、适配功能、编码以及光信号参数约束等混合条件下的路径计算,需要综合网络约束条件进行大量的CPU资源。针对Mulitcast业务的最小代价的点到多点树(Steiner树)计算也需要大量的CPU资源。在这种情况下,由于路由器CPU计算能力的限制,并且路由器CPU同时还需要承担路由器管理、路由协议处理等功能,无法同时完成上述复杂的计算,因此独立的路径计算单元结构将能减少路由器CPU的负荷,从而使路由器CPU能更快地响应路由器管理、路由协议处理等功能。具体来说,PCE可以应用在下列场合:
(1)多个流量工程域的路径计算:由于流量工程信息没有在域之间传递,在建立跨域的流量工程LSP时,入端口的路由器由于没有全局的流量工程信息,只能依靠域出口的边界路由器来建立跨域的LSP,此时无法保证建立的LSP是全局最优的。通过PCE来计算路径,由于PCE之间可以通过路径计算协议PCECP交换流量工程信息,因而可以得到全局优化的流量工程计算结果。
(2)跨非流量工程域的路径计算:当LSP路径需要穿越不支持流量工程的域(如采用OSPF/IS-IS协议而不支持OSPF-TE/ISIS-TE扩展)时,采用独立的路径计算单元结构将使得穿越非流量工程域的路径也满足流量工程的约束要求。
(3)传统网络的路径计算:对于不支持控制平面也不具备路由协议处理能力的设备,如传统的传输设备,通过采用PCE结构,也能得到根据流量工程优化的路径计算结果。
(4)保护路径计算:对于采用快速重路由方法保护的流量工程LSP,通过采用PCE结构,PCE之间可以协调保护路径的计算以得到更优化的保护路径。
(5)多层网络路径计算:对于多层的网络结构,一个服务层的网络往往同时服务于多个客户层网络,不同的客户层网络有不同的路径计算要求,服务层网络往往只能提供大颗粒调度能力,而每一层网络只有本层网络的路径和流量工程信息,如在Overlay模型下的IP/MPLS网络如果其服务层是GMPLS控制的光网络就属于这种情况。这种情况下,采用PCE结构能结合不同层网络的信息,计算最佳的路径。
PCE在网络中的应用包括设备内置PCE的模式,外置独立PCE的模式,基于网络管理系统的PCE模式,多PCE独立计算模式和多PCE协调计算等几种模式,分别如图1至图5所示。
图1 内置PCE功能的节点功能模型
图2 外置PCE功能的节点功能模型
图3 基于网络管理系统的PCE应用模型
图4 多PCE条件下的路径计算
图5 多PCE参加的路径计算
采用PCE来计算流量工程路径只是将设备路径计算功能独立出来,PCE的采用并不影响信令协议建立路径的流程。
PCE在网络中的应用可以分为集中模式和分布模式。集中模式下,一个域内部只有一个PCE,这里的域可以是一个IGP域、一个AS,也可以是网络的一部分。域内所有的路径计算都由这个PCE来完成。这种情况下,PCE的故障将影响整个域的路径计算,因此,对PCE必须采用保护措施。在分布模式下,一个域内部可能有多个PCE,路径的计算可能由一个PCE完成,也可能由多个PCE完成。路径计算客户PCC可以连接到一个PCE上,也可以自由选择连接到某个PCE上。
6 多层网络的LSP计算
在多层的网络结构中,可能上层是IP/MPLS网络,底层是GMPLS控制的光网络,底层网络的流量工程LSP为上层网络构成了一个虚拟的网络拓扑结构(Virtual Network Topology (VNT)),这种情况下的流量工程路径计算可以分为下面两种模式:
(1)单PCE多层路径计算,这种模式下的PCE称为多层PCE,这种PCE收集各层网络的拓扑信息和流量工程信息,因而可以单独计算跨网络层的流量工程路径。
(2)多PCE的多层路径计算。这种情况下,每层网络都有至少一个PCE,每层网络的PCE相互协调,来计算款层的流量工程路径。
下面是一个多PCE的多层路径计算的例子(见图6),网络分为两层,每层有各自的PCE,如果要建立上层网络中从H1到H4的流量工程路径,将按照下面的流程进行:
图6 多PCE的多层路径计算示意图
● LSR H1向客户层PCE发送从H1到H4的流量工程路径计算请求。
● 客户层PCE选择H2和H3作为进出底层网络的出入口平。
● 客户层PCE请求底层PCE计算从H2到H3的流量工程路径。
● 底层PCE向客户层PCE返回H2-L1-L2-H3的路径。
● 客户层PCE向LSR H1返回H1-H2-L1-L2-H3-H4的路径。
7 PCE的保护和备份
在单PCE集中计算模式下,显然PCE设备成为了一个单点故障源,如果PCE设备本身发生故障或者连接PCE设备的通道发生故障将影响整个域的路径计算,因此,对PCE必须采取保护措施。对PCE的保护通常包含两个层面的保护,首先是设备的保护,对独立的PCE设备而言,可以采用两套系统1+1热备份的方法,这种方法可以保护设备本身,对PCC而言,这两套系统看起来是一个系统。其次是在节点故障的情况下,此时包含PCE设备的节点可能丢失和网络中其他所有设备的通信,此时整个网络域将失去路径计算的能力,无法提供可靠的保护和恢复。针对这种情况,PCE工作组在PCE的发现机制中定义了两种方法来提供保护。首先是故障的及时发现,在PCE通信协议PCEP中定义了Keep Alive消息类型,通过PCC和PCE之间周期性地发送Keep Alive消息来检测两者之间的通信是否正常。PCE通信协议PCEP中定义的Keep Alive消息最短间隔是1s。其次,一个域内部可以有多个PCE,路径计算客户PCC可以固定连接到一个PCE上,也可以自由选择连接到某个PCE上。PCE之间可以进行负载的均衡,一个域内部多个PCE的相关信息在PCE的自动发现机制中有详细定义。
8 结束语
随着MPLS技术在网络中的大量应用和MPLS网络规模的扩大,通过采用基于路径计算单元PCE的网络结构可以实现跨域和全局范围的流量工程计算以及路径优化,对提高网络运行效率和质量具有很高的价值。而对基于GMPLS的ASON网络而言,路由技术是ASON核心技术之一,采用基于路径计算单元PCE的结构同样也可以解决ASON网络中跨域,尤其是多层网络的选路问题,对ASON网络的大规模部署具有重要意义。(中国联通网)