04-MPLS TE配置
本章节下载: 04-MPLS TE配置 (787.85 KB)
1.6 配置MPLS TE隧道采用RSVP-TE动态建立的CRLSP
1.6.3 配置通过IGP的TE扩展发布链路的MPLS TE属性
1.7 配置MPLS TE隧道采用PCE计算的路径建立CRLSP
1.15.3 使用RSVP-TE配置跨域的MPLS TE隧道示例
1.15.4 使用PCE计算的路径建立跨区域的MPLS TE隧道示例
1.15.6 配置快速重路由示例(手工配置Bypass隧道)
网络拥塞是影响骨干网络性能的主要问题。拥塞的原因可能是网络资源不足,也可能是网络资源负载不均衡导致的局部拥塞。TE(Traffic Engineering,流量工程)可以用来解决负载不均衡导致的拥塞问题。
流量工程通过实时监控网络的流量和网络单元的负载,动态调整流量管理参数、路由参数和资源约束参数等,使网络运行状态迁移到理想状态,优化网络资源的使用,避免负载不均衡导致的拥塞。
MPLS TE结合了MPLS技术与流量工程,通过建立沿着指定路径的LSP隧道进行资源预留,使网络流量绕开拥塞节点,达到平衡网络流量的目的。
MPLS TE是一种可扩展性好、简单的流量工程解决方案,受到了服务提供商的青睐。通过MPLS TE技术,服务提供商能够在已有的MPLS骨干网上简单地部署流量工程,充分利用现有的网络资源提供多样化的服务,同时可以优化网络资源,并进行科学的网络管理。
CRLSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)是基于一定约束条件建立的LSP。与普通LSP不同,CRLSP的建立不仅依赖路由信息,还需要满足其他一些条件,比如带宽需求、显式路径等。
MPLS TE可以通过静态方式、动态方式或PCE方式建立CRLSP。
MPLS TE隧道是从头节点到目的节点的一条虚拟点到点连接。通常情况下,MPLS TE隧道由一条CRLSP构成。在部署CRLSP备份或需要将流量通过多条路径传输等情况下,需要为同一种流量建立多条CRLSP,在这种情况下,MPLS TE隧道由一组CRLSP构成。
头节点上MPLS TE隧道由MPLS TE模式的Tunnel接口标识。当流量的出接口为Tunnel接口时,该流量将通过构成MPLS TE隧道的CRLSP来转发。
静态建立CRLSP是指在流量经过的每一跳设备上(包括Ingress、Transit和Egress)分别手工指定入标签、出标签、流量所需的带宽等信息,从而建立满足约束条件的CRLSP。该方式的优点是配置简单,缺点是不能根据网络的变化动态调整建立的CRLSP。
静态CRLSP的详细介绍,请参见“MPLS配置指导”中的“静态CRLSP”。
动态建立CRLSP是指根据链路状态信息计算出路径后,通过标签分发协议(如RSVP-TE)通告标签,并在经过的节点上为流量预留所需的带宽资源,从而建立满足约束条件的CRLSP。该方式的优点是能根据网络的变化动态调整建立的CRLSP,且支持CRLSP备份、快速重路由等功能,缺点是配置复杂。
采用动态方式建立CRLSP时,MPLS TE需要实现如下功能:
· 发布包含链路TE属性的信息,以便根据这些信息选择满足约束条件的路径。
· 计算出到达某个节点的满足TE属性要求的最短路径。
· 通过标签分发协议沿着计算出的路径建立CRLSP,并预留资源。
MPLS TE通过对现有的使用链路状态算法的IGP协议(如OSPF和IS-IS)进行扩展来发布每条链路的TE相关属性,如链路的最大带宽、链路的最大可预留带宽、每个优先级的未被预留带宽、链路属性等。这些信息通过IGP协议在网络上泛洪。每台设备收集本区域或本级别所有设备上每条链路的TE相关信息,生成TEDB(TE DataBase,流量工程数据库)。
MPLS TE使用CSPF(Constraint-based Shortest Path First,基于约束的最短路径优先)算法,根据通过IS-IS或OSPF扩展产生的TEDB,计算出到达某个节点的符合带宽、亲和属性、建立/保持优先级、显式路径等约束条件的最短路径。
CSPF是一种改进的SPF(Shortest Path First,最短路径优先)算法。CSPF的计算过程就是针对MPLS TE隧道的要求,先对TEDB中的链路进行剪切,把不满足TE属性要求的链路剪掉;再采用SPF算法,寻找一条到Egress节点的满足TE属性要求的最短路径(即一组LSR地址)。
CSPF计算的结果是一条满足约束条件的完全明确的路径,通常只在MPLS TE隧道的Ingress节点进行CSPF计算。
MPLS TE隧道的约束条件需要在Ingress节点上配置,约束条件包括:
· 带宽
带宽要求是指经过MPLS TE隧道的流量所属的服务类型及其所需的带宽。只有链路上针对流量所属服务类型的可预留带宽大于等于流量所需带宽时,该链路才满足带宽约束条件。
· 亲和属性
MPLS TE隧道的亲和属性和链路的属性配合,决定了该隧道可以使用哪些链路。
链路属性、亲和属性、亲和属性的掩码都是32位的二进制数。如果希望某条链路能够被隧道所用,则需要满足如下要求:
¡ 对于掩码为1的位,亲和属性为1的位中链路属性至少有1位也为1,亲和属性为0的位对应的链路属性位不能为1。
¡ 对于掩码为0的位,不对链路属性的相应位进行检查。
例如,亲和属性为0xFFFFFFF0,掩码为0x0000FFFF,则可用链路的链路属性高16位可以任意取0或1,17~28位中至少有1位为1,且低4位不能为1。
· 建立和保持优先级
如果在建立MPLS TE隧道时,无法找到满足所需带宽要求的路径,可以拆除另外一条已经建立的MPLS TE隧道,占用为它分配的带宽资源,这种处理方式称为抢占。
MPLS TE隧道使用两个优先级属性来决定是否可以进行抢占:建立优先级(Setup Priority)和保持优先级(Holding Priority)。建立优先级和保持优先级的取值范围都是0~7,数值越小则优先级越高。只有当一条MPLS TE隧道的建立优先级数值小于另一条MPLS TE隧道的保持优先级时,该隧道才可以抢占另一条隧道的资源。
MPLS TE隧道的建立优先级不能高于该隧道的保持优先级,即其在数值上应大于或等于保持优先级,否则可能会导致MPLS TE隧道间无穷尽地互相抢占,造成振荡。
· 显式路径
通过显式路径可以指定到达某个目的地所必须经过的节点、不允许经过的节点等。将显式路径作为约束条件,可以动态计算出符合规划要求的路径。
显式路径分为:
¡ 严格显式路径:指定必须经过哪些节点,并且指定的下一跳与前一跳必须直接相连。通过严格显式路径,可以最精确地控制MPLS TE隧道所经过的路径。
¡ 松散显式路径:指定必须经过哪些节点,并且指定的下一跳和前一跳之间可以存在其他节点。通过松散显式路径,可以模糊地限制MPLS TE隧道所经过的路径。
严格显式路径和松散显式路径还可以配合使用,即在显式路径中部分节点之间必须直接相连,部分节点之间可以存在其他节点。
使用CSPF算法计算出满足约束条件的路径后,MPLS TE通过标签分发协议沿着计算出的路径建立CRLSP,并在路径经过的节点上预留资源。
目前,设备上支持的MPLS TE标签分发协议为RSVP-TE。RSVP(Resource Reservation Protocol,资源预留协议)是一种用来在网络上请求预留资源的信令协议。RSVP经扩展后可以支持MPLS标签的分发,并在传送标签绑定消息的同时携带资源预留信息,这种扩展后的RSVP称为RSVP-TE。
RSVP的详细介绍,请参见“MPLS配置指导”中的“RSVP”。
在MPLS TE网络中,作为PCC(Path Computation Client,路径计算客户端)的LSR需要获取到达目的地的CRLSP路径时,向PCE(Path Computation Element,路径计算单元)发起路径计算请求,PCE执行路径计算后对该请求进行应答,并提供计算后的路径。PCC根据PCE计算后的路径使用RSVP-TE建立CRLSP。
· PCE(Path Computation Element,路径计算单元):网络中的一个实体,用于为网络上的设备提供路径计算服务,可进行区域内的路径计算,也可在复杂的网络环境中计算完整的CRLSP路径,比如,在区域间的ABR上部署PCE,用来计算跨区域的CRLSP。PCE分为以下两种类型:
¡ Stateless PCE(Stateless Path Computation Element,无状态PCE):该类型PCE仅提供路径计算服务。
¡ Stateful PCE(Stateful Path Computation Element,有状态PCE):该类型PCE掌握了网络内所有PCC维护的CRLSP信息,可以重新计算和优化域内的CRLSP,以达到最大程度分配和使用网络资源的目的。Stateful PCE包括Active-Stateful PCE(Active-Stateful Path Computation Element,主动有状态PCE)和Passive-Stateful PCE(Passive-Stateful Path Computation Element,被动有状态PCE)两种类型。被动有状态PCE仅维护PCC的CRLSP信息,不能接受PCC的CRLSP托管并对CRLSP进行优化,主动有状态PCE可以接受PCC的CRLSP托管并对CRLSP进行优化。
· PCC(Path Computation Client,路径计算客户端):请求PCE执行路径计算,并根据PCE返回的路径信息建立CRLSP。PCC缺省为Stateless PCC(Stateless Path Computation Client,无状态PCC),如果PCE为Stateful PCE,PCC也需要为对应的Stateful类型,即Active-Stateful PCC(Active-Stateful Path Computation Client,主动有状态PCC)和Passive-Stateful PCC(Passive-Stateful Path Computation Client,被动有状态PCC)。
· PCEP(Path Computation Element Communication Protocol,路径计算单元通信协议):运行于PCC与PCE之间、或者PCE与PCE之间的通信协议,用于建立PCEP会话,交互PCEP消息。该协议基于TCP。
PCE的发现有两种方式:
· 静态指定:在PCC上静态指定PCE。
· 动态发现:通过OSPF TE通告PCE信息,使得网络上的其它LSR可自动发现PCE。
PCE路径计算有两种方式:
· EPC(External Path Computation,外部路径计算):此方式由单台PCE独立完成CRLSP的计算,通常用于区域内的路径计算。
· BRPC(Backward-Recursive PCE-Based Computation,反向递归路径计算):此方式通过多台PCE配合完成CRLSP的计算,通常用于跨区域的路径计算。
以BRPC的计算方式为例,在多区域的网络环境中,如图1-1所示,两台ABR分别被配置为PCE 1和PCE 2。PCE 1可计算Area 0和Area 1内的路径,PCE 2可计算Area 0和Area 2内的路径。当PCC需要获取到达Area 2的CRLSP路径时,路径计算步骤为:
(1) PCC向PCE 1发起路径计算请求。
(2) PCE 1收到该请求后,发现无法计算Area 2内路径,则继续向PCE 2发起到达Area 2的路径计算请求。
(3) PCE 2应答该请求,并提供到达Area 2的路径。
(4) PCE 1收到PCE 2的应答后,汇总路径信息,并对PCC的路径请求进行应答,提供到达Area 2的路径。
(5) PCC根据PCE计算后的路径使用RSVP-TE建立CRLSP。

当MPLS TE隧道建立之后,流量不会自动通过MPLS TE隧道转发,需要通过如下方法配置流量沿MPLS TE隧道转发。
使用静态路由转发流量,是指定义一条通过Tunnel接口到达目的网络地址的静态路由,把流量引入到MPLS TE隧道上进行转发。
静态路由是将流量引入MPLS TE隧道的最简便、直观的方法。该方法的缺点是:如果多个目的网络的流量都需要引入到MPLS TE隧道上,则需要配置多条静态路由,配置和维护难度比较大。
有关静态路由的介绍请参见“三层技术-IP路由配置指导”中的“静态路由”。
使用PBR(Policy-based Routing,基于策略的路由)转发流量,是指定义策略路由,在策略路由中将匹配ACL规则的流量的出接口指定为Tunnel接口,并在流量的入接口上应用该策略路由,从而实现将流量引入到MPLS TE隧道上进行转发。
策略路由方式不仅可以根据目的IP地址来匹配需要通过Tunnel接口转发的流量,还可以根据源IP地址、协议类型等来匹配流量。与静态路由方式相比,策略路由方式更加灵活,但是配置比较复杂。
有关策略路由的介绍请参见“三层技术-IP路由配置指导”中的“策略路由”。
自动路由发布是指将MPLS TE隧道发布到IGP(OSPF或IS-IS)路由中,让MPLS TE隧道参与IGP路由的计算,使得流量可以通过MPLS TE隧道转发。自动路由发布方式的配置和维护都比较简单。
自动路由发布包括以下两种方式:
· IGP Shortcut:也称为自动路由宣告(AutoRoute Announce),该功能将MPLS TE隧道当作一条直接连接隧道Ingress节点(头节点)和Egress节点(尾节点)的链路,在隧道的Ingress节点上进行IGP路由计算时考虑该MPLS TE隧道。
· 转发邻接:该功能将MPLS TE隧道当作一条直接连接隧道Ingress节点和Egress节点的链路,通过IGP路由协议将该链路发布到网络中,以便网络中的节点在路由计算时使用MPLS TE隧道。
IGP Shortcut和转发邻接功能的区别在于:
· 在隧道的Ingress节点上开启IGP Shortcut功能后,只有Ingress节点计算IGP路由时会考虑MPLS TE隧道。IGP Shortcut功能不会通过IGP路由协议将MPLS TE隧道作为一条链路发布出去。因此,其他设备在路由计算时不会考虑MPLS TE隧道。
· 在隧道的Ingress节点上开启转发邻接功能后,Ingress节点会通过IGP路由协议将MPLS TE隧道作为一条链路发布出去。因此,IGP网络中的所有设备在路由计算时都会考虑MPLS TE隧道。
图1-2 IGP Shortcut与转发邻接示意图

在图1-2中,Router D到Router C之间存在一条MPLS TE隧道,IGP Shortcut只能使Ingress节点Router D在计算IGP路由时利用这条隧道,Router A并不能利用这条隧道到达Router C。如果配置了转发邻接功能,则Router A也能够知道这条MPLS TE隧道的存在,从而可以利用该隧道将到Router C的流量转发到Router D上。
make-before-break是一种在尽可能不丢失数据,也不占用额外带宽的前提下改变MPLS TE隧道的机制。
在隧道重优化等情况下,如果在新的CRLSP建立之前拆除旧的CRLSP,则会导致流量转发中断。通过make-before-break机制可以确保新CRLSP建立、并将流量切换到新的CRLSP后,再拆除旧CRLSP,从而有效地避免流量转发中断。此时,存在的问题是:如果新的CRLSP和旧CRLSP部分路径相同,则在这些路径上需要重复为新旧CRLSP预留带宽,造成带宽资源的浪费。make-before-break机制采用SE资源预留风格解决这个问题。
资源预留风格是RSVP-TE协议在建立CRLSP时预留带宽资源的方式。MPLS TE隧道使用的资源预留风格由隧道的Ingress节点决定,并通过RSVP协议通知给各个节点。
目前,设备支持以下两种资源预留风格:
· FF(Fixed-Filter,固定过滤器):为每个发送者单独预留资源,同一会话中的不同发送者不能共享资源。
· SE(Shared-Explicit,共享显式):为同一个会话中的不同发送者预留同一个资源,不同发送者之间可以共享资源。该方式主要用于make-before-break。
在图1-3中,假设需要建立一条Router A到Router D的CRLSP,保留30M带宽,起初建立的路径是Router A→Router B→Router C→Router D。
现在希望将带宽增大为40M,Router A→Router B→Router C→Router D路径不能满足要求。而如果选择Router A→Router E→Router C→Router D,则Router C→Router D需要同时预留30M和40M带宽,也存在带宽不够的问题。
采用make-before-break机制,新建立的CRLSP在Router C→Router D可以共享原CRLSP的带宽,不需要为新CRLSP和旧CRLSP重复预留带宽。新CRLSP建立成功后,流量切换到新CRLSP上,之后拆除原CRLSP,从而有效地避免了流量中断。

路由固定是指CRLSP创建成功后,即使路由发生变化,也不重新选择最优路径,而是沿用已创建的CRLSP。
在路由变化频繁的网络中,如果不希望CRLSP随着路由频繁变化,则可以通过本功能确保只要已建立的CRLSP可用就不重新创建CRLSP。
隧道重优化功能是指周期性地或通过命令行手工触发隧道的Ingress节点重新计算路径。如果计算出的路径优于当前路径,则创建一条新的CRLSP。将流量从旧的CRLSP切换至新的CRLSP后,删除旧的CRLSP。
MPLS TE利用隧道重优化功能实现CRLSP的动态优化,以便及时地将MPLS TE隧道切换到当前的最优路径。例如,如果在MPLS TE隧道建立时,最优路径上的链路没有足够的可预留带宽,则会导致MPLS TE隧道未使用最优路径建立。通过隧道重优化功能,可以实现链路上具有足够的带宽时将MPLS TE隧道自动切换到最优路径。
CRLSP备份是指通过备份CRLSP对主CRLSP进行保护。当Ingress感知到主CRLSP不可用时,将流量切换到备份CRLSP上,当主CRLSP路径恢复后再将流量切换回来,以实现对主CRLSP的备份保护。
CRLSP备份有两种备份方法:
· 热备份:创建主CRLSP后随即创建备份CRLSP。主CRLSP失效时,直接将流量切换至备份CRLSP。
· 普通备份:指主CRLSP失效后创建备份CRLSP。
FRR(Fast Reroute,快速重路由)是MPLS TE中实现网络局部保护的技术。FRR的切换速度可以达到50ms,能够最大程度减少网络故障时数据的丢失。
开启隧道的FRR功能后,当主CRLSP上的某条链路或某个节点失效时,流量会被切换到Bypass隧道上。同时,隧道的Ingress节点尝试建立新的CRLSP。新的CRLSP建立成功后,流量将切换到新的CRLSP。
![]()
CRLSP备份是一种端到端的路径保护,对整条CRLSP提供保护,而FRR则是一种局部保护措施,只能保护CRLSP中的某条链路或某个节点。并且,FRR是一种快速响应的临时性保护措施,对于切换时间有严格要求,CRLSP备份则没有时间要求。
下面介绍FRR中的几个概念:
· 主CRLSP:被保护的CRLSP。
· Bypass隧道:旁路隧道,保护主CRLSP中的某条链路或某个节点的MPLS TE隧道。
· PLR(Point of Local Repair,本地修复节点):Bypass隧道的Ingress节点,必须在主CRLSP的路径上,并且不能是主CRLSP的Egress节点。
· MP(Merge Point,汇聚点):Bypass隧道的Egress节点,必须在主CRLSP的路径上,并且不能是主CRLSP的Ingress节点。
根据保护的对象不同,FRR分为两类:
· 链路保护:又称为Next-hop(NHOP)保护。PLR和MP之间有直接链路连接,主CRLSP经过这条链路。当这条链路失效时,流量可以切换到Bypass隧道上。如图1-4所示,主CRLSP是Router A→Router B→Router C→Router D,Bypass隧道是Router B→Router F→Router C。
图1-4 FRR链路保护示意图

· 节点保护:又称为Next-next-hop(NNHOP)保护。PLR和MP之间通过一台设备连接,主CRLSP经过这台设备。当这台设备失效时,流量可以切换到Bypass隧道上。如图1-5所示,主CRLSP是Router A→Router B→Router C→Router D→Router E,Bypass隧道是Router B→Router F→Router D,Router C是被保护的设备。
图1-5 FRR节点保护示意图
