04-MPLS TE配置
本章节下载: 04-MPLS TE配置 (735.99 KB)
目 录
1.8 配置MPLS TE隧道采用RSVP-TE动态建立的CRLSP
1.8.3 配置通过IGP的TE扩展发布链路的MPLS TE属性
1.15.3 使用RSVP-TE配置跨域的MPLS TE隧道示例
1.15.6 配置快速重路由示例(手工配置Bypass隧道)
1.15.8 配置IETF DS-TE模式MPLS TE隧道示例
网络拥塞是影响骨干网络性能的主要问题。拥塞的原因可能是网络资源不足,也可能是网络资源负载不均衡导致的局部拥塞。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可以通过静态方式或动态方式建立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节点上配置,约束条件包括:
(1) 带宽
带宽要求是指经过MPLS TE隧道的流量所属的服务类型及其所需的带宽。只有链路上针对流量所属服务类型的可预留带宽大于等于流量所需带宽时,该链路才满足带宽约束条件。
(2) 亲和属性
MPLS TE隧道的亲和属性和链路的属性配合,决定了该隧道可以使用哪些链路。
链路属性、亲和属性、亲和属性的掩码都是32位的二进制数。如果希望某条链路能够被隧道所用,则需要满足如下要求:
· 对于掩码为1的位,亲和属性为1的位中链路属性至少有1位也为1,亲和属性为0的位对应的链路属性位不能为1。
· 对于掩码为0的位,不对链路属性的相应位进行检查。
例如,亲和属性为0xFFFFFFF0,掩码为0x0000FFFF,则可用链路的链路属性高16位可以任意取0或1,17~28位中至少有1位为1,且低4位不能为1。
(3) 建立和保持优先级
如果在建立MPLS TE隧道时,无法找到满足所需带宽要求的路径,可以拆除另外一条已经建立的MPLS TE隧道,占用为它分配的带宽资源,这种处理方式称为抢占。
MPLS TE隧道使用两个优先级属性来决定是否可以进行抢占:建立优先级(Setup Priority)和保持优先级(Holding Priority)。建立优先级和保持优先级的取值范围都是0~7,数值越小则优先级越高。只有当一条MPLS TE隧道的建立优先级数值小于另一条MPLS TE隧道的保持优先级时,该隧道才可以抢占另一条隧道的资源。
MPLS TE隧道的建立优先级不能高于该隧道的保持优先级,即其在数值上应大于或等于保持优先级,否则可能会导致MPLS TE隧道间无穷尽地互相抢占,造成振荡。
(4) 显式路径
通过显式路径可以指定到达某个目的地所必须经过的节点、不允许经过的节点等。将显式路径作为约束条件,可以动态计算出符合规划要求的路径。
显式路径分为:
· 严格显式路径:指定必须经过哪些节点,并且指定的下一跳与前一跳必须直接相连。通过严格显式路径,可以最精确地控制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隧道建立之后,流量不会自动通过MPLS TE隧道转发,需要通过如下方法配置流量沿MPLS TE隧道转发。
使用静态路由转发流量,是指定义一条通过Tunnel接口到达目的网络地址的静态路由,把流量引入到MPLS TE隧道上进行转发。
静态路由是将流量引入MPLS TE隧道的最简便、直观的方法。该方法的缺点是:如果多个目的网络的流量都需要引入到MPLS TE隧道上,则需要配置多条静态路由,配置和维护难度比较大。
有关静态路由的介绍请参见“三层技术-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-1 IGP Shortcut与转发邻接示意图
在图1-1中,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-2中,假设需要建立一条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-3所示,主CRLSP是Router A→Router B→Router C→Router D,Bypass隧道是Router B→Router F→Router C。
图1-3 FRR链路保护示意图
· 节点保护:又称为Next-next-hop(NNHOP)保护。PLR和MP之间通过一台设备连接,主CRLSP经过这台设备。当这台设备失效时,流量可以切换到Bypass隧道上。如图1-4所示,主CRLSP是Router A→Router B→Router C→Router D→Router E,Bypass隧道是Router B→Router F→Router D,Router C是被保护的设备。
图1-4 FRR节点保护示意图
DiffServ作为一种QoS解决方案,其主要实现机制是对流量按照服务类型(class of service)进行划分,基于服务类型提供不同的QoS保证。而MPLS TE作为流量工程解决方案,主要用于对网络资源的使用进行优化。
DiffServ-Aware TE,简称DS-TE,结合上述两者的优势,能够基于按服务类型划分的流量进行网络资源优化,即对不同的服务类型进行不同的带宽约束。概括来说,DS-TE将不同服务类型的流量与CRLSP进行映射,使流量经过的路径符合对其服务类型的流量工程约束条件。
目前,设备支持两种DS-TE模式:
· 自定义的Prestandard模式
· 根据RFC 4124、RFC 4125、RFC 4127实现的IETF模式
· CT(Class Type,服务类型):流量所属的业务类别,用来实现对不同的流量进行分类。DS-TE根据业务流所属的CT为其分配链路带宽、实施约束路由及进行准入控制。对于一个给定的业务流,在其经过的所有链路上,该业务流都属于相同的CT。
· BC(Bandwidth Constraint,带宽约束):用来对各种服务类型流量所能使用的带宽进行限制。
· 带宽约束模型(Bandwidth Constraint Model):用来实现对不同CT的业务流进行带宽约束的算法。带宽约束模型由两部分内容决定:最大BC数目、BC与CT的对应关系。DS-TE支持两种带宽约束模型RDM(Russian Dolls Model,俄罗斯套娃模型)和MAM(Maximum Allocation Model,最大分配模型)。
· TE class:CT及优先级的组合。如果流量属于某个CT,则传输该流量的MPLS TE隧道的建立优先级或保持优先级必须是该CT对应的优先级。
Prestandard模式和IETF模式具有如下区别,请根据服务类型的数量、所需带宽约束模型等选择合适的DS-TE模式。
· Prestandard模式支持2个CT(CT 0和CT 1),8种优先级,最大支持16个TE class;IETF模式支持4个CT(CT 0、CT 1、CT 2和CT 3),8种优先级,最大支持8个TE class。
· Prestandard模式下不可以通过配置改变TE class;IETF模式下可以通过配置改变TE class。
· Prestandard模式只支持RDM模型;IETF模式支持RDM模型和MAM模型。
· Prestandard模式为自定义模式,无法与所有厂商设备互通;IETF模式为根据RFC标准实现的模式,可以与其他厂商设备互通。
根据流量的服务类型建立MPLS TE隧道的过程如下:
(1) 判断流量所属的CT
设备上根据配置实现不同业务流量的分类:
· 对于动态建立的MPLS TE隧道,在隧道接口下执行mpls te bandwidth命令,可以配置通过该隧道接口的流量所属的CT。
· 对于静态建立的MPLS TE隧道,配置静态隧道时,可以通过bandwidth参数指定通过该静态隧道转发的流量所属的CT。
(2) 检查CT对应的BC中是否存在足够的带宽
用户可以在接口下通过mpls te max-reservable-bandwidth命令,配置该接口的带宽限制。设备根据流量所属的CT及接口的带宽限制,判断是否存在足够的带宽为该流量建立MPLS TE隧道。
不同带宽约束模型下,BC与CT的关系不同:
· RDM:限制多种服务类型流量(CT)的共用带宽,允许多种CT间共享使用带宽,而不是限制某一种CT的带宽。如图1-5所示,以三个CT(CT 0、CT 1和CT 2)为例,BC 2为CT 2的带宽限制,即属于CT 2流量的带宽总和不能超过BC 2;BC 1为CT 2和CT 1两种业务的带宽限制,即属于CT 2和CT 1流量的带宽总和不能超过BC 1;BC 0为CT 2、CT 1和CT 0三种业务的带宽限制,即属于CT 2、CT 1和CT 0流量的带宽总和不能超过BC 0。在RDM中,BC 0即为链路的最大可预留带宽。RDM与建立优先级/保持优先级配合,可以实现CT间的带宽隔离。RDM比较适用于属于CT的流量不平稳、可能存在突发流量的情况。
图1-5 RDM带宽约束模型示意图
· MAM:限制某一CT在接口上占用的带宽总和,即隔离CT之间的带宽使用。如图1-6所示,以三个CT(CT 0、CT 1和CT 2)为例,BC 0为CT 0的带宽限制,即属于CT 0流量的带宽总和不能超过BC 0;BC 1为CT 1的带宽限制,即属于CT 1流量的带宽总和不能超过BC 1;以此类推。并且,属于CT 0、CT 1和CT 2流量的带宽总和不能超过最大可预留带宽。MAM不需要与建立优先级/保持优先级配合,就可以实现CT间的带宽隔离。MAM的特点是比较直观,配置较为容易。MAM比较适用于属于CT的流量较为平稳、不存在突发流量的情况。
图1-6 MAM带宽约束模型示意图
(3) 检查流量是否与已经存在的TE class匹配
根据服务类型建立MPLS TE隧道时,还需要检查流量所属的CT及LSP的建立优先级/保持优先级是否与已经存在的TE class匹配。要想为该流量建立隧道,必须同时满足下面两个条件:
· 隧道经过的节点上都存在与流量所属CT、LSP建立优先级匹配的TE class;
· 隧道经过的节点上都存在与流量所属CT、LSP保持优先级匹配的TE class。
MPLS TE隧道作为MPLS-TP(MPLS Transport Profile,MPLS传送技术架构)的分组传送隧道,需要实现双向隧道功能,以支持1:1和1+1保护倒换,承载MPLS传送所需要的OAM(Operations, Administration, and Maintenance,操作、管理和维护)和PSC(Protection State Coordination,保护状态协调)等带内检测工具和信令。
一条MPLS TE双向隧道由方向相反的一对单向CRLSP组成。MPLS TE双向隧道的建立有如下几种方式:
· Co-routed方式:对RSVP-TE协议进行扩展,通过RSVP-TE信令协议建立MPLS TE双向隧道,即通过Path消息将上游LSR分配的标签通告给下游LSR,在Path消息传递的过程中建立一个方向的CRLSP,再通过Resv消息将下游LSR分配的标签通告给上游LSR,在Resv消息传递的过程中建立另一个方向的CRLSP。Co-routed方式建立的MPLS TE双向隧道的正、反两个方向CRLSP使用的是相同的路径。
· Associated方式:通过配置手工将两条方向相反的单向CRLSP绑定,从而形成MPLS TE双向隧道。绑定在一起的两条单向CRLSP可以通过不同的方式建立,例如一个方向上的CRLSP使用静态方式建立,而另一个方向上的CRLSP使用RSVP-TE信令建立。绑定在一起的两条单向CRLSP使用的路径可以不同。
通过RSVP-TE信令协议建立MPLS TE隧道、Path消息、Resv消息的详细介绍,请参见“MPLS配置指导”中的“RSVP”。
与MPLS TE相关的协议规范有:
· RFC 2702:Requirements for Traffic Engineering Over MPLS
· RFC 3564:Requirements for Support of Differentiated Service-aware MPLS Traffic Engineering
· RFC 3812:Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB)
· RFC 4124:Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering
· RFC 4125:Maximum Allocation Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering
· RFC 4127:Russian Dolls Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering
· ITU-T Recommendation Y.1720:Protection switching for MPLS networks
配置MPLS TE,不能同时配置EVI或VXLAN。有关EVI和VXLAN的详细介绍,请参见“EVI配置指导”和“VXLAN配置指导”。
MPLS TE隧道采用静态CRLSP时,MPLS TE的配置主要包括以下几步:
(1) 在MPLS TE隧道经过的各个节点和接口上开启MPLS TE能力。
(2) 在MPLS TE隧道的Ingress节点上创建Tunnel接口,指定隧道的目的端地址(即Egress的地址)。
(3) 在MPLS TE隧道经过的各个节点上创建静态CRLSP,配置方法请参见“MPLS配置指导”中的“静态CRLSP”。
(4) 在MPLS TE隧道的Ingress节点上配置Tunnel接口引用已经创建的静态CRLSP。
(5) 在MPLS TE隧道的Ingress节点上配置静态路由或自动路由发布,将流量引入MPLS TE隧道。
MPLS TE隧道采用RSVP-TE动态建立的CRLSP时,MPLS TE的配置主要包括以下几步:
(1) 在MPLS TE隧道经过的各个节点和接口上开启MPLS TE能力和RSVP能力。开启RSVP能力的方法,请参见“MPLS配置指导”中的“RSVP”。
(2) 在MPLS TE隧道的Ingress节点上创建Tunnel接口,指定隧道的目的端地址(即Egress的地址),并在Tunnel接口下配置MPLS TE隧道的约束条件(如隧道的带宽要求、亲和属性等)。
(3) 在MPLS TE隧道经过的各个接口上配置链路的MPLS TE属性,如链路的最大带宽、链路的属性等。
(4) 在MPLS TE隧道经过的各个节点上配置IGP路由协议,并配置IGP支持MPLS TE,以便各个节点通过IGP路由协议发布链路的TE相关属性。
(5) 在MPLS TE隧道的Ingress节点上配置通过RSVP-TE,沿着根据隧道约束条件、链路MPLS TE属性等计算出的路径建立CRLSP。
(6) 在MPLS TE隧道的Ingress节点上配置静态路由或自动路由发布,将流量引入MPLS TE隧道。
除了上述配置外,用户还可以根据实际需要配置DiffServ-Aware TE、快速重路由等功能。
表1-1 MPLS TE配置任务简介
配置任务 |
说明 |
详细配置 |
|
开启MPLS TE能力 |
必选 |
||
配置Tunnel接口 |
必选 |
||
配置DiffServ-Aware TE |
可选 |
||
配置MPLS TE隧道 |
配置MPLS TE隧道采用静态CRLSP |
两者必选其一 |
|
配置MPLS TE隧道采用RSVP-TE动态建立的CRLSP |
|||
配置流量转发 |
配置静态路由使流量沿MPLS TE隧道转发 |
两者必选其一 |
|
配置自动路由发布使流量沿MPLS TE隧道转发 |
|||
配置MPLS TE双向隧道 |
可选 |
||
配置CRLSP备份 |
可选 只有使用RSVP-TE信令协议建立的MPLS TE隧道支持本配置 |
||
配置MPLS TE快速重路由 |
可选 只有使用RSVP-TE信令协议建立的MPLS TE隧道支持本配置 |
||
开启告警功能 |
可选 |
MPLS TE隧道经过的各个节点和接口上都需要开启MPLS TE能力。
在开启MPLS TE能力之前,需要完成以下任务:
· 配置静态路由或IGP协议保证各LSR之间路由可达。
· 使能MPLS功能,详细配置请参见“MPLS配置指导”中的“MPLS基础”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启本节点的MPLS TE能力,并进入MPLS TE视图 |
mpls te |
缺省情况下,MPLS TE能力处于关闭状态 |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启接口的MPLS TE能力 |
mpls te enable |
缺省情况下,接口上的MPLS TE能力处于关闭状态 |
MPLS TE隧道的属性都是在Tunnel接口视图下配置的。因此,在配置MPLS TE隧道之前,需要先创建MPLS TE隧道模式的Tunnel接口。有关Tunnel接口的介绍和更多配置请参见“三层技术-IP业务配置指导”中的“隧道”。
请在MPLS TE隧道的Ingress节点上执行本配置。
表1-3 配置Tunnel接口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建模式为MPLS TE隧道的Tunnel接口,并进入Tunnel接口视图 |
interface tunnel tunnel-number mode mpls-te |
缺省情况下,不存在Tunnel接口 |
配置Tunnel接口的IP地址 |
ip address ip-address { mask-length | mask } |
缺省情况下,未指定Tunnel接口的IP地址 |
配置隧道的目的端地址 |
destination ip-address |
缺省情况下,未指定隧道的目的端地址 |
在MPLS TE隧道经过的所有节点上均可执行本配置。
表1-4 配置DiffServ-Aware TE
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE视图 |
mpls te |
- |
(可选)配置DS-TE模式为IETF模式 |
ds-te mode ietf |
缺省情况下,DS-TE模式为Prestandard模式 |
(可选)配置IETF DS-TE模式下的带宽约束模型为MAM |
ds-te bc-model mam |
缺省情况下,IETF DS-TE模式的带宽约束模型为RDM |
配置IETF DS-TE模式下TE class与服务类型、优先级的对应关系 |
ds-te te-class te-class-index class-type class-type-number priority priority |
缺省情况下,IETF模式的TE class如表1-5所示 |
表1-5 IETF模式的缺省TE class
TE Class |
CT |
Priority |
0 |
0 |
7 |
1 |
1 |
7 |
2 |
2 |
7 |
3 |
3 |
7 |
4 |
0 |
0 |
5 |
1 |
0 |
6 |
2 |
0 |
7 |
3 |
0 |
MPLS TE隧道采用静态CRLSP的配置过程非常简单,不需要配置隧道的约束条件,也不涉及IGP扩展,只需要建立一条静态CRLSP、指定MPLS TE隧道采用静态方式建立、并配置MPLS TE隧道引用已建立的静态CRLSP即可。
表1-6 配置MPLS TE隧道采用静态CRLSP
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
建立静态CRLSP |
配置方法请参见“MPLS配置指导”中的“静态CRLSP” |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
在Ingress节点上执行本命令 |
配置使用静态CRLSP建立MPLS TE隧道 |
mpls te signaling static |
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道 |
指定隧道引用的静态CRLSP |
mpls te static-cr-lsp lsp-name |
缺省情况下,隧道没有引用任何静态CRLSP |
MPLS TE隧道采用RSVP-TE动态建立的CRLSP的配置过程可以简要描述为以下几个部分:
· 配置链路的MPLS TE属性;
· 通过IGP的TE扩展发布链路的MPLS TE属性,以便在各个节点上生成TEDB;
· 配置隧道的约束条件;
· 利用动态信令协议RSVP-TE建立CRLSP。
如果不配置IGP的TE扩展,就不能形成TEDB。这种情况下计算出的路径是由IGP路由得到的,而不是CSPF计算出来的。
表1-7 配置任务简介
配置任务 |
说明 |
详细配置 |
配置链路的MPLS TE属性 |
必选 |
|
配置通过IGP的TE扩展发布链路的MPLS TE属性 |
必选 |
|
配置MPLS TE隧道的约束条件 |
必选 |
|
使用RSVP-TE建立MPLS TE隧道 |
必选 |
|
调整CRLSP的路径选择 |
可选 |
|
调整MPLS TE隧道的建立 |
可选 |
链路的MPLS TE属性包括链路的最大带宽、最大可预留带宽、链路属性等。
请在MPLS TE隧道经过的各个接口上执行本配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置用于转发MPLS TE流量的链路最大带宽 |
mpls te max-link-bandwidth bandwidth-value |
缺省情况下,用于转发MPLS TE流量的链路最大带宽为0 |
配置Prestandard DS-TE模式下RDM带宽约束模型BC 0和BC 1的最大可预留带宽 |
mpls te max-reservable-bandwidth bandwidth-value [ bc1 bc1-bandwidth ] |
请根据“1.6 配置DiffServ-Aware TE”中配置的DS-TE模式和带宽约束模型从三者中选择其一 缺省情况下,最大可预留带宽均为0 在RDM模型中,BC 0即为链路的最大可预留带宽 |
配置IETF DS-TE模式下MAM带宽约束模型的MPLS TE链路最大可预留带宽及各BC的最大可预留带宽 |
mpls te max-reservable-bandwidth mam bandwidth-value { bc0 bc0-bandwidth | bc1 bc1-bandwidth | bc2 bc2-bandwidth | bc3 bc3-bandwidth } * |
|
配置IETF DS-TE模式RDM带宽约束模型各BC的最大可预留带宽 |
mpls te max-reservable-bandwidth rdm bandwidth-value [ bc1 bc1-bandwidth ] [ bc2 bc2-bandwidth ] [ bc3 bc3-bandwidth ] |
|
配置链路的属性 |
mpls te link-attribute attribute-value |
缺省情况下,链路的属性值为0x00000000 |
OSPF、IS-IS扩展后可以用来发布链路的MPLS TE相关属性。OSPF、IS-IS的这种扩展分别称为OSPF TE和IS-IS TE。如果同时配置了OSPF TE和IS-IS TE,则MPLS TE优先根据OSPF TE学习到的MPLS TE属性信息进行CSPF计算。
OSPF TE使用Opaque Type 10 LSA携带链路的TE属性信息,因此,配置OSPF TE时必须先使能OSPF的Opaque能力。有关OSPF Opaque能力的介绍请参见“三层技术-IP路由配置指导”中的“OSPF”。
由于MPLS TE无法在OSPF虚连接上预留资源和分配标签,即MPLS TE无法通过OSPF虚连接建立CRLSP隧道。因此,配置OSPF TE时,OSPF路由域内不能存在虚连接。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPF协议视图 |
ospf [ process-id ] |
- |
使能OSPF的Opaque LSA发布接收能力 |
opaque-capability enable |
缺省情况下,OSPF的Opaque LSA发布接收能力处于开启状态 本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“OSPF” |
进入OSPF的区域视图 |
area area-id |
- |
开启OSPF区域的MPLS TE能力 |
mpls te enable |
缺省情况下,OSPF区域的MPLS TE能力处于关闭状态 |
IS-IS TE使用扩展IS可达性TLV(类型为22)的子TLV携带TE属性信息,扩展IS可达性TLV携带wide类型的开销值。因此,配置IS-IS TE时,必须配置IS-IS的开销值类型为wide、compatible或wide-compatible。有关IS-IS的介绍请参见“三层技术-IP路由配置指导”中的“IS-IS”。
IS可达性TLV长度不定,为确保IS-IS LSP能顺利携带此类TLV并在网络上正确泛洪,建议所有使能IS-IS TE的接口的MTU不要小于512字节。
表1-10 配置ISIS TE
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个IS-IS进程,并进入IS-IS视图 |
isis [ process-id ] |
缺省情况下,系统没有运行任何IS-IS进程 |
配置IS-IS开销值的类型 |
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] } |
缺省情况下,IS-IS只接收和发送采用narrow方式表示路径开销值的报文 本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IS-IS” |
开启IS-IS进程的MPLS TE能力 |
mpls te enable [ level-1 | level-2 ] |
缺省情况下,IS-IS进程的MPLS TE能力处于关闭状态 |
配置携带DS-TE参数的子TLV的类型值 |
te-subtlv { bw-constraint value | unreserved-subpool-bw value } * |
缺省情况下,带宽约束bw-constraint的子TLV类型值为252;子池未预订带宽unreserved-bw-sub-pool的子TLV类型值为251 |
请在MPLS TE隧道的Ingress节点上执行本节中的配置。
表1-11 配置MPLS TE隧道的带宽要求
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置隧道所需的带宽,并指定隧道流量所属的服务类型 |
mpls te bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth |
缺省情况下,未配置MPLS TE隧道所需的带宽,即带宽为0,隧道流量属于CT0 |
不同厂商实现的链路属性和亲和属性的关系可能有所不同,当在同一网络中使用不同厂商的设备时,需要事先了解各自的实现方式,正确配置链路的属性和隧道的亲和属性,以便准确建立隧道。
表1-12 配置MPLS TE隧道的亲和属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置隧道的亲和属性 |
mpls te affinity-attribute attribute-value [ mask mask-value ] |
缺省情况下,隧道的亲和属性为0x00000000,掩码为0x00000000,即隧道可以使用任意属性的链路 |
表1-13 配置MPLS TE隧道的建立优先级和保持优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置MPLS TE隧道的建立优先级和保持优先级 |
mpls te priority setup-priority [ hold-priority ] |
缺省情况下,建立优先级和保持优先级都为7 |
在不同的区域或自治系统之间建立MPLS TE隧道时必须使用松散显式路径,指定显式路径的下一跳为ABR(Area Border Router,区域边界路由器)或ASBR(Autonomous System Boundary Router,自治系统边界路由器),并保证隧道Ingress节点与ABR或ASBR之间路由可达。
显式路径由一系列节点构成,一条显式路径上的两个相邻节点之间存在两种关系:
· 严格下一跳(strict):两个节点必须直接相连;
· 松散下一跳(loose):两个节点之间可以存在其他设备。
在向显式路径中增加或修改节点时,参数include表示建立的CRLSP必须经过指定节点;参数exclude表示建立的CRLSP不能经过指定节点。
表1-14 配置MPLS TE显式路径
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建隧道的显式路径,并进入显式路径视图 |
explicit-path path-name |
缺省情况下,不存在显式路径 |
启用显式路径 |
undo disable |
缺省情况下,显式路径可用 |
在显式路径中添加或修改节点及其属性 |
nexthop [ index index-number ] ip-address [ exclude | include [ loose | strict ] ] |
缺省情况下,显式路径中不存在任何节点 |
退回系统视图 |
quit |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置CRLSP应用显式路径,并指定显式路径的优先级 |
mpls te path preference value explicit-path path-name [ no-cspf ] |
缺省情况下,使用自动计算的路径建立CRLSP |
执行本配置前,需要通过rsvp、rsvp enable命令在MPLS TE隧道经过的所有节点和接口上都开启RSVP能力,详细介绍请参见“MPLS配置指导”中的“RSVP”。
请在MPLS TE隧道的Ingress节点上执行本配置。
表1-15 配置使用RSVP-TE建立MPLS TE隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置使用RSVP-TE信令协议建立隧道 |
mpls te signaling rsvp-te |
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道 |
配置CRLSP应用的路径及路径的优先级 |
mpls te path preference value { dynamic | explicit-path path-name } [ no-cspf ] |
缺省情况下,使用自动计算的路径建立CRLSP |
在实施本节的配置任务之前,需要明确理解这些配置对系统可能造成的影响,以免影响CRLSP的建立。
CSPF使用TEDB和约束条件计算出符合要求的路径,并通过信令协议建立CRLSP。MPLS TE提供多种方式影响CSPF的计算,从而调整CRLSP的路径选择。
在MPLS TE中每条链路都具有两种度量值:IGP度量值和TE度量值。通过合理地规划两种度量值,可以实现为不同种类的业务选择不同的隧道。例如,使用IGP度量值来表示链路延迟的大小(IGP度量值越小,链路的延迟越小),使用TE度量值来表示链路带宽的大小(TE度量值越小,链路的带宽越大)。建立两条MPLS TE隧道(Tunnel1和Tunnel2),分别用来承载语音业务和视频业务。Tunnel1选择路径时使用IGP度量值,可以实现为延迟要求较高的语音业务选择延迟小的路径;Tunnel2选择路径时使用TE度量值,可以实现为数据量较大的视频业务选择带宽大的路径。
表1-16 配置选路使用的度量
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE视图 |
mpls te |
- |
配置未配置度量类型的隧道选路时使用的链路度量值类型 |
path-metric-type { igp | te } |
缺省情况下,未配置度量类型的隧道选路时使用TE度量值 请在MPLS TE隧道的Ingress节点上执行本命令 |
退回系统视图 |
quit |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置隧道选路时使用的链路度量值类型 |
mpls te path-metric-type { igp | te } |
缺省情况下,没有指定隧道选路时使用的链路度量值类型,采用MPLS TE视图下配置的链路度量值类型 请在MPLS TE隧道的Ingress节点上执行本命令 |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置链路的TE度量值 |
mpls te metric value |
缺省情况下,链路使用其IGP度量作为TE的度量值 本命令可以在MPLS TE隧道经过的所有接口上执行 |
如果使用路由固定功能,则不能同时使用MPLS TE隧道重优化功能。
请在MPLS TE隧道的Ingress节点上执行本配置。
表1-17 配置路由固定
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
开启路由固定功能 |
mpls te route-pinning |
缺省情况下,路由固定功能处于关闭状态 |
隧道重优化功能是指周期性地或通过命令行手工触发隧道的Ingress节点重新计算路径。如果重计算的路径优于当前路径,则沿着计算出的路径创建一条新的CRLSP,将流量从旧的CRLSP切换至新的CRLSP后,删除旧的CRLSP。
请在MPLS TE隧道的Ingress节点上执行本配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
开启隧道重优化功能 |
mpls te reoptimization [ frequency seconds ] |
缺省情况下,隧道重优化功能处于关闭状态 |
退到用户视图 |
return |
- |
(可选)立即对所有开启了重优化功能的MPLS TE隧道进行重优化 |
mpls te reoptimization |
- |
当MPLS TE相关链路的带宽发生变化时,需要通过IGP泛洪该信息,以便Ingress节点利用CSPF算法重新计算路径。
为防止链路带宽变化导致的CSPF计算占用过多资源,可以规定当带宽变化到达一定限度时才通过IGP泛洪链路的TE相关信息。用户可以进行两种配置:
· 当链路可预留带宽的增加值达到阈值时进行泛洪;
· 当链路可预留带宽的减少值达到阈值时进行泛洪。
如果配置了泛洪阈值,则没有及时泛洪的链路带宽变化,可以按照配置的时间间隔周期性地通告给网络中的设备。
本配置可以在MPLS TE隧道经过的所有节点上执行。
表1-19 配置TE信息泛洪阈值及泛洪时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置通过IGP泛洪TE信息的带宽变化阈值 |
mpls te bandwidth change thresholds { down | up } percent |
缺省情况下,通过IGP泛洪TE信息的带宽变化阈值为10%,即可预留带宽增加或减少10%时进行IGP泛洪 |
退回系统视图 |
quit |
- |
进入MPLS TE视图 |
mpls te |
- |
设置通过IGP周期性泛洪TE信息的时间间隔 |
link-management periodic-flooding timer interval |
缺省情况下,通过IGP周期性泛洪TE信息的时间间隔为180秒 |
在实施本节的配置任务之前,需要明确理解这些配置对系统可能造成的影响,以免影响MPLS TE隧道的建立。
请在MPLS TE隧道的Ingress节点上执行本节中的配置。
配置隧道建立时进行环路检测后,将自动启动该隧道的路由记录功能,而不管用户是否配置了mpls te record-route命令。隧道经过的节点根据记录的路由信息,判断是否出现环路。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置隧道建立时进行环路检测 |
mpls te loop-detection |
缺省情况下,隧道建立时不进行环路检测 |
路由记录和标签记录功能用来记录MPLS TE隧道经过的各个节点及各个节点分配的标签值,以便用户根据记录的信息了解MPLS TE隧道经过的路径和标签分配情况。在MPLS TE隧道出现故障时,用户也可以根据记录的信息对故障进行定位。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
|
开启隧道的路由记录或标签记录功能 |
仅开启路由记录功能 |
mpls te record-route |
缺省情况下,隧道的路由记录和标签记录功能处于关闭状态 |
同时开启路由记录和标签记录功能 |
mpls te record-route label |
MPLS TE隧道建立失败后,隧道的Ingress节点等待隧道重建时间间隔后,将尝试重新建立隧道,直到隧道建立成功或尝试建立隧道的次数达到配置的最大值。如果尝试建立隧道的次数达到配置的最大值时仍未成功建立隧道,则等待较长的一段时间后,重复上述过程。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置尝试建立隧道的最大次数 |
mpls te retry retries |
缺省情况下,尝试建立隧道的最大次数为3次 |
配置隧道重建的时间间隔 |
mpls te timer retry seconds |
缺省情况下,隧道重建的时间间隔为2秒 |
表1-23 配置RSVP资源预留风格
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置隧道的资源预留风格 |
mpls te resv-style { ff | se } |
缺省情况下,隧道的资源预留风格为SE 在目前的MPLS TE应用中,隧道的建立通常采用make-before-break方式。因此,推荐使用SE资源预留风格 |
请在MPLS TE隧道的Ingress节点上执行本节中的配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由使流量沿MPLS TE隧道转发 |
静态路由命令的详细介绍请参见“三层技术-IP路由命令参考”中的“静态路由” |
缺省情况下,不存在静态路由 本命令中指定的接口可以为MPLS TE隧道模式的Tunnel接口 |
自动路由发布包括IGP Shortcut和转发邻接两种方式。使用IGP Shortcut功能时,可以指定MPLS TE隧道的度量值。如果使用绝对度量(absolute),则MPLS TE隧道的度量值就是配置的值;如果使用相对度量(relative),则MPLS TE隧道的度量值是相应IGP路径度量值加上相对度量值。
配置自动路由发布前,需要完成以下操作:
· 在Tunnel接口上开启OSPF或IS-IS路由协议,以便将该接口的地址发布到IGP协议(OSPF或ISIS)中。
· 在OSPF区域视图或IS-IS视图下,执行mpls te enable命令开启OSPF区域或IS-IS进程的MPLS TE能力。
使用自动路由发布功能时,需要注意以下事项:
· MPLS TE隧道的目的地址可以配置为Egress节点的LSR ID或Egress节点上接口的主IP地址。配置为接口主IP地址时,要求该接口上必须使能MPLS TE能力,并配置OSPF或IS-IS路由协议,确保在该接口建立OSPF或IS-IS邻居关系,接口的主地址能够通过OSPF或IS-IS发布给邻居。推荐用户将MPLS TE隧道的目的地址配置为Egress节点的LSR ID。
· Tunnel接口地址和隧道目的地址对应的路由必须在同一个OSPF区域内或属于同一个IS-IS Level。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
开启IGP Shortcut功能 |
mpls te igp shortcut [ isis | ospf ] |
缺省情况下,IGP Shortcut功能处于关闭状态 如果开启IGP Shortcut功能时不指定IGP类型,则OSPF和IS-IS协议的路由计算中都考虑MPLS TE隧道 |
配置MPLS TE隧道的度量值 |
mpls te igp metric { absolute value | relative value } |
缺省情况下,MPLS TE隧道的度量值等于其IGP度量值 |
要想使转发邻接功能生效,需要创建方向相反的两条隧道,并在隧道的两端同时配置转发邻接功能。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
开启转发邻接功能 |
mpls te igp advertise [ hold-time value ] |
缺省情况下,转发邻接功能处于关闭状态 |
在配置MPLS TE双向隧道之前,需完成以下任务:
· 在隧道两端都关闭PHP功能。
· 建立Co-routed方式MPLS TE双向隧道前,必须配置建立隧道使用的信令协议为RSVP-TE。
配置MPLS TE双向隧道时,需要在隧道的两端都建立MPLS TE隧道接口,并在隧道接口下开启双向隧道功能。
· 对于Co-routed方式双向隧道,隧道的两端需要分别配置为主动方(Active)和被动方(Passive),在被动方需要指定关联的反向CRLSP。
· 对于Associated方式双向隧道,隧道的两端都需要指定关联的反向CRLSP。
表1-27 配置Co-routed方式MPLS TE双向隧道的主动方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
在MPLS TE隧道接口上开启双向隧道功能,并指定本端为Co-routed方式MPLS TE双向隧道的主动方 |
mpls te bidirectional co-routed active |
缺省情况下,MPLS TE隧道接口的双向隧道功能处于关闭状态,MPLS TE隧道接口上建立的隧道为MPLS TE单向隧道 |
表1-28 配置Co-routed方式MPLS TE双向隧道的被动方
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
在MPLS TE隧道接口上开启双向隧道功能,并指定本端为Co-routed方式MPLS TE双向隧道的被动方 |
mpls te bidirectional co-routed passive reverse-lsp lsr-id ingress-lsr-id tunnel-id tunnel-id |
缺省情况下,MPLS TE隧道接口的双向隧道功能处于关闭状态,MPLS TE隧道接口上建立的隧道为MPLS TE单向隧道 |
表1-29 配置Associated方式MPLS TE双向隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
在MPLS TE隧道接口上开启双向隧道功能,并指定双向隧道建立方式为Associated方式 |
mpls te bidirectional associated reverse-lsp { lsp-name lsp-name | lsr-id ingress-lsr-id tunnel-id tunnel-id } } |
缺省情况下,MPLS TE隧道接口的双向隧道功能处于关闭状态,MPLS TE隧道接口上建立的隧道为MPLS TE单向隧道 |
CRLSP备份用于端到端的路径保护,对整条CRLSP提供保护。只有使用RSVP-TE信令协议建立的MPLS TE隧道支持CRLSP备份。
请在MPLS TE隧道的Ingress节点上执行本配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
开启隧道的备份功能,并配置使用的备份模式 |
mpls te backup { hot-standby | ordinary } |
缺省情况下,隧道的备份功能处于关闭状态 |
配置主CRLSP应用的路径及路径的优先级 |
mpls te path preference value { dynamic | explicit-path path-name } [ no-cspf ] |
缺省情况下,使用自动计算的路径建立主CRLSP |
配置备份CRLSP应用的路径及路径的优先级 |
mpls te backup-path preference value { dynamic | explicit-path path-name } [ no-cspf ] |
缺省情况下,使用自动计算的路径建立备份CRLSP |
FRR是MPLS TE中的临时性局部保护技术。配置FRR时需要注意:
· 建议不要在同一个接口同时配置快速重路由功能和RSVP认证功能。
· 只有使用RSVP-TE信令协议建立的MPLS TE隧道支持FRR功能。
请在主CRLSP的Ingress节点上开启快速重路由功能。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入主CRLSP对应的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
开启快速重路由功能 |
mpls te fast-reroute [ bandwidth ] |
缺省情况下,快速重路由功能处于关闭状态 执行本命令时,如果指定了bandwidth参数,则表示主CRLSP需要进行带宽保护;否则,表示主CRLSP不需要进行带宽保护 |
配置快速重路由时,需要在PLR上配置Bypass隧道。Bypass隧道的配置方式有如下两种:
· 手工配置Bypass隧道:在PLR上创建一条MPLS TE隧道,该MPLS TE隧道作为主CRLSP的Bypass隧道。指定该Bypass隧道可以保护的带宽和CT类型,并在主CRLSP的出接口上将该Bypass隧道与出接口绑定。当出接口连接的链路或节点出现故障时,可将流量切换到Bypass隧道转发,以避免流量中断。
· 自动创建Bypass隧道:在PLR上开启自动隧道备份功能后,PLR为经过它的所有主CRLSP都自动建立一条链路保护的Bypass隧道和一条节点保护的Bypass隧道。自动创建的Bypass隧道可以保护所有CT类型,且不限制保护带宽,即不能够提供带宽保护。自动创建Bypass隧道可以简化配置,该功能又称为自动快速重路由(auto FRR)功能。
手工为主CRLSP配置Bypass隧道或为主CRLSP自动建立Bypass隧道后,该Bypass隧道将与主CRLSP关联。一条主CRLSP同时最多可以与3条手工创建的Bypass隧道和2条自动创建的Bypass隧道关联,PLR从中选择一条Bypass隧道保护主CRLSP,即为主CRLSP绑定该Bypass隧道。
PLR为主CRLSP选择Bypass隧道时,优先选择手工创建的Bypass隧道。如果不存在手工创建的Bypass隧道,则选择自动创建的Bypass隧道,且自动创建的节点保护类型的Bypass隧道优于链路保护类型的Bypass隧道。
如果PLR上同时存在多条手工配置的Bypass隧道,则选择原则为:
(1) 根据主CRLSP所需带宽、主CRLSP是否需要进行带宽保护和Bypass隧道能否提供带宽保护,按照表1-32所示的原则选择Bypass隧道。
表1-32 FRR保护规则
主CRLSP所需带宽 |
主CRLSP是否需要进行带宽保护 |
Bypass隧道能够提供带宽保护,即配置保护带宽为具体的带宽值 |
Bypass隧道不能提供带宽保护,即配置保护带宽为un-limited |
0 |
是 |
不能绑定 |
没有指定Bypass隧道保护流量的CT类型或指定该CT类型为CT0时,可以绑定;否则,无法绑定 绑定后RRO无带宽保护标记,即Bypass隧道不会为主CRLSP提供带宽保护,Bypass隧道尽力转发主CRLSP的流量 |
否 |
|||
非0 |
是 |
Bypass隧道的保护带宽大于等于主CRLSP所需带宽,且没有指定Bypass隧道保护流量的CT类型或Bypass隧道保护流量与主CRLSP流量的CT类型相同时,可以绑定;否则,无法绑定 主CRLSP优选此Bypass隧道 绑定后RRO设置带宽保护标记,即Bypass隧道为主CRLSP提供带宽保证 |
没有指定Bypass隧道保护流量的CT类型或Bypass隧道保护流量与主CRLSP流量的CT类型相同时,可以绑定;否则,无法绑定 不存在能够提供带宽保护、且满足条件的Bypass隧道时,才会绑定此Bypass隧道 绑定后RRO无带宽保护标记 |
非0 |
否 |
Bypass隧道的保护带宽大于等于主CRLSP所需带宽,且没有指定Bypass隧道保护流量的CT类型或Bypass隧道保护流量与主CRLSP流量的CT类型相同时,可以绑定;否则,无法绑定 不存在不能够提供带宽保护的Bypass隧道时,才会绑定此Bypass隧道 绑定后RRO设置带宽保护标记 |
没有指定Bypass隧道保护流量的CT类型或Bypass隧道保护流量与主CRLSP流量的CT类型相同时,可以绑定;否则,无法绑定 主CRLSP优选此Bypass隧道 绑定后RRO无带宽保护标记 |
(2) 节点保护的Bypass隧道优于链路保护的Bypass隧道
(3) 编号小的Bypass隧道优于编号大的Bypass隧道。
在PLR上配置Bypass隧道时,需要注意:
· 由于FRR使用的Bypass隧道需要预先建立,占用额外的带宽,因此,在网络带宽余量不多的情况下,应该只对关键的接口或链路进行快速重路由保护。
· 用户在配置时应保证Bypass隧道的带宽不小于被保护的所有主CRLSP所需带宽之和,否则可能导致部分主CRLSP不能被Bypass隧道保护。
· Bypass隧道一般不转发数据。如果Bypass隧道在保护主CRLSP的同时转发流量,需要为Bypass隧道提供足够的带宽。
· Bypass隧道不能作为VPN等业务的承载隧道。
· 不能为Bypass隧道配置快速重路由功能。也就是说,Bypass隧道不能同时作为主CRLSP被其他Bypass隧道保护,隧道不能被嵌套保护。
· Bypass隧道不能经过被保护的接口或节点。
· 不要求带宽保护的主CRLSP和提供保护带宽的Bypass隧道绑定成功后,主CRLSP占用Bypass隧道的保护带宽。提供带宽保护的Bypass隧道的保护带宽先到先得,需要带宽保护的主CRLSP并不能抢占不需要带宽保护的主CRLSP。
· 发生FRR切换后,如果修改Bypass隧道的保护带宽,使得保护带宽类型不同、保护带宽不够或者引起FRR保护类型(是否为主CRLSP提供带宽保护)变化,都将导致主CRLSP Down。
Bypass隧道的建立方法与普通MPLS TE隧道相同,此处不再赘述,只介绍快速重路由功能相关的配置。
表1-33 在PLR上配置Bypass隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Bypass隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置Bypass隧道的目的地址 |
destination ip-address |
隧道的目的地址应配置为MP设备的LSR ID |
配置Bypass隧道可以保护的带宽和CT类型 |
mpls te backup bandwidth [ ct0 | ct1 | ct2 | ct3 ] { bandwidth | un-limited } |
缺省情况下,未指定Bypass隧道可以保护的带宽和CT类型 对于Bypass隧道,必须使用本命令配置可保护的带宽。否则,将导致主CRLSP不能绑定到Bypass隧道 |
退回系统视图 |
quit |
- |
进入主CRLSP出接口的接口视图 |
interface interface-type interface-number |
- |
为被保护的接口指定一条Bypass隧道 |
mpls te fast-reroute bypass-tunnel tunnel tunnel-number |
缺省情况下,接口上不存在任何Bypass隧道 |
自动创建Bypass隧道时需要注意:倒数第二跳节点作为PLR时,不会自动创建节点保护类型的Bypass隧道。
一条自动创建的Bypass隧道可以与多条主隧道绑定。当Bypass隧道没有与任何主隧道绑定时,该Bypass隧道称为空闲Bypass隧道。空闲Bypass隧道在自动清除时间超时后仍未被绑定,则会被自动清除。
表1-34 在PLR上自动创建Bypass隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE视图 |
mpls te |
- |
全局开启自动隧道备份功能,并进入MPLS TE自动隧道备份视图 |
auto-tunnel backup |
缺省情况下,自动隧道备份功能处于全局关闭状态 |
配置自动创建的Bypass隧道的接口编号范围 |
tunnel-number min min-number max max-number |
缺省情况下,未指定自动创建Bypass隧道的接口编号范围,不能自动创建Bypass隧道 全局开启自动隧道备份功能后,必须配置本命令,才能自动建立Bypass隧道 |
(可选)配置仅自动创建链路保护类型的Bypass隧道 |
nhop-only |
缺省情况下,链路保护和节点保护的Bypass隧道都会自动创建 配置本命令后,已自动创建的节点保护类型的Bypass隧道会被删除 |
(可选)配置空闲Bypass隧道的自动清除时间 |
timers removal unused seconds |
缺省情况下,空闲Bypass隧道的自动清除时间为3600秒 |
(可选)退回系统视图 |
quit |
- |
(可选)进入接口视图 |
interface interface-type interface-number |
- |
(可选)关闭接口的自动隧道备份功能 |
mpls te auto-tunnel backup disable |
缺省情况下,全局开启了自动隧道备份功能后,所有使能RSVP能力的接口都会开启自动隧道备份功能,允许自动创建Bypass隧道 配置本命令后,已自动创建的保护该接口的Bypass隧道会被删除 |
如果使用FRR进行节点保护,则在PLR和被保护节点上可以进行本配置,以便通过Hello机制或BFD检测到节点故障;如果只是进行链路保护,则不必进行本配置。
对于PLR和被保护节点之间链路故障引发的节点失效,不需要使用RSVP的Hello机制或BFD来进行节点故障检测。本配置主要用于在链路正常但信令协议故障的特殊情况下检测节点故障。
表1-35 配置节点故障检测
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PLR与被保护节点直连接口的接口视图 |
interface interface-type interface-number |
- |
开启RSVP的Hello扩展功能 |
rsvp hello enable |
二者选其一 缺省情况下,RSVP的Hello扩展功能处于关闭状态;不会通过BFD检测本地设备和RSVP邻居之间链路的状态 rsvp hello enable和rsvp bfd enable命令的详细介绍,请参见“MPLS配置指导”中的“RSVP” |
配置通过BFD检测本地设备和RSVP邻居之间链路的状态 |
rsvp bfd enable |
如果为一条主CRLSP指定了多条Bypass隧道,MPLS TE会从中选择一条最优的Bypass隧道,当主CRLSP出现故障时,将流量切换到该Bypass隧道转发。在某些情况下(如Bypass隧道的可预留带宽发生变化),当前的最优隧道可能不是之前选中的Bypass隧道。因此,MPLS TE需要周期性地选择最优的Bypass隧道。通过本配置可以调整Bypass隧道优选的周期。
请在PLR节点上进行本配置。
表1-36 配置快速重路由的Bypass隧道优选时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE视图 |
mpls te |
- |
配置在多条Bypass隧道中进行优选的时间间隔 |
fast-reroute timer interval |
缺省情况下,在多条Bypass隧道中进行优选的时间间隔为300秒 |
开启MPLS TE模块的告警功能后,当MPLS TE状态发生变化时会产生RFC 3812中规定的告警信息。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。
有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
表1-37 开启告警功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启MPLS TE模块的告警功能 |
snmp-agent trap enable te |
缺省情况下,MPLS TE模块的告警功能处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS TE的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除MPLS TE统计信息。
表1-38 MPLS TE的显示和维护
操作 |
命令 |
显示显式路径的信息 |
display explicit-path [ path-name ] |
显示DS-TE相关信息 |
display mpls te ds-te |
显示开启了MPLS TE的接口上的带宽相关信息 |
display mpls te link-management bandwidth-allocation [ interface interface-type interface-number ] |
显示MPLS TE隧道接口的信息 |
display mpls te tunnel-interface [ tunnel number ] |
显示OSPF TEDB中的链路和节点信息 |
display ospf [ process-id ] [ area area-id ] mpls te advertisement [ originate-router advertising-router-id | self-originate ] |
显示OSPF TEDB中的Network信息 |
display ospf [ process-id ] [ area area-id ] mpls te network [ originate-router advertising-router-id | self-originate ] |
显示OSPF的Tunnel接口信息 |
display ospf [ process-id ] [ area area-id ] mpls te tunnel |
显示IS-IS TEDB中的链路和节点信息 |
display isis mpls te advertisement [ [ level-1 | level-2 ] | [ originate-system system-id | local ] | verbose ] * [ process-id ] |
显示IS-IS TEDB中的网络信息 |
display isis mpls te network [ [ level-1 | level-2 ] | local | lsp-id lsp-id ]* [ process-id ] |
显示IS-IS 的Tunnel接口信息 |
display isis mpls te tunnel [ level-1 | level-2 ] [ process-id ] |
显示IS-IS TE配置的子TLV类型值信息 |
display isis mpls te configured-sub-tlvs [ process-id ] |
显示MPLS TEDB信息 |
display mpls te tedb { { isis { level-1 | level-2 } | ospf area area-id } | link ip-address | network | node [ local | mpls-lsr-id ] | summary } |
· 设备Switch A、Switch B和Switch C运行IS-IS;
· 使用静态CRLSP建立一条Switch A到Switch C的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量,该隧道需要的带宽为2000kbps;
· 隧道沿途的链路最大带宽为10000kbps,最大可预留带宽为5000kbps。
图1-7 静态CRLSP配置组网图
(1) 配置各接口的IP地址
按照图1-7配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0005.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] isis enable 1
[SwitchA-Vlan-interface1] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] isis enable 1
[SwitchA-LoopBack0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0005.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] isis enable 1
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] isis enable 1
[SwitchB-Vlan-interface2] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] isis enable 1
[SwitchB-LoopBack0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0005.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] isis enable 1
[SwitchC-Vlan-interface2] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] isis enable 1
[SwitchC-LoopBack0] quit
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由,包括Loopback接口对应的主机路由。
(3) 配置LSR ID、开启MPLS能力和MPLS TE能力
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.3
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] quit
(4) 配置链路的MPLS TE属性
# 在Switch A上配置链路的最大带宽和最大可预留带宽。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchA-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchA-Vlan-interface1] quit
# 在Switch B上配置链路的最大带宽和最大可预留带宽。
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface2] quit
# 在Switch C上配置链路的最大带宽和最大可预留带宽。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface2] quit
(5) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道Tunnel1:目的地址为Switch C的LSR ID(3.3.3.3);采用静态CRLSP建立MPLS TE隧道。
[SwitchA] interface tunnel 1 mode mpls-te
[SwitchA-Tunnel1] ip address 6.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 3.3.3.3
[SwitchA-Tunnel1] mpls te signaling static
[SwitchA-Tunnel1] quit
(6) 创建静态CRLSP
# 配置Switch A为静态CRLSP的Ingress节点,下一跳地址为2.1.1.2,出标签为20,隧道所需的带宽为2000kbps。
[SwitchA] static-cr-lsp ingress static-cr-lsp-1 nexthop 2.1.1.2 out-label 20 bandwidth 2000
# 在Switch A上配置隧道Tunnel1引用名称为static-cr-lsp-1的静态CRLSP。
[SwitchA] interface Tunnel1
[SwitchA-Tunnel1] mpls te static-cr-lsp static-cr-lsp-1
[SwitchA-Tunnel1] quit
# 配置Switch B为静态CRLSP的Transit节点,入标签为20,下一跳地址为3.2.1.2,出标签为30,隧道所需的带宽为2000kbps。
[SwitchB] static-cr-lsp transit static-cr-lsp-1 in-label 20 nexthop 3.2.1.2 out-label 30 bandwidth 2000
# 配置Switch C为静态CRLSP的Egress节点,入标签为30。
[SwitchC] static-cr-lsp egress static-cr-lsp-1 in-label 30
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 配置完成后,在Switch A上执行display interface tunnel命令,可以看到Tunnel接口的状态为up。
[SwitchA] display interface tunnel
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 6.1.1.1/24 (primary)
Tunnel source unknown, destination 3.3.3.3
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Output queue - Urgent queuing: Size/Length/Discards 0/100/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令,可以看到MPLS TE隧道的建立情况。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up)
Tunnel Attributes :
LSP ID : 1 Tunnel ID : 0
Admin State : Normal
Ingress LSR ID : 1.1.1.1 Egress LSR ID : 3.3.3.3
Signaling : Static Static CRLSP Name : static-cr-lsp-1
Resv Style : -
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : - Tunnel Bandwidth : -
Reserved Bandwidth : -
Setup Priority : 0 Holding Priority : 0
Affinity Attr/Mask : -/-
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : - Record Label : -
FRR Flag : - Bandwidth Protection : -
Backup Bandwidth Flag: - Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : - Auto Created : -
Route Pinning : -
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : - Reoptimization Freq : -
Backup Type : - Backup LSP ID : -
Auto Bandwidth : - Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在各设备上执行display mpls lsp或display mpls static-cr-lsp命令,可以看到静态CRLSP的建立情况。
[SwitchA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.1/0/1 StaticCR -/20 Vlan1
2.1.1.2 Local -/- Vlan1
Tunnel1 Local -/- NHLFE1025
[SwitchB] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
- StaticCR 20/30 Vlan2
3.2.1.2 Local -/- Vlan2
[SwitchC] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
- StaticCR 30/- -
[SwitchA] display mpls static-cr-lsp
Name LSR Type In/Out Label Out Interface State
static-cr-lsp-1 Ingress Null/20 Vlan1 Up
[SwitchB] display mpls static-cr-lsp
Name LSR Type In/Out Label Out Interface State
static-cr-lsp-1 Transit 20/30 Vlan2 Up
[SwitchC] display mpls static-cr-lsp
Name LSR Type In/Out Label Out Interface State
static-cr-lsp1 Egress 30/Null - Up
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
· 设备Switch A、Switch B、Switch C和Switch D运行IS-IS,都是Level-2设备;
· 使用RSVP-TE建立一条从Switch A到Switch D的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量,该隧道需要的带宽为2000kbps;
· 隧道沿途的链路最大带宽为10000kbps,最大可预留带宽为5000kbps。
图1-8 RSVP-TE配置MPLS TE隧道组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
|
Vlan-int10 |
100.1.1.1/24 |
|
Vlan-int10 |
100.1.2.1/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-8配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0005.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] isis enable 1
[SwitchA-Vlan-interface1] isis circuit-level level-2
[SwitchA-Vlan-interface1] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] isis enable 1
[SwitchA-LoopBack0] isis circuit-level level-2
[SwitchA-LoopBack0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0005.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] isis enable 1
[SwitchB-Vlan-interface1] isis circuit-level level-2
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] isis enable 1
[SwitchB-Vlan-interface2] isis circuit-level level-2
[SwitchB-Vlan-interface2] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] isis enable 1
[SwitchB-LoopBack0] isis circuit-level level-2
[SwitchB-LoopBack0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0005.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] isis enable 1
[SwitchC-Vlan-interface3] isis circuit-level level-2
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] isis enable 1
[SwitchC-Vlan-interface2] isis circuit-level level-2
[SwitchC-Vlan-interface2] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] isis enable 1
[SwitchC-LoopBack0] isis circuit-level level-2
[SwitchC-LoopBack0] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 00.0005.0000.0000.0004.00
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] isis enable 1
[SwitchD-Vlan-interface3] isis circuit-level level-2
[SwitchD-Vlan-interface3] quit
[SwitchD] interface loopback 0
[SwitchD-LoopBack0] isis enable 1
[SwitchD-LoopBack0] isis circuit-level level-2
[SwitchD-LoopBack0] quit
# 配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由,包括Loopback接口对应的主机路由。
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] rsvp
[SwitchC-rsvp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls te enable
[SwitchC-Vlan-interface3] rsvp enable
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] rsvp enable
[SwitchC-Vlan-interface2] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls te
[SwitchD-te] quit
[SwitchD] rsvp
[SwitchD-rsvp] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls enable
[SwitchD-Vlan-interface3] mpls te enable
[SwitchD-Vlan-interface3] rsvp enable
[SwitchD-Vlan-interface3] quit
(4) 配置IS-IS TE
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] mpls te enable level-2
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] mpls te enable level-2
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] mpls te enable level-2
[SwitchC-isis-1] quit
# 配置SwitchD。
[SwitchD] isis 1
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] mpls te enable level-2
[SwitchD-isis-1] quit
(5) 配置链路的MPLS TE属性
# 在Switch A上配置链路的最大带宽和最大可预留带宽。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchA-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchA-Vlan-interface1] quit
# 在Switch B上配置链路的最大带宽和最大可预留带宽。
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface2] quit
# 在Switch C上配置链路的最大带宽和最大可预留带宽。
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface3] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface2] quit
# 在Switch D上配置链路的最大带宽和最大可预留带宽。
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchD-Vlan-interface3] mpls te max-reservable-bandwidth 5000
[SwitchD-Vlan-interface3] quit
(6) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道Tunnel1:目的地址为Switch D的LSR ID(4.4.4.9);采用RSVP-TE信令协议建立MPLS TE隧道;隧道所需的带宽为2000kbps。
[SwitchA] interface tunnel 1 mode mpls-te
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te signaling rsvp-te
[SwitchA-Tunnel1] mpls te bandwidth 2000
[SwitchA-Tunnel1] quit
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 配置完成后,在Switch A上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchA] display interface tunnel
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 7.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.9
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 6 bytes/sec, 48 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 177 packets, 11428 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 23331 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 4.4.4.9
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 2000 kbps
Reserved Bandwidth : 2000 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 10 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
· Switch A和Switch B位于AS 100内,AS 100内使用OSPF作为IGP协议。
· Switch C和Switch D位于AS 200内,AS 200内使用OSPF作为IGP协议。
· 在作为ASBR的Switch B和Switch C之间建立EBGP连接,配置BGP引入OSPF路由, OSPF进程引入BGP路由,使得AS 100和AS 200之间路由可达。
· 使用RSVP-TE从Switch A到Switch D建立一条跨域的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量,该隧道所需的带宽为2000kbps。
· 隧道沿途的链路最大带宽为10000kbps,最大可预留带宽为5000kbps。
图1-9 使用RSVP-TE配置跨域的MPLS TE隧道组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
|
Vlan-int10 |
100.1.1.1/24 |
|
Vlan-int10 |
100.1.2.1/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-9配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置使用OSPF在AS内发布路由信息,并在Switch B和Switch C上配置OSPF引入直连路由和BGP路由
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ospf
[SwitchB-ospf-1] import-route direct
[SwitchB-ospf-1] import-route bgp
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ospf
[SwitchC-ospf-1] import-route direct
[SwitchC-ospf-1] import-route bgp
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ospf
[SwitchD-ospf-1] area 0
[SwitchD-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[SwitchD-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[SwitchD-ospf-1-area-0.0.0.0] quit
[SwitchD-ospf-1] quit
# 配置完成后,在各设备上执行display ip routing-table命令,可以看到AS内的设备之间都学到了到对方的路由,包括Loopback接口对应的主机路由。以Switch A为例:
[SwitchA] display ip routing-table
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 O_INTRA 10 1 10.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 在Switch B和Switch C之间配置BGP,使得AS之间路由可达
# 配置Switch B。
[SwitchB] bgp 100
[SwitchB-bgp] peer 20.1.1.2 as-number 200
[SwitchB-bgp] address-family ipv4 unicast
[SwitchB-bgp-ipv4] peer 20.1.1.2 enable
[SwitchB-bgp-ipv4] import-route ospf
[SwitchB-bgp-ipv4] import-route direct
[SwitchB-bgp-ipv4] quit
[SwitchB-bgp] quit
# 配置Switch C。
[SwitchC] bgp 200
[SwitchC-bgp] peer 20.1.1.1 as-number 100
[SwitchC-bgp] address-family ipv4 unicast
[SwitchC-bgp-ipv4] peer 20.1.1.1 enable
[SwitchC-bgp-ipv4] import-route ospf
[SwitchC-bgp-ipv4] import-route direct
[SwitchC-bgp-ipv4] quit
[SwitchC-bgp] quit
# 配置完成后,在各设备上执行display ip routing-table命令,可以看到设备学习到了AS外部的路由。以Switch A为例:
[SwitchA] display ip routing-table
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 O_INTRA 10 1 10.1.1.2 Vlan1
3.3.3.9/32 O_ASE 150 1 10.1.1.2 Vlan1
4.4.4.9/32 O_ASE 150 1 10.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 O_ASE 150 1 10.1.1.2 Vlan1
30.1.1.0/24 O_ASE 150 1 10.1.1.2 Vlan1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(4) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] rsvp
[SwitchC-rsvp] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] rsvp enable
[SwitchC-Vlan-interface2] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls te enable
[SwitchC-Vlan-interface3] rsvp enable
[SwitchC-Vlan-interface3] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls te
[SwitchD-te] quit
[SwitchD] rsvp
[SwitchD-rsvp] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls enable
[SwitchD-Vlan-interface3] mpls te enable
[SwitchD-Vlan-interface3] rsvp enable
[SwitchD-Vlan-interface3] quit
(5) 配置OSPF TE
# 配置Switch A。
[SwitchA] ospf
[SwitchA-ospf-1] opaque-capability enable
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] mpls te enable
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置Switch B。
[SwitchB] ospf
[SwitchB-ospf-1] opaque-capability enable
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] mpls te enable
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置Switch C。
[SwitchC] ospf
[SwitchC-ospf-1] opaque-capability enable
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] mpls te enable
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
# 配置Switch D。
[SwitchD] ospf
[SwitchD-ospf-1] opaque-capability enable
[SwitchD-ospf-1] area 0
[SwitchD-ospf-1-area-0.0.0.0] mpls te enable
[SwitchD-ospf-1-area-0.0.0.0] quit
[SwitchD-ospf-1] quit
(6) 配置显式路径
# 在Switch A上配置显式路径,指定Switch B节点和Switch D节点为松散下一跳,Switch C节点为严格下一跳。
[SwitchA] explicit-path atod
[SwitchA-explicit-path-atod] nexthop 10.1.1.2 include loose
[SwitchA-explicit-path-atod] nexthop 20.1.1.2 include strict
[SwitchA-explicit-path-atod] nexthop 30.1.1.2 include loose
[SwitchA-explicit-path-atod] quit
(7) 配置链路的MPLS TE属性
# 在Switch A上配置链路的最大带宽和最大可预留带宽。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchA-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchA-Vlan-interface1] quit
# 在Switch B上配置链路的最大带宽和最大可预留带宽。
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface1] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchB-Vlan-interface2] quit
# 在Switch C上配置链路的最大带宽和最大可预留带宽。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface2] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface2] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface3] mpls te max-reservable-bandwidth 5000
[SwitchC-Vlan-interface3] quit
# 在Switch D上配置链路的最大带宽和最大可预留带宽。
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchD-Vlan-interface3] mpls te max-reservable-bandwidth 5000
[SwitchD-Vlan-interface3] quit
(8) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道Tunnel1:目的地址为Switch D的LSR ID(4.4.4.9);采用RSVP-TE信令协议建立MPLS TE隧道;隧道所需的带宽为2000kbps;为隧道指定显式路径atod。
[SwitchA] interface tunnel 1 mode mpls
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te signaling rsvp-te
[SwitchA-Tunnel1] mpls te bandwidth 2000
[SwitchA-Tunnel1] mpls te path preference 5 explicit-path atod
[SwitchA-Tunnel1] quit
(9) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 配置完成后,在Switch A上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchA] display interface tunnel 1
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 7.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.9
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets input, 0 bytes, 0 drops
Output: 3077 packets output, 197028 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 23549 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 4.4.4.9
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 2000 kbps
Reserved Bandwidth : 2000 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : atod
Backup Explicit Path : -
Metric Type : TE
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 10 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
[SwitchA] display ip routing-table
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 O_INTRA 10 1 10.1.1.2 Vlan1
3.3.3.9/32 O_ASE 150 1 10.1.1.2 Vlan1
4.4.4.9/32 O_ASE 150 1 10.1.1.2 Vlan1
7.1.1.0/24 Direct 0 0 7.1.1.1 Tun1
7.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 O_ASE 150 1 10.1.1.2 Vlan1
100.1.2.0/24 Static 1 0 7.1.1.1 Tun1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
· 设备Switch A、Switch B、Switch C和Switch D运行IS-IS,都是Level-2设备;
· 使用RSVP-TE从Switch A到Switch D建立双向TE隧道。
图1-10 配置MPLS TE双向隧道组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-10配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口
具体过程请参见“1.15.2 使用RSVP-TE配置MPLS TE隧道示例”。
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力,并在Switch A和Switch D上配置为倒数第二跳分配非空标签
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls label advertise non-null
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] rsvp
[SwitchC-rsvp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls te enable
[SwitchC-Vlan-interface3] rsvp enable
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] rsvp enable
[SwitchC-Vlan-interface2] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls label advertise non-null
[SwitchD] mpls te
[SwitchD-te] quit
[SwitchD] rsvp
[SwitchD-rsvp] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls enable
[SwitchD-Vlan-interface3] mpls te enable
[SwitchD-Vlan-interface3] rsvp enable
[SwitchD-Vlan-interface3] quit
(4) 配置IS-IS TE
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] mpls te enable level-2
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] mpls te enable level-2
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] mpls te enable level-2
[SwitchC-isis-1] quit
# 配置Switch D。
[SwitchD] isis 1
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] mpls te enable level-2
[SwitchD-isis-1] quit
(5) 配置MPLS TE双向隧道
# 配置Switch A作为Co-routed方式双向隧道的active端。
[SwitchA] interface tunnel 1 mode mpls-te
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te signaling rsvp-te
[SwitchA-Tunnel1] mpls te resv-style ff
[SwitchA-Tunnel1] mpls te bidirectional co-routed active
[SwitchA-Tunnel1] quit
# 配置Switch D作为Co-routed方式双向隧道的passive端。
[SwitchD] interface tunnel 4 mode mpls-te
[SwitchD-Tunnel4] ip address 8.1.1.1 255.255.255.0
[SwitchD-Tunnel4] destination 1.1.1.9
[SwitchD-Tunnel4] mpls te signaling rsvp-te
[SwitchD-Tunnel4] mpls te resv-style ff
[SwitchD-Tunnel4] mpls te bidirectional co-routed passive reverse-lsp lsr-id 1.1.1.9 tunnel-id 1
[SwitchD-Tunnel4] quit
# 配置完成后,在Switch A上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchA] display interface tunnel
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 7.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.9
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up, Reverse CRLSP up)
Tunnel Attributes :
LSP ID : 30478 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 4.4.4.9
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : FF
Tunnel mode : Co-routed, active
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 10 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在Swtich A上执行display mpls lsp verbose命令可以看到双向隧道的详细信息。
[SwitchA] display mpls lsp verbose
Destination : 4.4.4.9
FEC : 1.1.1.9/1/30478
Protocol : RSVP
LSR Type : Ingress
Service : -
NHLFE ID : 1027
State : Active
Out-Label : 1149
Nexthop : 10.1.1.2
Out-Interface: Vlan1
Destination : 4.4.4.9
FEC : 1.1.1.9/1/30478
Protocol : RSVP
LSR Type : Egress
Service : -
In-Label : 1151
State : Active
Nexthop : 127.0.0.1
Out-Interface: -
Destination : 10.1.1.2
FEC : 10.1.1.2
Protocol : Local
LSR Type : Ingress
Service : -
NHLFE ID : 1026
State : Active
Nexthop : 10.1.1.2
Out-Interface: Vlan1
# 在Swtich D上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchD] display interface tunnel
Tunnel4
Current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 8.1.1.1/24 (primary)
Tunnel source unknown, destination 1.1.1.9
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets input, 0 bytes, 0 drops
Output: 0 packets output, 0 bytes, 0 drops
# 在Switch D上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchD] display mpls te tunnel-interface
Tunnel Name : Tunnel 4
Tunnel State : Up (Main CRLSP up, Reverse CRLSP up)
Tunnel Attributes :
LSP ID : - Tunnel ID : 8
Admin State : Normal
Ingress LSR ID : - Egress LSR ID : -
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : FF
Tunnel mode : Co-routed, passive
Reverse-LSP name : -
Reverse-LSP LSR ID : 1.1.1.9 Reverse-LSP Tunnel ID: 1
Class Type : - Tunnel Bandwidth : -
Reserved Bandwidth : -
Setup Priority : - Holding Priority : -
Affinity Attr/Mask : -/-
Explicit Path : -
Backup Explicit Path : -
Metric Type : -
Record Route : - Record Label : -
FRR Flag : - Bandwidth Protection : -
Backup Bandwidth Flag: - Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : - Auto Created : No
Route Pinning : -
Retry Limit : - Retry Interval : -
Reoptimization : - Reoptimization Freq : -
Backup Type : - Backup LSP ID : -
Auto Bandwidth : - Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在Switch D上执行display mpls lsp verbose命令可以看到双向隧道的详细信息。
[SwitchD] display mpls lsp verbose
Destination : 4.4.4.9
FEC : 1.1.1.9/1/30478
Protocol : RSVP
LSR Type : Egress
Service : -
In-Label : 3
State : Active
Nexthop : 127.0.0.1
Out-Interface: -
Destination : 4.4.4.9
FEC : 1.1.1.9/1/30478
Protocol : RSVP
LSR Type : Ingress
Service : -
NHLFE ID : 1025
State : Active
Out-Label : 1150
Nexthop : 30.1.1.1
Out-Interface: Vlan1
Destination : 30.1.1.1
FEC : 30.1.1.1
Protocol : Local
LSR Type : Ingress
Service : -
NHLFE ID : 1024
State : Active
Nexthop : 30.1.1.1
Out-Interface: Vlan1
· 设备Switch A、Switch B、Switch C和Switch D运行IS-IS和IS-IS TE;
· 使用RSVP-TE从Switch A到Switch C建立一条MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量;
· MPLS TE隧道支持CRLSP热备份,即同时建立主备两条CRLSP,实现主CRLSP故障时将流量切换到备份CRLSP。
图1-11 CRLSP备份组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int4 |
30.1.1.2/24 |
|
Vlan-int4 |
30.1.1.1/24 |
|
Vlan-int3 |
40.1.1.1/24 |
|
Vlan-int10 |
100.1.1.1/24 |
Switch C |
Loop0 |
3.3.3.9/32 |
Switch B |
Loop0 |
2.2.2.9/32 |
|
Vlan-int2 |
20.1.1.2/24 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
40.1.1.2/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int10 |
100.1.2.1/24 |
进行下面配置之前,需要先全局关闭STP功能,或为每个VLAN映射一个MSTP实例。具体配置方法请参见“二层技术-以太网交换配置指导”中的“生成树”。
(1) 配置各接口的IP地址
按照图1-11配置各接口的IP地址和掩码,包括各Loopback接口,并配置IS-IS TE,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口(具体配置过程略)
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
[SwitchA] interface vlan-interface 4
[SwitchA-Vlan-interface4] mpls enable
[SwitchA-Vlan-interface4] mpls te enable
[SwitchA-Vlan-interface4] rsvp enable
[SwitchA-Vlan-interface4] quit
# Switch B、Switch C和Switch D的配置与Switch A相似,此处不再赘述。
(4) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道Tunnel3:目的地址为Switch C的LSR ID(3.3.3.9);采用RSVP-TE信令协议建立MPLS TE隧道;隧道支持CRLSP热备份功能。
[SwitchA] interface tunnel 3 mode mpls-te
[SwitchA-Tunnel3] ip address 9.1.1.1 24
[SwitchA-Tunnel3] destination 3.3.3.9
[SwitchA-Tunnel3] mpls te signaling rsvp-te
[SwitchA-Tunnel3] mpls te backup hot-standby
[SwitchA-Tunnel3] quit
(5) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel3转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 3 preference 1
# 配置完成后,在Switch A上执行display interface tunnel命令,可以看到Tunnel3的状态为up。
[SwitchA] display interface tunnel
Tunnel3
Current state: UP
Line protocol state: UP
Description: Tunnel3 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 9.1.1.1/24 (primary)
Tunnel source unknown, destination 3.3.3.9
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Output queue - Urgent queuing: Size/Length/Discards 0/100/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 在Switch A上执行display mpls lsp命令,可以看到存在两条CRLSP,出接口分别是Vlan-interface1和Vlan-interface4,即主CRLSP创建后,备份CRLSP也建立了。
[SwitchA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.9/3/34311 RSVP -/1150 Vlan1
1.1.1.9/3/34312 RSVP -/1151 Vlan4
10.1.1.2 Local -/- Vlan1
30.1.1.2 Local -/- Vlan4
Tunnel3 Local -/- NHLFE1026
Backup -/- NHLFE1028
# 在Switch A上执行display rsvp lsp verbose命令,可以看到这两条CRLSP使用的路径。
[SwitchA] display rsvp lsp verbose
Tunnel name: SwitchA_t3
Destination: 3.3.3.9 Source: 1.1.1.9
Tunnel ID: 3 LSP ID: 30106
LSR type: Ingress Direction: Unidirectional
Setup priority: 7 Holding priority: 7
In-Label: - Out-Label: 1137
In-Interface: - Out-Interface: Vlan1
Nexthop: 10.1.1.2 Exclude-any: 0
Include-Any: 0 Include-all: 0
Mean rate (CIR): 0 kbps Mean burst size (CBS): 1000.00 bytes
Path MTU: 1500 Class type: CT0
RRO number: 6
10.1.1.1/32 Flag: 0x00 (No FRR)
10.1.1.2/32 Flag: 0x00 (No FRR/In-Int)
2.2.2.9/32 Flag: 0x20 (No FRR/Node-ID)
20.1.1.1/32 Flag: 0x00 (No FRR)
20.1.1.2/32 Flag: 0x00 (No FRR/In-Int)
3.3.3.9/32 Flag: 0x20 (No FRR/Node-ID)
Fast Reroute protection: None
Tunnel name: Tunnel3
Destination: 3.3.3.9 Source: 1.1.1.9
Tunnel ID: 3 LSP ID: 30107
LSR type: Ingress Direction: Unidirectional
Setup priority: 7 Holding priority: 7
In-Label: - Out-Label: 1150
In-Interface: - Out-Interface: Vlan4
Nexthop: 30.1.1.2 Exclude-any: 0
Include-Any: 0 Include-all: 0
Mean rate (CIR): 0 kbps Mean burst size (CBS): 1000.00 bytes
Path MTU: 1500 Class type: CT0
RRO number: 6
30.1.1.1/32 Flag: 0x00 (No FRR)
30.1.1.2/32 Flag: 0x00 (No FRR/In-Int)
4.4.4.9/32 Flag: 0x20 (No FRR/Node-ID)
40.1.1.1/32 Flag: 0x00 (No FRR)
40.1.1.2/32 Flag: 0x00 (No FRR/In-Int)
3.3.3.9/32 Flag: 0x20 (No FRR/Node-ID)
Fast Reroute protection: None
# 对Tunnel3进行Tracert操作,可以看出目前使用的是经过Switch B的CRLSP,不是经过Switch D的CRLSP。
[SwitchA] tracert mpls te tunnel 3
MPLS trace route TE tunnel Tunnel3
TTL Replier Time Type Downstream
0 Ingress 10.1.1.2/[1147]
1 10.1.1.2 1 ms Transit 20.1.1.2/[3]
2 20.1.1.2 2 ms Egress
# 在SwitchB的接口Vlan-interface2上执行shutdown命令,然后再对Tunnel3进行Tracert操作,可以看到报文使用经过Switch D的CRLSP转发。
[SwitchA] tracert mpls te tunnel 3
MPLS trace route TE tunnel Tunnel3
TTL Replier Time Type Downstream
0 Ingress 30.1.1.2/[1148]
1 30.1.1.2 2 ms Transit 40.1.1.2/[3]
2 40.1.1.2 3 ms Egress
# 在Switch A上执行display mpls lsp命令,可以看到只剩下一条经过Switch D的CRLSP:
[SwitchA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.9/3/34313 RSVP -/1150 Vlan4
30.1.1.2 Local -/- Vlan4
Tunnel3 Local -/- NHLFE1029
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel3为出接口的静态路由信息。
· 主CRLSP使用路径Switch A→Switch B→Switch C→Switch D,要求对Switch B→Switch C这段链路通过FRR进行链路保护。
· 使用RSVP-TE信令协议、基于显式路径约束条件建立MPLS TE隧道的主CRLSP和Bypass隧道,实现两个IP网络通过MPLS TE隧道传输数据流量。Bypass隧道使用路径Switch B→Switch E→Switch C(Switch B是本地修复节点PLR,Switch C是汇聚点MP)。
· 在Switch B和Switch C之间配置RSVP-TE与BFD联动,当Switch B和Switch C之间的链路出现故障后,BFD能够快速检测并通告RSVP-TE协议,以便快速将流量切换到Bypass隧道。
图1-12 MPLS TE快速重路由配置组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.1/32 |
Switch B |
Loop0 |
2.2.2.2/32 |
|
Vlan-int1 |
2.1.1.1/24 |
|
Vlan-int1 |
2.1.1.2/24 |
|
Vlan-int10 |
100.1.1.1/24 |
|
Vlan-int2 |
3.1.1.1/24 |
Switch D |
Loop0 |
4.4.4.4/32 |
|
Vlan-int4 |
3.2.1.1/24 |
|
Vlan-int3 |
4.1.1.2/24 |
Switch C |
Loop0 |
3.3.3.3/32 |
|
Vlan-int10 |
100.1.1.1/24 |
|
Vlan-int3 |
4.1.1.1/24 |
Switch E |
Loop0 |
5.5.5.5/32 |
|
Vlan-int2 |
3.1.1.2/24 |
|
Vlan-int4 |
3.2.1.2/24 |
|
Vlan-int5 |
3.3.1.2/24 |
|
Vlan-int5 |
3.3.1.1/24 |
|
|
|
(1) 配置各接口的IP地址
按照图1-12配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口(具体配置过程略)
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力,并在Switch B和Switch C上配置RSVP-TE与BFD联动,以检测Switch B与Switch C之间链路的状态
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] rsvp bfd enable
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 4
[SwitchB-Vlan-interface4] mpls enable
[SwitchB-Vlan-interface4] mpls te enable
[SwitchB-Vlan-interface4] rsvp enable
[SwitchB-Vlan-interface4] quit
# Switch C的配置与Switch B的配置相似,Switch D、Switch E的配置与Switch A的配置相似,此处不再赘述。
(4) 在主CRLSP的Ingress节点Switch A上建立MPLS TE隧道
# 配置主CRLSP的显式路径。
[SwitchA] explicit-path pri-path
[SwitchA-explicit-path-pri-path] nexthop 2.1.1.2
[SwitchA-explicit-path-pri-path] nexthop 3.1.1.2
[SwitchA-explicit-path-pri-path] nexthop 4.1.1.2
[SwitchA-explicit-path-pri-path] nexthop 4.4.4.4
[SwitchA-explicit-path-pri-path] quit
# 配置主CRLSP的MPLS TE隧道Tunnel4:目的地址为Switch D的LSR ID(4.4.4.4);采用RSVP-TE信令协议建立MPLS TE隧道;隧道引用显式路径pri-path。
[SwitchA] interface tunnel 4 mode mpls-te
[SwitchA-Tunnel4] ip address 10.1.1.1 255.255.255.0
[SwitchA-Tunnel4] destination 4.4.4.4
[SwitchA-Tunnel4] mpls te signaling rsvp-te
[SwitchA-Tunnel4] mpls te path preference 1 explicit-path pri-path
# 开启MPLS TE隧道的FRR功能。
[SwitchA-Tunnel4] mpls te fast-reroute
[SwitchA-Tunnel4] quit
# 配置完成后,在Switch A上执行display interface tunnel命令,可以看到Tunnel4的状态为up。
[SwitchA] display interface tunnel
Tunnel4
Current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 10.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.4
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 1911 bytes/sec, 15288 bits/sec, 0 packets/sec
Input: 0 packets input, 0 bytes, 0 drops
Output: 1526 packets output, 22356852 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 4
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 48960 Tunnel ID : 4
Admin State : Normal
Ingress LSR ID : 1.1.1.1 Egress LSR ID : 3.3.3.3
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : pri-path
Backup Explicit Path : -
Metric Type : TE
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 10 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
(5) 在作为PLR的Switch B上配置Bypass隧道
# 配置Bypass隧道的显式路径。
[SwitchB] explicit-path by-path
[SwitchB-explicit-path-by-path] nexthop 3.2.1.2
[SwitchB-explicit-path-by-path] nexthop 3.3.1.2
[SwitchB-explicit-path-by-path] nexthop 3.3.3.3
[SwitchB-explicit-path-by-path] quit
# 配置隧道Tunnel5:目的地址为Switch C的LSR ID(3.3.3.3);采用RSVP-TE信令协议建立MPLS TE隧道;隧道引用显式路径by-path。
[SwitchB] interface tunnel 5 mode mpls-te
[SwitchB-Tunnel5] ip address 11.1.1.1 255.255.255.0
[SwitchB-Tunnel5] destination 3.3.3.3
[SwitchB-Tunnel5] mpls te signaling rsvp-te
[SwitchB-Tunnel5] mpls te path preference 1 explicit-path by-path
# 配置Bypass隧道可保护的带宽。
[SwitchB-Tunnel5] mpls te backup bandwidth un-limited
[SwitchB-Tunnel5] quit
# 将Bypass隧道绑定到被保护的接口。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te fast-reroute bypass-tunnel tunnel 5
[SwitchB-Vlan-interface2] quit
# 配置完成后,在Switch B上执行display interface tunnel命令可以看到接口Tunnel5的状态为up。
(6) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel4转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 4 preference 1
# 在所有设备上执行display mpls lsp命令,可以看到LSP表项。在Switch B和Switch C上存在两条LSP,通过Bypass隧道保护主CRLSP。
[SwitchA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.1/4/61400 RSVP -/1245 Vlan1
2.1.1.2 Local -/- Vlan1
[SwitchB] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.1/4/614000 RSVP 1245/3 Vlan2
Backup 1245/3 Tun5
2.2.2.2/5/30914 RSVP -/1150 Vlan2
3.2.1.2 Local -/- Vlan4
3.1.1.2 Local -/- Vlan2
[SwitchE] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
2.2.2.2/5/30914 RSVP 1150/3 Vlan5
3.3.1.2 Local -/- Vlan5
# 在PLR上shutdown被保护的出接口Vlan-interface2。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] shutdown
[SwitchB-Vlan-interface2] quit
# 在Switch A上执行display interface tunnel 4命令查看主CRLSP的状态,可以看到Tunnel接口仍然处于up状态。
# 在Switch A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 4
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP being set up)
Tunnel Attributes :
LSP ID : 18753 Tunnel ID : 4
Admin State : Normal
Ingress LSR ID : 1.1.1.1 Egress LSR ID : 3.3.3.3
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : pri-path
Backup Explicit Path : -
Metric Type : TE
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 10 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
如果在FRR切换后马上执行display mpls te tunnel-interface命令查看隧道接口的详细信息,会看到两条处于up状态的CRLSP。这是因为FRR采用make-before-break方式建立新的LSP,旧的LSP在新LSP建立成功后过一段时间才被删除。
# 在Switch B上执行display mpls lsp命令,可以看到Bypass隧道被使用。
[SwitchB] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.1/4/61400 RSVP 1136/3 Tun5
2.2.2.2/5/30914 RSVP -/1149 Vlan4
3.2.1.2 Local -/- Vlan4
# 在PLR上配置在多条旁路隧道中进行优选的时间间隔为5秒。
[SwitchB] mpls te
[SwitchB-te] fast-reroute timer 5
[SwitchB-te] quit
# 在PLR上undo shutdown被保护的出接口Vlan-interface2。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo shutdown
# 在Switch A上执行display interface tunnel 4命令查看主CRLSP的状态,可以看到Tunnel接口处于up状态。
# 等待约5秒钟后,在Switch B上执行display mpls lsp verbose命令,可以看到Tunnel5仍绑定到出接口Vlan-interface2,但未被使用。
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel4为出接口的静态路由信息。
· 使用RSVP-TE信令协议、基于显式路径约束条件建立主CRLSP。主CRLSP使用的路径为Switch A→Switch B→Switch C→Switch D。
· 在Switch B上配置自动隧道备份功能,自动为主CRLSP建立Bypass隧道。
· 在Switch B和Switch C之间配置RSVP-TE与BFD联动,当Switch B和Switch C之间的链路出现故障后,BFD能够快速检测并通告RSVP-TE协议,以便快速将流量切换到Bypass隧道。
图1-13 MPLS TE自动快速重路由配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop0 |
1.1.1.1/32 |
Switch E |
Loop0 |
5.5.5.5/32 |
|
Vlan-int1 |
2.1.1.1/24 |
|
Vlan-int4 |
3.2.1.2/24 |
Switch B |
Loop0 |
2.2.2.2/32 |
|
Vlan-int5 |
3.4.1.1/24 |
|
Vlan-int1 |
2.1.1.2/24 |
Switch C |
Loop0 |
3.3.3.3/32 |
|
Vlan-int2 |
3.1.1.1/24 |
|
Vlan-int3 |
4.1.1.1/24 |
|
Vlan-int4 |
3.2.1.1/24 |
|
Vlan-int2 |
3.1.1.2/24 |
|
Vlan-int6 |
3.3.1.1/24 |
|
Vlan-int5 |
3.4.1.2/24 |
Switch D |
Loop0 |
4.4.4.4/32 |
Switch F |
Loop0 |
6.6.6.6/32 |
|
Vlan-int3 |
4.1.1.2/24 |
|
Vlan-int6 |
3.3.1.2/24 |
|
Vlan-int7 |
4.2.1.2/24 |
|
Vlan-int7 |
4.2.1.1/24 |
进行下面配置之前,需要先全局关闭STP功能,或为每个VLAN映射一个MSTP实例。具体配置方法请参见“二层技术-以太网交换配置指导”中的“生成树”。
(1) 配置各接口的IP地址
按照图1-13配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口(具体配置过程略)
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力,并在Switch B和Switch C之间配置RSVP-TE与BFD联动,以检测Switch B与Switch C之间链路的状态
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] rsvp bfd enable
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 4
[SwitchB-Vlan-interface4] mpls enable
[SwitchB-Vlan-interface4] mpls te enable
[SwitchB-Vlan-interface4] rsvp enable
[SwitchB-Vlan-interface4] quit
[SwitchB] interface vlan-interface 6
[SwitchB-Vlan-interface6] mpls enable
[SwitchB-Vlan-interface6] mpls te enable
[SwitchB-Vlan-interface6] rsvp enable
[SwitchB-Vlan-interface6] quit
# Switch C的配置与Switch B的配置相似,Switch D、Switch E、Switch F的配置与Switch A的配置相似,此处不再赘述。
(4) 在主CRLSP的Ingress节点Switch A上建立MPLS TE隧道
# 配置主CRLSP的显式路径。
[SwitchA] explicit-path pri-path
[SwitchA-explicit-path-pri-path] nexthop 2.1.1.2
[SwitchA-explicit-path-pri-path] nexthop 3.1.1.2
[SwitchA-explicit-path-pri-path] nexthop 4.1.1.2
[SwitchA-explicit-path-pri-path] nexthop 4.4.4.4
[SwitchA-explicit-path-pri-path] quit
# 配置主CRLSP的MPLS TE隧道Tunnel1:目的地址为Switch D的LSR ID(4.4.4.4);采用RSVP-TE信令协议建立MPLS TE隧道;隧道引用显式路径pri-path。
[SwitchA] interface tunnel 1 mode mpls-te
[SwitchA-Tunnel1] ip address 10.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 4.4.4.4
[SwitchA-Tunnel1] mpls te signaling rsvp-te
[SwitchA-Tunnel1] mpls te path preference 1 explicit-path pri-path
# 开启MPLS TE隧道的FRR功能。
[SwitchA-Tunnel1] mpls te fast-reroute
[SwitchA-Tunnel1] quit
# 配置完成后,在Switch A上执行display interface tunnel命令,可以看到Tunnel1的状态为up。
[SwitchA] display interface tunnel
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 10.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.4
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 1911 bytes/sec, 15288 bits/sec, 0 packets/sec
Input: 0 packets input, 0 bytes, 0 drops
Output: 1526 packets output, 22356852 bytes, 0 drops
# 在Switch A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 16802 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 2.2.2.2 Egress LSR ID : 4.4.4.4
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : exp1
Backup Explicit Path : -
Metric Type : TE
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
(5) 在作为PLR的Switch B上配置自动隧道备份功能
# 全局开启自动隧道备份功能,并配置自动创建的Bypass隧道接口编号范围为50~100。
[SwitchB] mpls te
[SwitchB-te] auto-tunnel backup
[SwitchB-te-auto-bk] tunnel-number min 50 max 100
[SwitchB-te-auto-bk] quit
# 在Switch B上执行display interface tunnel brief命令,可以看到自动创建了两条隧道。
[SwitchB] display interface tunnel brief
Brief information on interfaces in route mode:
Link: ADM - administratively down; Stby - standby
Protocol: (s) - spoofing
Interface Link Protocol Primary IP Description
Tun50 UP DOWN --
Tun51 UP DOWN --
# 在Switch B上执行display mpls te tunnel-interface命令,查看Tunnel50和Tunnel51的信息,可以看到该隧道为自动创建的Bypass隧道,且Tunnel50为节点保护类型的Bypass隧道(Egress LSR ID为4.4.4.4,Switch D的LSR ID),Tunnel51为链路保护类型的Bypass隧道(Egress LSR ID为3.3.3.3,Switch C的LSR ID)
[SwitchB] display mpls te tunnel-interface tunnel 50
Tunnel Name : Tunnel 50
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 16802 Tunnel ID : 50
Admin State : Normal
Ingress LSR ID : 2.2.2.2 Egress LSR ID : 4.4.4.4
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : Enabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : Yes Auto Created : Yes
Route Pinning : Disabled
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
[SwitchB] display mpls te tunnel-interface tunnel 51
Tunnel Name : Tunnel 51
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 16802 Tunnel ID : 51
Admin State : Normal
Ingress LSR ID : 2.2.2.2 Egress LSR ID : 3.3.3.3
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : 7 Holding Priority : 7
Affinity Attr/Mask : 0/0
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : Enabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : Yes Auto Created : Yes
Route Pinning : Disabled
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在Switch B上执行display mpls lsp命令,可以看到当前用来保护主CRLSP的Bypass隧道是Tunnel50。
[SwitchB] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
2.2.2.2/51/16802 RSVP -/3 Vlan4
2.2.2.2/1/16802 RSVP -/1151 Vlan2
Backup -/3 Tun50
2.2.2.2/50/16802 RSVP -/3 Vlan6
3.2.1.2 Local -/- Vlan6
3.3.1.2 Local -/- Vlan6
# 在Switch A上执行display rsvp lsp verbose命令,查看Tunnel ID为1的MPLS TE隧道的详细信息,可以看到主CRLSP Tunnel1被节点保护类型的自动隧道Tunnel50保护。
[SwitchA] display rsvp lsp tunnel-id 1 verbose
Tunnel name: Tunnel1
Destination: 4.4.4.4 Source: 1.1.1.1
Tunnel ID: 1 LSP ID: 16802
LSR type: Ingress Direction: Unidirectional
Setup priority: 7 Holding priority: 7
In-Label: - Out-Label: 1150
In-Interface: - Out-Interface: Vlan1
Nexthop: 2.1.1.2 Exclude-any: 0
Include-Any: 0 Include-all: 0
Average bitrate: 0 kbps Maximum burst: 1000.00 bytes
Path MTU: 1500 Class type: CT0
RRO number: 12
2.1.1.1/32 Flag: 0x00 (No FRR)
2.1.1.2/32 Flag: 0x00 (No FRR)
1150 Flag: 0x01 (Global label)
2.2.2.2/32 Flag: 0x20 (No FRR/Node-ID)
3.1.1.1/32 Flag: 0x09 (FRR Avail/Node-Prot)
3.1.1.2/32 Flag: 0x00 (No FRR)
1151 Flag: 0x01 (Global label)
3.3.3.3/32 Flag: 0x20 (No FRR/Node-ID)
4.1.1.1/32 Flag: 0x00 (No FRR)
4.1.1.2/32 Flag: 0x00 (No FRR)
3 Flag: 0x01 (Global label)
4.4.4.4/32 Flag: 0x20 (No FRR/Node-ID)
Fast Reroute protection: Ready
FRR inner label: 3 Bypass tunnel: Tunnel50
· 设备Switch A、Switch B、Switch C和Switch D运行IS-IS,且都是Level-2设备;
· 使用RSVP-TE建立一条从Switch A到Switch D的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量,该隧道的流量属于CT 2,所需带宽为4000kbps;
· 隧道沿途的链路最大带宽为10000kbps,链路最大可预留带宽为10000kbps,BC 1的最大可预留带宽为8000kbps,BC 2的最大可预留带宽为5000kbps,BC 3的最大可预留带宽为2000kbps。
图1-14 IETF DS-TE配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
|
Vlan-int10 |
100.1.1.1/24 |
|
Vlan-int10 |
100.1.2.1/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-14配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0005.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] isis enable 1
[SwitchA-Vlan-interface1] isis circuit-level level-2
[SwitchA-Vlan-interface1] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] isis enable 1
[SwitchA-LoopBack0] isis circuit-level level-2
[SwitchA-LoopBack0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0005.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] isis enable 1
[SwitchB-Vlan-interface1] isis circuit-level level-2
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] isis enable 1
[SwitchB-Vlan-interface2] isis circuit-level level-2
[SwitchB-Vlan-interface2] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] isis enable 1
[SwitchB-LoopBack0] isis circuit-level level-2
[SwitchB-LoopBack0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0005.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] isis enable 1
[SwitchC-Vlan-interface3] isis circuit-level level-2
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] isis enable 1
[SwitchC-Vlan-interface2] isis circuit-level level-2
[SwitchC-Vlan-interface2] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] isis enable 1
[SwitchC-LoopBack0] isis circuit-level level-2
[SwitchC-LoopBack0] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 00.0005.0000.0000.0004.00
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] isis enable 1
[SwitchD-Vlan-interface3] isis circuit-level level-2
[SwitchD-Vlan-interface3] quit
[SwitchD] interface loopback 0
[SwitchD-LoopBack0] isis enable 1
[SwitchD-LoopBack0] isis circuit-level level-2
[SwitchD-LoopBack0] quit
# 配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由,包括Loopback接口对应的主机路由。以Switch A为例:
[SwitchA] display ip routing-table
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 IS_L1 15 10 10.1.1.2 Vlan1
3.3.3.9/32 IS_L1 15 20 10.1.1.2 Vlan1
4.4.4.9/32 IS_L1 15 30 10.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 IS_L1 15 20 10.1.1.2 Vlan1
30.1.1.0/24 IS_L1 15 30 10.1.1.2 Vlan1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 配置LSR ID,开启MPLS、MPLS TE和RSVP-TE能力,并将DS-TE模式配置为IETF模式
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls te
[SwitchA-te] ds-te mode ietf
[SwitchA-te] quit
[SwitchA] rsvp
[SwitchA-rsvp] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls enable
[SwitchA-Vlan-interface1] mpls te enable
[SwitchA-Vlan-interface1] rsvp enable
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls te
[SwitchB-te] ds-te mode ietf
[SwitchB-te] quit
[SwitchB] rsvp
[SwitchB-rsvp] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls enable
[SwitchB-Vlan-interface1] mpls te enable
[SwitchB-Vlan-interface1] rsvp enable
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls te enable
[SwitchB-Vlan-interface2] rsvp enable
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls te
[SwitchC-te] ds-te mode ietf
[SwitchC-te] quit
[SwitchC] rsvp
[SwitchC-rsvp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls te enable
[SwitchC-Vlan-interface3] rsvp enable
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls enable
[SwitchC-Vlan-interface2] mpls te enable
[SwitchC-Vlan-interface2] rsvp enable
[SwitchC-Vlan-interface2] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls te
[SwitchD-te] ds-te mode ietf
[SwitchD-te] quit
[SwitchD] rsvp
[SwitchD-rsvp] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls enable
[SwitchD-Vlan-interface3] mpls te enable
[SwitchD-Vlan-interface3] rsvp enable
[SwitchD-Vlan-interface3] quit
(4) 配置IS-IS TE
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] mpls te enable level-2
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] mpls te enable level-2
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] mpls te enable level-2
[SwitchC-isis-1] quit
# 配置SwitchD。
[SwitchD] isis 1
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] mpls te enable level-2
[SwitchD-isis-1] quit
(5) 配置链路的MPLS TE属性
# 在Switch A上配置链路的最大带宽和最大可预留带宽。
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchA-Vlan-interface1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[SwitchA-Vlan-interface1] quit
# 在Switch B上配置链路的最大带宽和最大可预留带宽。
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchB-Vlan-interface2] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[SwitchB-Vlan-interface2] quit
# 在Switch C上配置链路的最大带宽和最大可预留带宽。
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface3] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls te max-link-bandwidth 10000
[SwitchC-Vlan-interface2] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[SwitchC-Vlan-interface2] quit
# 在Switch D上配置链路的最大带宽和最大可预留带宽。
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls te max-link-bandwidth 10000
[SwitchD-Vlan-interface3] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[SwitchD-Vlan-interface3] quit
(6) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道Tunnel1:目的地址为Switch D的LSR ID(4.4.4.9);采用RSVP-TE信令协议建立MPLS TE隧道;隧道的流量属于CT 2,所需带宽为4000kbps;隧道的建立和保持优先级均为0。
[SwitchA] interface Tunnel 1 mode mpls-te
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te signaling rsvp-te
[SwitchA-Tunnel1] mpls te bandwidth ct2 4000
[SwitchA-Tunnel1] mpls te priority 0
[SwitchA-Tunnel1] quit
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Switch A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[SwitchA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 配置完成后,在Switch A上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchA] display interface tunnel
Tunnel4
Current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet address: 7.1.1.1/24 (primary)
Tunnel source unknown, destination 4.4.4.9
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drop
Output: 0 packets, 0 bytes, 0 drop
# 在Switch A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up, Shared-resource CRLSP down)
Tunnel Attributes :
LSP ID : 36882 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 4.4.4.9
Signaling : RSVP-TE Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT2 Tunnel Bandwidth : 4000 kbps
Reserved Bandwidth : 4000 kbps
Setup Priority : 0 Holding Priority : 0
Affinity Attr/Mask : 0/0
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 10 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在Switch A上执行display mpls te link-management bandwidth-allocation命令查看接口带宽信息。
[SwitchA] display mpls te link-management bandwidth-allocation interface vlan-interface 1
Interface: Vlan-interface1
Max Link Bandwidth : 10000 kbps
Max Reservable Bandwidth of Prestandard RDM : 0 kbps
Max Reservable Bandwidth of IETF RDM : 10000 kbps
Max Reservable Bandwidth of IETF MAM : 0 kbps
Allocated Bandwidth-Item Count : 1
Allocated Bandwidth : 0 kbps
Physical Link Status : Up
BC Prestandard RDM(kbps) IETF RDM(kbps) IETF MAM(kbps)
0 0 10000 0
1 0 8000 0
2 - 5000 0
3 - 2000 0
TE Class Class Type Priority BW Reserved(kbps) BW Available(kbps)
0 0 0 0 0
1 0 1 0 0
2 0 2 0 0
3 0 3 0 0
4 0 4 0 0
5 0 5 0 0
6 0 6 0 0
7 0 7 0 0
# 在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
配置OSPF TE,无法产生描述MPLS TE信息的TE LSA。
至少有一个OSPF邻居达到FULL状态时,才可能产生TE LSA。
· 执行display current-configuration命令,检查是否在相关接口上配置了MPLS TE;
· 执行debugging ospf mpls-te命令打开OSPF TE的调试开关,检查OSPF是否收到建立TE LINK的消息;
· 执行display ospf peer命令,检查OSPF邻居是否正常建立。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!