03-MPLS TE配置
本章节下载: 03-MPLS TE配置 (802.62 KB)
目 录
1.13.4 配置MPLS TE隧道的周期性LSP Tracert功能
1.16.1 使用静态CR-LSP配置MPLS TE隧道示例
1.16.7 配置MPLS L3VPN中的MPLS TE示例
目前,如果需要支持MPLS TE功能,需要配备SD系列业务板,并使用这几种业务板上的端口连接用户网络和运营商网络。
(1) 流量工程的作用
网络拥塞是影响骨干网络性能的主要问题。拥塞的原因可能是网络资源不足,也可能网络资源负载不均衡导致的局部拥塞。TE(Traffic Engineering,流量工程)解决的是由于负载不均衡导致的拥塞。
流量工程通过实时监控网络的流量和网络单元的负载,动态调整流量管理参数、路由参数和资源约束参数等,使网络运行状态迁移到理想状态,优化网络资源的使用,避免负载不均衡导致的拥塞。
总的来说,流量工程的性能指标包括两个方面:
l 面向业务的性能指标:增强业务的QoS(Quality of Service,服务质量)性能,例如对分组丢失、时延、吞吐量以及SLA(Service Level Agreement,服务等级协定)的影响。
l 面向资源的性能指标:优化资源利用。带宽是一种重要的资源,对带宽资源进行高效管理是流量工程的一项中心任务。
(2) 流量工程的解决方案
现有的IGP协议都是拓扑驱动的,只考虑网络的连接情况,不能灵活反映带宽和流量特性这类动态状况。
解决IGP上述缺点的方法之一是使用重叠模型(Overlay),如IP over ATM、IP over FR等。重叠模型在网络的物理拓扑结构之上提供了一个虚拟拓扑结构,从而扩展了网络设计的空间,为支持流量与资源控制提供了许多重要功能,可以实现多种流量工程策略。然而,由于协议之间往往存在很大差异,重叠模型在可扩展性方面存在不足。
为了在大型骨干网络中部署流量工程,必须采用一种可扩展性好、简单的解决方案。MPLS TE就是为这一需求而提出的。
MPLS本身具有一些不同于IGP的特性,其中就有实现流量工程所需要的,例如:
l MPLS支持显式LSP路由;
l LSP较传统单个IP分组转发更便于管理和维护;
l 基于MPLS的流量工程的资源消耗较其它实现方式更低。
MPLS TE结合了MPLS技术与流量工程,通过建立到达指定路径的LSP隧道进行资源预留,使网络流量绕开拥塞节点,达到平衡网络流量的目的。
在资源紧张的情况下,MPLS TE能够抢占低优先级LSP隧道带宽资源,满足大带宽LSP或重要用户的需求。
同时,当LSP隧道故障或网络的某一节点发生拥塞时,MPLS TE可以通过备份路径和FRR(Fast Reroute,快速重路由)提供保护。
使用MPLS TE,网络管理员只需要建立一些LSP和旁路拥塞节点,就可以消除网络拥塞。随着LSP数量的增长,还可以使用专门的离线工具进行业务量分析。
对于一条LSP,一旦在Ingress节点给报文打上标签,流量的转发就完全由标签决定了。流量对LSP的中间节点是透明的,从这个意义上来说,一条LSP可以看作是一条LSP隧道。
在部署重路由(Reroute)或需要将流量通过多条路径传输时,可能需要用到多条LSP隧道。在TE中,这样的一组LSP隧道称为TE隧道(Traffic Engineered Tunnel)。
MPLS TE主要实现两类功能:
l 静态CR-LSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)的处理:创建和删除静态CR-LSP。静态CR-LSP的带宽需要手工指定。
l 动态CR-LSP处理:包括对三种不同类型CR-LSP的处理:基本CR-LSP、备份CR-LSP和快速重路由CR-LSP。
静态CR-LSP的处理比较简单。对于动态CR-LSP,MPLS TE在实现上主要包括四个部分。
MPLS TE需要了解每条链路的动态TE相关属性,这可以通过对现有的使用链路状态算法的IGP协议进行扩展来实现,比如OSPF协议和IS-IS协议的扩展。
扩展后的OSPF和IS-IS协议在链路连接状态中增加了链路带宽、着色等TE相关属性。
每台设备收集本区域或本级别所有设备每条链路的TE相关信息,生成TEDB(TE DataBase,流量工程数据库)。
使用链路状态算法的路由协议通过SPF(Shortest Path First,最短路径优先)算法计算出到达网络各个节点的最短路径。
MPLS TE使用CSPF(Constraint-based Shortest Path First,基于约束的最短路径优先)算法计算出到达某个节点的满足TE属性要求的最短路径。
CSPF算法是从SPF算法衍生来的,CSPF有两个输入条件:
l 需要建立的LSP的带宽、着色、建立/保持优先级、显式路径等约束条件,这些都在LSP的入口处配置;
l 流量工程数据库TEDB。
CSPF的计算过程就是针对LSP要求,先对TEDB中的链路进行剪切,把不满足TE属性要求的链路剪掉;再采用SPF算法,寻找一条到LSP egress节点的满足TE属性要求的最短路径。
支持建立LSP隧道的信令包括CR-LDP和RSVP-TE。它们都能够携带LSP的带宽、部分显式路由、着色等约束参数,两者完成的功能是一样的。
从内部实现来看,CR-LDP通过TCP建立LSP,RSVP-TE则通过Raw IP建立LSP连接。
RSVP技术经历了多年的发展,其体系结构、协议规程与对各种业务的支持机制相对比较成熟;CR-LDP则是新技术,在可扩展性方面优势明显。
目前设备仅支持使用RSVP-TE信令协议。
使用建立的隧道转发报文。
基于一定约束条件建立的LSP称为CR-LSP,与普通LSP不同,CR-LSP的建立不仅依赖路由信息,还需要满足其他一些条件,比如指定的带宽、选定的路径或QoS参数。
建立和管理约束条件的机制称为CR(Constraint-based Routing,基于约束的路由)。
下面对CR的主要内容进行简单介绍。
l 如果约束信息是对沿途LSR的精确指定,建立的LSP称为严格的显式路由(Strict Explicit Route);
l 如果约束信息是对选择下游LSR时的模糊限制,建立的LSP称为松散的显式路由(Loose Explicit Route)。
路径的流量参数有三个:峰值速率(peak rate)和承诺速率(committed rate),描述路径本身对带宽的约束;另外一个是服务粒度(service granularity)。
如果在建立CR-LSP的过程中,无法找到满足所需带宽要求的路径,一种解决方法是拆除另外一条已经建立的路径,占用为它分配的带宽资源,这种处理方式称为抢占(Preemption)。
CR-LSP使用两个优先级属性来决定是否可以进行抢占:建立优先级(Setup Priority)和保持优先级(Holding Priority)。建立优先级和保持优先级的取值范围都是0~7,数值越小则优先级越高。
抢占由RSVP-TE的Resv消息发起。当新建一条路径Path1时,如果需要与已建立的路径Path2争夺资源,只有当Path1的建立优先级高于Path2的保持优先级时,Path1才能抢占成功。
因此,为保证CR-LSP能够正确建立,建立优先级不能高于保持优先级,否则可能会导致LSP间无穷尽的互相抢占,造成振荡。
CR-LSP创建成功后,不随路由变化而变化的特性叫做路由固定。
当某个网络未运行IGP TE时,网络管理员不能确定网络上的哪些地方可以获得带宽,这时需要选择具有所需带宽的松散ER-hop(Explicit Route)来创建CR-LSP,但这些CR-LSP将会随路由变化而变化。当路由变化时,比如出现了一个更好的下一跳,已建立的CR-LSP也将会随之改变。
如果不希望使用松散路由建立的CR-LSP随路由变化而改变,网络管理员可以在CR-LSP创建成功时把这些CR-LSP配置成永久性的,不随路由变化而变化。
MPLS TE隧道的亲和属性决定隧道使用的链路属性,亲和属性与链路管理组配合,确定隧道可以使用哪些链路。
流量工程是系统规划网络资源使用的过程。根据用户需求可以配置流量工程,提供要求的QoS。
服务提供商通常利用一定的机制去优化CR-LSP,以优化网络资源使用。一种方法是人工配置,但是需要服务提供商进行测量和对CR-LSP微调。使用MPLS TE则能够动态优化CR-LSP,从而节省人力。
动态优化CR-LSP即定期重计算CR-LSP穿越的路由。如果重计算的路由优于当前路由,则创建一条新的CR-LSP,为之分配新路由,并将业务从旧的CR-LSP切换至新的CR-LSP,删除旧CR-LSP。
现在使用两种QoS体系:IntServ(Integrated Service,综合业务模型)和DiffServ(Differentiated Service,区分业务模型)。
RSVP(Resource Reservation Protocol,资源预留协议)是为IntServ(Integrated Service,综合业务模型)而设计的,用于在一条路径的各节点上进行资源预留。RSVP工作在传输层,但不参与应用数据的传送,是一种Internet上的控制协议,类似于ICMP。
简单来说,RSVP具有以下几个主要特点:
l 单向;
l 面向接收者,由接收者发起对资源预留的请求,并维护资源预留信息;
l 使用“软状态”(soft state)机制维护资源预留信息。
RSVP经扩展后可以支持MPLS标签的分发,并在传送标签绑定消息的同时携带资源预留信息,这种扩展后的RSVP称为RSVP-TE,作为一种信令协议用于在MPLS TE中建立LSP隧道。
(1) 软状态
“软状态”是指在RSVP-TE中,通过消息的定时刷新来维持节点上的资源预留状态。
资源预留状态包括由Path消息创建的路径状态(path state)和由Resv消息创建的预留状态(reservation state)。这两种状态分别由Path消息和Resv消息定时刷新。对于某个状态,如果连续没有收到刷新消息,这个状态将被删除。
(2) 资源预留类型
使用RSVP-TE建立的LSP都具有某种资源预留类型(reservation style),在建立RSVP会话时,由接收者决定此会话使用哪种预留类型,从而决定可以使用哪些LSP。
目前设备支持以下两种预留类型:
l FF(Fixed-Filter style):固定过滤器类型。为每个发送者单独预留资源,不能与同一会话中其他发送者共享资源。
l SE(Shared-Explicit style):共享显式类型。为同一个会话的发送者建立一个预留,可以共享资源。
由于目前同一会话不能同时存在多条LSP,SE资源预留方式主要用于中断前建立(make-before-break)。
make-before-break是指一种可以在尽可能不丢失数据,也不占用额外带宽的前提下改变MPLS TE隧道属性的机制。
在图1-1中,假设需要建立一条Router A到Router D的路径,保留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也存在带宽不够的问题。
采用make-before-break机制,新建立的路径在Router C→Router D可以共享原路径的带宽,新路径建立成功后,流量转到新路径上,之后拆除原路径,从而有效地避免了流量中断。
RSVP-TE使用RSVP的消息类型,并进行了扩展。RSVP使用以下消息类型:
l Path消息:由发送者沿数据报文传输的方向向下游发送,在沿途所有节点上保存路径状态(path state)。
l Resv消息:由接收者沿数据报文传输的方向逆向发送,在沿途所有节点上进行资源预留,并创建和维护预留状态(reservation state)。
l PathTear消息:此消息产生后马上向下游发送,并立即删除沿途节点的路径状态和相关的预留状态。
l ResvTear消息:此消息产生后马上向上游发送,并立即删除沿途节点的预留状态。
l PathErr消息:如果在处理Path消息的过程中发生了错误,就会向上游发送PathErr消息,PathErr消息不影响沿途节点的状态,只是把错误报告给发送者。
l ResvErr消息:如果在处理Resv消息的过程中发生了错误,或者由于抢占导致预留被破坏,就会向下游节点发送ResvErr消息。
l ResvConf消息:该消息发往接收者,用于对预留消息进行确认。
l Hello消息:在两个直连的RSVP邻居之间建立和维持链路局部的邻居关系。
RSVP的TE扩展主要是在其Path消息和Resv消息中增加新的对象,新增对象除了可以携带标签绑定信息外,还可以携带对LSR在沿途寻找路径时的限制信息,从而支持CR-LSP的功能,并支持FRR。
l Path消息新增的对象包括:LABEL_REQUEST、EXPLICIT_ROUTE、RECORD_ROUTE和SESSION_ATTRIBUTE。
l Resv消息新增的对象包括:LABEL和RECORD_ROUTE。
LABEL_REQUEST对象包含在Path消息中,为LSP请求标签绑定,该对象也保存在路径状态块PSB(Path State Block)中。接收到该对象的节点将分配的标签通过Resv消息中的LABEL对象通知上游节点,从而完成标签的发布和传递。
图1-2是使用RSVP建立LSP隧道的示意图。
使用RSVP建立LSP隧道的过程可以简单描述为:
(1) Ingress LSR产生携带标签请求信息的Path消息,沿着通过CSPF计算出的路径逐跳发送给Egress LSR;
(2) Egress LSR收到Path消息后,产生携带预留信息和标签的Resv消息,沿着Path消息发送的相反路径逐跳返回Ingress LSR,同时,Resv消息在沿途的LSR上进行资源预留;
(3) 当Ingress LSR收到Resv消息时,LSP建立成功。
采用RSVP-TE建立的LSP具有资源预留功能,沿途的LSR可以为该LSP分配一定的资源,使在此LSP上传送的业务得到保证。
RSVP通过Refresh消息来维护路径和预留状态,Refresh消息不仅用于在RSVP邻居节点进行状态同步,也用于恢复丢失的RSVP消息。
Refresh消息并不是一种新的消息,它是以前发布过的消息的再次传送,Refresh消息中携带的主要信息和传送时使用的路径都与它要刷新的消息完全一致。只有Path消息和Resv消息才可能是Refresh消息。
由于Refresh消息是定时发送的,当网络中的RSVP会话比较多时,Refresh消息会加重网络负载;而对于时延敏感的应用,当消息丢失时,等待通过Refresh消息恢复的时间可能无法接受。简单地调整刷新间隔并不能同时解决这两类问题。
RFC 2961(RSVP Refresh Overhead Reduction Extensions)定义了几种新的扩展机制,用于解决Refresh消息带来的上述问题。
(1) Message_ID扩展
RSVP本身使用Raw IP发送消息,RFC 2961中定义的Message_ID扩展机制增加了可以在RSVP消息中携带的对象,其中,Message_ID和Message_ID_ACK对象用于RSVP消息确认,从而提高RSVP消息发送的可靠性。
在接口使能Message_ID机制后,可以配置重传功能,设定RSVP消息的重传参数。重传功能是指:节点发送了携带Message_ID对象的消息,且Message_ID对象的ACK_Desired标识(是否需要应答标识)置位后,如果在重传时间Rf内没有收到携带对应Message_ID_ACK对象的消息,则重传时间Rf超时后重传此消息,并将重传时间置为(1+Delta)×Rf。节点持续按照上述方法重传此消息,直到节点在重传时间超时前接收到对应的应答消息,或消息传送次数达到允许的最大值。
(2) 摘要刷新扩展
摘要刷新Srefresh(Summary Refresh)可以不传送标准的Path或Resv消息,而仍能实现对RSVP的状态刷新,从而可以减少网络上的Refresh消息流量,并加快节点对这类消息的处理速度。
摘要刷新扩展需要与Message_ID扩展配合使用。只有那些已经被包含Message_ID对象的Path和Resv消息发布过的状态才能使用摘要刷新扩展机制刷新。
为建立LSP,发送者在Path消息中携带LABEL_REQUEST对象,接收者收到带有LABEL_REQUEST对象的Path消息后,就会分配一个标签,并将标签放在Resv消息的LABEL对象中。
LABEL_REQUEST对象保存在上游节点的PSB(Path State Block,路径状态块)中,LABEL对象则保存在下游节点的RSB(Reservation State Block,预留状态块)中。当连续未收到刷新消息的次数超过PSB或RSB的超时倍数(当达到此数值时即为超时)时,PSB或RSB中相应的状态将被删除。
假设有一个资源预留请求,在某些节点上没有通过准入控制,有时可能不希望立即删除这个请求的状态,但这个请求也不应该阻止其他请求使用它预留的资源。这种情况下,节点将进入阻塞状态(Blockade State),在下游节点生成BSB(Blockade State Block,阻塞状态块)。当连续未收到刷新消息的次数超过阻塞状态超时倍数时,BSB中相应的状态被删除。
RSVP-TE GR(Graceful Restart,平滑重启)功能是指在信令协议或控制平面出现异常时,保留软状态信息和转发表项信息,以保证数据转发不中断。
参与RSVP-TE GR过程的设备分为以下两种:
l GR Restarter:GR重启路由器,指由管理员手工或设备故障触发而重启协议的设备,它必须具备GR能力。
l GR Helper:GR Restarter的邻居,与重启的GR Restarter保持邻居关系,并协助其恢复重启前的转发状态,它也必须具备GR能力。
RSVP-TE GR依赖于RSVP-TE的Hello扩展能力,通过扩展的RSVP Hello报文向邻居通告自己的GR能力和相关时间参数。设备和邻居如果都具备RSVP GR能力,那么在完成GR参数的交互后,就可以在检测到对方发生GR重启时,充当对方的GR Helper,保证在GR Restarter重启的过程中,数据转发不会中断。
当GR Restarter发生重启时,GR Helper连续丢失的Hello报文次数超过了配置的值,由此判定GR Restarter发生了重启。此时GR Helper会保留与该邻居相关的软状态信息,并保持向对方周期性发送Hello报文,直到重启定时器(Restart Timer)超时。
在重启定时器超时前,如果GR Helper邻居和GR Restarter重新建立了Hello会话协商,那么启动恢复定时器,并触发信令报文交互以恢复原有的软状态;否则,将删除与该邻居相关的所有RSVP软状态信息和转发表项。如果恢复定时器超时,则删除那些在GR恢复过程中没有恢复的软状态和表项信息。
本系列产品在使能RSVP-TE GR能力之后,可以同时充当GR Restarter和GR Helper;
当MPLS TE隧道建立之后,如果不配置流量沿隧道转发,缺省的情况下依然会沿IP路由转发。
配置流量沿隧道转发有如下三种方法:
使用静态路由转发流量,是最简便的方法,因为Tunnel的接口地址通常情况下不会发布到IGP中。这时候通过定义一条通过Tunnel接口到达目的网络地址的静态路由,就把流量引入到MPLS TE隧道上进行转发。
有关静态路由的介绍请参见“三层技术-IP路由配置指导”中的“静态路由”。
使用基于策略的路由(Policy-based routing,PBR),通过Tunnel接口的流量需要通过ACL定义策略,如果匹配该流量,将下一跳的接口指向Tunnel,在流量的入接口应用策略路由,就把流量引入到MPLS TE隧道上进行转发。
有关策略路由的介绍请参见“三层技术-IP路由配置指导”中的“IP单播策略路由”。
自动路由发布会将Tunnel的接口发布到IGP路由中,这样流量都会通过MPLS TE隧道转发。
自动路由发布包括两种:IGP Shortcut与转发邻接。
OSPF和IS-IS支持IGP Shortcut和转发邻接特性,可以使用TE Tunnel作为出接口。在这种应用中,TE Tunnel被看做点到点链路。
IGP Shortcut特性也称为自动路由宣告(AutoRoute Announce),该特性将TE Tunnel看作直接与目的地址相连的逻辑接口,计算该TE Tunnel隧道入口设备的IGP路由。
IGP Shortcut和转发邻接的区别在于:
l 在IGP Shortcut应用中,使能此特性的设备使用TE Tunnel作为出接口,但它不将这条路由发布给邻居设备,因此,其他设备不能使用此TE Tunnel。
l 如果配置了转发邻接,则使能此特性的设备在使用TE Tunnel作为出接口的同时,也将这条TE Tunnel发布给邻居设备,因此,其他设备能够使用此TE Tunnel。
图1-3 IGP Shortcut与转发邻接示意图
在图1-3中,Router D到Router C之间有一条TE Tunnel,IGP Shortcut只能使入节点Router D在计算IGP路由时利用这条隧道,Router A并不能利用这条隧道到达Router C。如果配置了转发邻接特性,则Router A也能够知道这条TE Tunnel的存在,从而可以利用该隧道将到Router C的流量转发到Router D上。
IGP Shortcut和转发邻接包括Tunnel上的配置和IGP本身的配置两部分。
Tunnel接口上的配置需要注意:
l Tunnel接口的目的地址应该属于使能相应特性的区域内;
l Tunnel接口的目的地址可通过区域内路由到达。
CR-LSP备份是一种端到端的路径保护(Path Protection,end-to-end protection),对整条LSP提供保护,而FRR则是一种局部保护措施,只能保护LSP中的某条链路和某个节点。并且,FRR是一种快速响应的临时性保护措施,对于切换时间有严格要求,LSP备份则没有时间要求。
同一条隧道下对主LSP进行路径备份的LSP称为备份路径。当Ingress感知到主LSP不可用时,将流量切换到备份路径上,当主LSP路径恢复后再将流量切换回来,以实现对主LSP路径的备份保护。
有两种备份方法:
l 热备份:创建主CR-LSP后随即创建备份CR-LSP。主CR-LSP失效时,通过MPLS TE直接将业务切换至备份CR-LSP。
l 普通备份:指主CR-LSP失效后创建备份CR-LSP。
快速重路由FRR(Fast Reroute),是MPLS TE中实现网络局部保护的技术。FRR的切换速度可以达到50ms,能够最大程度减少网络故障时数据的丢失。
对LSP配置FRR功能后,当LSP上的某条链路或某个节点失效时,流量会被切换到保护链路上,同时LSP头节点尝试建立新的LSP。
下面介绍FRR中的几个概念:
l 主LSP:被保护的LSP。
l Bypass LSP:旁路LSP,保护主LSP的LSP。
l PLR(Point of Local Repair):本地修复节点。Bypass LSP的头节点,必须在主LSP的路径上,并且不能是主LSP的尾节点。
l MP(Merge Point):汇聚点。Bypass LSP的尾节点,必须在主LSP的路径上,并且不能是主LSP的头节点。
根据保护的对象不同,FRR分为两类:
l 链路保护:PLR和MP之间有直接链路连接,主LSP经过这条链路。当这条链路失效时,流量可以切换到Bypass LSP上。如图1-4所示,主LSP是Router A→Router B→Router C→Router D,Bypass LSP是Router B→Router F→Router C。
图1-4 FRR链路保护示意图
l 节点保护:PLR和MP之间通过一台设备连接,主LSP经过这台设备。当这台设备失效时,流量可以切换到Bypass LSP上。如图1-5所示,主LSP是Router A→Router B→Router C→Router D→Router E,Bypass LSP是Router B→Router F→Router D,Router C是被保护的设备。
图1-5 FRR节点保护示意图
在配置Bypass LSP时,应该规划好它所保护的链路或节点,并确保该Bypass LSP不会经过它所保护的链路或节点,否则不能真正起到保护作用。
另外,由于Bypass隧道需要预先建立,快速重路由会占用额外的带宽。在网络带宽余量不多的情况下,只能对关键的接口或链路进行快速重路由保护。
PS(Protection Switching,保护倒换)是为主Tunnel建立相应的保护Tunnel(备用Tunnel)。主Tunnel和保护Tunnel构成一个保护组。在主Tunnel发生缺陷时,数据流能迅速的倒换到保护Tunnel,从而大大提高网络的可靠性。当主Tunnel恢复无缺陷时,还可以将数据流从保护Tunnel回切到主Tunnel。
设备目前实现的保护倒换为1:1保护倒换。在Tunnel的入节点和出节点之间提供主备两条Tunnel。正常情况下,数据在主Tunnel上传输;当入节点通过检测机制发现主Tunnel发生缺陷,需要进行保护倒换时,将数据切换到保护Tunnel上继续传输。
保护倒换分为外部倒换和信令倒换。
(1) 外部倒换是指通过手工配置的命令触发的保护倒换。外部倒换的方式有以下几种:
l 清除倒换(Clear):清除所有的外部倒换方式。
l 锁定倒换(Lockout of Protection):数据流锁定在主LSP上传输。
l 强制倒换(Forced Switch):强制数据流在备份LSP上传输。
l 手工倒换(Manual Switch):手动将数据流从主/备LSP倒换到备/主LSP上传输。
(2) 信令倒换(Signal Fail)是指通过协议信令触发的保护倒换。如可通过BFD检测MPLS-TE隧道功能触发保护倒换,当BFD检测功能检测到隧道失效时,即触发启用信令倒换。
外部倒换方式及信令倒换方式优先级从高到低依次为:
l 清除倒换
l 锁定倒换
l 强制倒换
l 信令倒换
l 手工倒换
在实际操作中,只有在手工输入的外部倒换方式比当前启用的倒换方式优先级高的情况下,外部倒换才会生效。设备上已经配置了外部倒换方式时,若要将其修改为低优先级的外部倒换方式,则需要先配置清除倒换(Clear)方式,再配置低优先级的外部倒换方式。
与MPLS TE相关的协议规范有:
l RFC 2702:Requirements for Traffic Engineering Over MPLS
l RFC 3212:Constraint-Based LSP Setup using LDP
l RFC 2205:Resource ReSerVation Protocol
l RFC 3209:RSVP-TE: Extensions to RSVP for LSP Tunnels
l RFC 2961:RSVP Refresh Overhead Reduction Extensions
l RFC 3564:Requirements for Support of Differentiated Service-aware MPLS Traffic Engineering
l ITU-T Recommendation Y.1720:Protection switching for MPLS networks
表1-1 MPLS TE配置任务简介
配置任务 |
说明 |
详细配置 |
||
配置MPLS TE基本能力 |
必选 |
|||
配置MPLS TE隧道 |
使用静态CR-LSP配置MPLS TE隧道 |
二者必选其一 |
||
使用动态信令协议配置MPLS TE隧道 |
||||
配置RSVP-TE高级特性 |
可选 |
|||
调整CR-LSP的建立 |
可选 |
|||
调整MPLS TE隧道的建立 |
可选 |
|||
配置流量转发 |
使用静态路由沿MPLS TE隧道转发流量 |
三者必选其一 |
||
使用策略路由沿MPLS TE隧道转发流量 |
||||
使用自动路由发布沿MPLS TE隧道转发流量 |
||||
配置影响流量转发的参数 |
可选 |
|||
配置CR-LSP备份 |
可选 |
|||
配置MPLS TE快速重路由 |
可选 |
|||
检测MPLS TE隧道 |
可选 |
|||
配置保护倒换功能 |
可选 |
|||
MPLS TE基本能力的配置任务包括各种MPLS TE特性配置中都涉及的基本配置,仅完成本节的配置并不能使用MPLS TE特性,还需要根据更具体的要求进行进一步的配置。
在配置MPLS TE的基本能力之前,需要完成以下任务:
l 配置静态路由或IGP协议保证各LSR之间可达
l 配置MPLS基本能力
有关MPLS基本能力的配置请参见“MPLS配置指导”中的“MPLS基本配置”。
表1-2 配置MPLS TE基本能力
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
使能本节点的MPLS TE能力 |
mpls te |
必选 缺省情况下,未使能本节点的MPLS TE能力 |
退回到系统视图 |
quit |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能接口的MPLS TE能力 |
mpls te |
必选 缺省情况下,未使能接口的MPLS TE能力 |
退回系统视图 |
quit |
- |
创建Tunnel接口,并进入Tunnel接口视图 |
interface tunnel tunnel-number |
必选 |
配置隧道接口的IP地址 |
ip address ip-address netmask |
可选 |
配置隧道协议为MPLS TE |
tunnel-protocol mpls te |
必选 |
配置隧道的目的地址 |
destination ip-address |
必选 |
配置隧道的Tunnel ID |
mpls te tunnel-id tunnel-id |
必选 |
提交隧道当前配置 |
mpls te commit |
必选 |
有关Tunnel接口的介绍和配置请参见“三层技术-IP业务配置指导”中的“隧道”。
使用静态CR-LSP建立MPLS TE隧道的过程非常简单,不需要配置隧道的约束条件,也不涉及IGP TE扩展或CSPF。只需要建立一条静态CR-LSP和使用静态信令的TE隧道,并将二者关联起来即可。
静态CR-LSP建立的TE隧道不能根据网络的变化动态调整,因此实际应用非常有限。
静态CR-LSP作为一种特殊的静态LSP,其配置限制条件与静态LSP相同,使用相同的标签空间。
在使用静态CR-LSP建立MPLS TE隧道之前,需完成以下任务:
l 配置静态路由或IGP协议保证各LSR之间可达
l 配置MPLS基本能力
l 配置MPLS TE基本能力
表1-3 使用静态CR-LSP配置MPLS TE隧道
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
|
配置隧道使用静态CR-LSP |
mpls te signal-protocol static |
必选 |
|
提交隧道当前配置 |
mpls te commit |
必选 |
|
退回到系统视图 |
quit |
- |
|
配置指定静态CR-LSP的节点时根据本节点在网络中的位置 |
为Ingress节点配置静态CR-LSP |
static-cr-lsp ingress tunnel-name destination dest-addr nexthop next-hop-addr | outgoing-interface interface-type interface-number |
必选 三者选择其一 参数tunnel-name是使用此静态CR-LSP的MPLS TE隧道接口的名称。例如,使用命令interface tunnel 2创建了一个Tunnel接口,该接口的名称为Tunnel2 |
为Transit节点配置静态CR-LSP |
static-cr-lsp transit tunnel-name incoming-interface interface-type interface-number in-label in-label-value nexthop next-hop-addr out-label out-label-value |
||
为Egress节点配置静态CR-LSP |
static-cr-lsp egress tunnel-name incoming-interface interface-type interface-number in-label in-label-value |
l static-cr-lsp ingress命令的tunnel-name参数必须与隧道接口名称完全相同,包括大小写。例如,使用命令interface tunnel 2创建了一个Tunnel接口,则其静态CR-LSP入节点中的tunnel-name参数应该写作“Tunnel2”,而不能写作“tunnel2”、“TUNNEL2”等。否则,隧道将不能正确建立。中间节点和出节点无此限制。
l 配置Ingress和Transit时,下一跳地址不能为本地的公网地址。
动态信令协议可以根据网络的动态变化调整TE隧道的路径,并能够应用备份、快速重路由等高级特性。
使用动态信令协议建立MPLS TE隧道的过程可以简要描述为以下几个部分:
l 配置链路的MPLS TE属性,并通过IGP的TE扩展发布,形成TEDB;
l 配置隧道的约束条件;
l 使用CSPF算法,通过TEDB和隧道约束条件计算出符合要求的路径;
l 利用动态信令协议RSVP-TE建立路径。
如果不配置IGP的TE扩展,网络中就不会有TE LSA,不能形成TEDB。这种情况下生成的CR-LSP是由IGP路由得到的,而不是CSPF计算出来的。
在使用动态信令协议建立MPLS TE隧道之前,需完成以下任务:
l 配置静态路由或IGP协议保证各LSR之间可达
l 配置MPLS基本能力
l 配置MPLS TE基本能力
表1-4 使用动态信令协议配置MPLS TE隧道过程
配置任务 |
说明 |
详细配置 |
配置CSPF |
可选 |
|
配置OSPF TE |
配置CSPF后,二者必选其一 根据IGP协议的类型选择 |
|
配置IS-IS TE |
||
配置MPLS TE显式路径 |
可选 |
|
配置MPLS TE隧道的约束条件 |
可选 |
|
使用RSVP-TE建立MPLS TE隧道 |
可选 缺省情况下,使用RSVP-TE建立MPLS TE隧道 |
使能本节点的CSPF功能后,本节点将采用CSPF算法计算满足TE属性要求的最短路径。
表1-5 配置CSPF
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
使能本节点的CSPF功能 |
mpls te cspf |
必选 缺省情况下,未使能本节点的CSPF功能 |
当路由协议使用OSPF并使用动态信令协议配置MPLS TE隧道时,需要配置OSPF TE功能。
OSPF TE扩展使用Opaque Type 10 LSA携带链路的TE属性信息,因此,配置OSPF TE时必须先使能OSPF的Opaque能力。并且,只有当至少有一个邻居处于FULL状态时,才会产生TE LSA。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPF协议视图 |
ospf [ process-id ] |
- |
使能OSPF的Opaque LSA能力 |
opaque-capability enable |
必选 缺省情况下,未使能OSPF的Opaque LSA能力 |
进入OSPF的区域视图 |
area area-id |
必选 |
在当前OSPF区域下使能MPLS TE能力 |
mpls-te enable |
必选 缺省情况下,OSPF区域不支持MPLS TE能力 |
退回OSPF协议视图 |
quit |
- |
l 有关OSPF Opaque能力的介绍请参见“三层技术-IP路由配置指导”中的“OSPF”。
l 由于MPLS TE无法在OSPF虚连接上预留资源和分配标签,即MPLS TE无法通过OSPF虚连接建立LSP隧道,因此,配置OSPF TE时,OSPF路由域内不能存在虚连接。
当路由协议使用IS-IS并使用动态信令协议配置MPLS TE隧道时,需要配置IS-IS TE功能。当OSPF TE和IS-IS TE共存时,优选OSPF计算。
IS-IS TE扩展使用IS可达性TLV(类型为22)的子TLV携带TE属性信息。因此,配置IS-IS TE时必须先使能IS-IS的WideMetric特性,可以配置wide、compatible或wide-compatible。
l RFC 3784规定,在某些情况下IS可达性TLV(22)的长度将会达到其最大长度255个字节。
l 为了使IS-IS LSP能顺利携带此类TLV并且在使能IS-IS的所有接口上进行正确泛洪,要求使能IS-IS的所有接口的MTU不小于284字节(其中包含LSP头长度27字节以及TLV头长度2字节)。如果LSP同时需要携带认证信息,则最小MTU需要根据报文结构另行推算。
综合考虑以上因素,在使用TE特性的情况下使能IS-IS的所有接口的MTU不要小于512字节,以确保IS-IS LSP能在网络上正确泛洪。
表1-7 配置IS-IS TE
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS协议视图 |
isis [ process-id ] |
- |
配置IS-IS的Wide Metric属性 |
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] } |
必选 缺省情况下,IS-IS只收发采用Narrow方式表示路由权值的报文 |
使能IS-IS TE功能 |
traffic-eng [ level-1 | level-1-2 | level-2 ] |
必选 缺省情况下,未使能IS-IS TE功能 |
l 有关IS-IS的介绍请参见“三层技术-IP路由配置指导”中的“IS-IS”。
l IS-IS TE不支持发布从IP地址功能。在配置了多个IP地址的接口上使能IS-IS TE后,IS-IS TE在其LSP的IS可达性TLV(22)中只发布该接口的主IP地址。建议避免在配置了从IP地址的接口上配置IS-IS TE特性。
显式路径由一系列节点构成,一条显式路径上的两个相邻节点之间存在两种关系:
l 严格下一跳(strict):两个节点必须直接相连;
l 松散下一跳(loose):两个节点之间可以存在其他设备。
在向显式路径中增加或修改节点时,参数include表示建立的LSP必须经过指定节点;参数exclude表示建立的LSP不能经过指定节点。
表1-8 配置MPLS TE显式路径
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建隧道的显式路径,进入显式路径视图 |
explicit-path path-name [ disable | enable ] |
必选 |
向显式路径中插入一个节点 |
add hop ip-address1 [ include [ loose | strict ] | exclude ] { after | before } ip-address2 |
可选 缺省情况下,显式路径包含指定的节点(include),加入的节点是严格下一跳(strict) |
在显式路径中指定下一跳IP地址 |
next hop ip-address [ include [ loose | strict ] | exclude ] |
必选 缺省情况下,显式路径中指定的下一跳为严格(strict)下一跳 |
修改显式路径中的节点IP地址 |
modify hop ip-address1 ip-address2 [ [ include [ loose | strict ] ] | exclude ] |
可选 缺省情况下,显式路径包含指定的节点(include),修改的节点是严格下一跳(strict) |
在显式路径中删除一个节点 |
delete hop ip-address |
可选 |
显示显式路径节点信息 |
list hop [ ip-address ] |
可选 |
在不同的区域或自治系统之间建立MPLS TE隧道时必须使用松散显式路径,指定显式路径的下一跳为ABR(Area Border Router,区域边界路由器)或ASBR(Autonomous System Boundary Router,自治系统边界路由器),并保证隧道头节点与ABR之间或ASBR之间路由可达。
表1-9 配置MPLS TE隧道的约束条件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道应用的路径及路径的优先级 |
mpls te path { dynamic | explicit-path path-name } preference value |
可选 缺省情况下,隧道应用动态自动计算的路径 |
提交隧道当前配置 |
mpls te commit |
必选 |
表1-10 使用RSVP-TE建立MPLS TE隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
使能本节点的RSVP-TE能力 |
mpls rsvp-te |
必选 缺省情况下,未使能的本节点RSVP-TE能力 |
退回系统视图 |
quit |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能接口的RSVP-TE能力 |
mpls rsvp-te |
必选 缺省情况下,未使能接口的RSVP-TE能力 |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道使用RSVP-TE作为信令协议 |
mpls te signal-protocol rsvp-te |
可选 缺省情况下,隧道使用RSVP-TE |
提交隧道当前配置 |
mpls te commit |
必选 |
如果使用RSVP-TE作为MPLS TE隧道的信令协议,那么必须在隧道经过的路径上,使能接口的MPLS TE能力和RSVP-TE能力。
RSVP-TE主要是在Path消息和Resv消息中增加了新的对象,以支持建立CR-LSP。
RSVP-TE提供了丰富的配置选项,能够满足用户对于可靠性、网络资源、以及一些MPLS TE高级特性的应用。
在实施本节介绍的配置任务之前,需要仔细了解各配置任务的目的和可能对网络造成的影响。
在配置RSVP-TE高级特性之前,需完成以下任务:
l 配置MPLS基本能力
l 配置MPLS TE基本能力
l 使用RSVP-TE建立MPLS TE隧道
表1-11 配置RSVP资源预留风格
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道的资源预留风格 |
mpls te resv-style { ff | se } |
可选 缺省情况下,资源预留风格为se |
提交隧道当前配置 |
mpls te commit |
必选 |
在目前的MPLS TE应用中,se方式主要用于中断前建立(make-before-break),而ff方式则很少使用。
表1-12 配置RSVP的状态定时器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置节点的路径/预留消息的刷新时间 |
mpls rsvp-te timer refresh timevalue |
可选 缺省情况下,节点的路径/预留消息刷新周期为30秒 |
配置PSB和RSB的超时倍数 |
mpls rsvp-te keep-multiplier number |
可选 缺省情况下,PSB和RSB的超时倍数为3 |
配置阻塞状态的超时倍数 |
mpls rsvp-te blockade-multiplier number |
可选 缺省情况下,阻塞状态的超时倍数为4 |
Message_ID扩展机制(可靠性机制)用于RSVP消息确认,提高RSVP消息发送的可靠性。
在接口上使能可靠性功能后,可以使能重传功能。
摘要刷新Srefresh(Summary Refresh)需要与Message_ID扩展配合使用。只有那些已经被包含Message_ID对象的Path和Resv消息发布过的状态才能使用摘要刷新扩展机制刷新。
表1-13 配置RSVP刷新机制
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能RSVP可靠性功能 |
mpls rsvp-te reliability |
可选 缺省情况下,禁止RSVP可靠性功能 |
使能重传功能 |
mpls rsvp-te timer retransmission { increment-value [ increment-value ] | retransmit-value [ retrans-timer-value ] } * |
可选 缺省情况下,未使能重传功能 |
使能摘要刷新功能 |
mpls rsvp-te srefresh |
可选 缺省情况下,未使能摘要刷新功能 |
表1-14 配置RSVP的Hello扩展
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
使能本节点的RSVP的Hello扩展 |
mpls rsvp-te hello |
必选 缺省情况下,未使能本节点的RSVP的Hello扩展 |
配置允许Hello消息丢失的最大次数 |
mpls rsvp-te hello-lost times |
可选 缺省情况下,最多允许连续收不到3个Hello报文 |
配置Hello消息发送时间间隔 |
mpls rsvp-te timer hello timevalue |
可选 缺省情况下,Hello消息的发送时间间隔为3秒 |
退回系统视图 |
quit |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能接口的RSVP的Hello扩展 |
mpls rsvp-te hello |
必选 缺省情况下,未使能接口RSVP的Hello扩展 |
有关RSVP的Hello扩展机制用于检测RSVP邻居节点的可达性,在RFC 3209中有详细的介绍。
表1-15 配置RSVP-TE预留确认
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS 视图 |
mpls |
- |
使能节点的预留确认机制 |
mpls rsvp-te resvconfirm |
必选 缺省情况下,节点上不使能预留确认机制 |
l 预留确认机制由接收者发起,接收者在发送Resv消息时,携带一个要求对预留进行确认的对象。
l 收到ResvConf消息并不表示成功建立了资源预留,只能说明在此Resv消息到达的最远上游节点处成功保留了资源,这些资源接下来仍可能被其它应用抢占。
为防止伪造的资源预留请求非法占用网络资源,RSVP采用逐跳验证机制。
一条链路两端的接口需要配置相同的验证密钥,只有这样,它们才可以交换RSVP消息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能RSVP验证功能 |
mpls rsvp-te authentication { cipher | plain } auth-key |
必选 缺省情况下,禁止RSVP验证功能 |
建议不要在同一个接口同时配置快速重路由功能和RSVP验证功能。
RSVP-TE GR功能依赖于RSVP-TE的Hello扩展能力,因此在配置RSVP-TE GR功能之前必须使能RSVP-TE的Hello扩展能力。
在GR设备上进行以下配置。
表1-17 配置RSVP-TE GR
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
使能本节点的RSVP的Hello扩展 |
mpls rsvp-te hello |
必选 缺省情况下,未使能本节点的RSVP的Hello扩展 |
使能MPLS RSVP-TE协议的GR能力 |
mpls rsvp-te graceful-restart |
必选 缺省情况下,MPLS RSVP-TE协议的GR能力处于关闭状态 |
配置RSVP-TE GR的重启定时器 |
mpls rsvp-te timer graceful-restart restart restart-time |
可选 缺省情况下,RSVP-TE GR重启定时器的值为120秒 |
配置RSVP-TE GR的恢复定时器 |
mpls rsvp-te timer graceful-restart recovery recovery-time |
可选 缺省情况下,RSVP-TE GR恢复定时器的值为300秒 |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能接口的RSVP的Hello扩展 |
mpls rsvp-te hello |
必选 缺省情况下,未使能接口RSVP的Hello扩展 |
CSPF使用TEDB和约束条件计算出符合要求的路径,并通过信令协议建立CR-LSP。MPLS TE提供多种方式影响CSPF的计算,从而调整CR-LSP的建立。
本节的配置需要与CSPF、动态信令协议(RSVP-TE)配合使用。
本节介绍的配置任务是MPLS TE中CSPF的一些专门配置,在实施本节的配置任务之前,需要明确理解这些配置对系统可能造成的影响。
如果使用路由固定特性,则不能同时使用MPLS TE重优化。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
使能路由固定功能 |
mpls te route-pinning |
必选 缺省情况下,未使能路由固定功能 |
提交隧道当前配置 |
mpls te commit |
必选 |
MPLS TE隧道的亲和属性决定隧道使用的链路属性,亲和属性与链路管理组配合,确定隧道可以使用哪些链路。管理组、亲和属性、掩码都是32位数值。
如果希望某条链路能够被隧道所用,则在所有掩码为1的位中,管理组中至少有1位与亲和属性中的相应位都为1。对于掩码为0的位,则不对管理组的相应位进行检查。
举例说明:假设亲和属性为0xFFFFFFFF,掩码为0x0000FFFF,则可用链路的管理组属性高16位可以任意取0或1,低16位则至少有1位为1。
在隧道首节点配置隧道亲和属性后,亲和属性将通过信令协议(RSVP-TE)传递给各节点。
不同设备制造商实现的管理组和亲和属性的关系可能有所不同,当在同一网络中使用不同设备制造商的设备时,需要事先了解各自的实现方式,正确配置链路的管理组和隧道的亲和属性,以便准确建立隧道。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
配置链路的管理组 |
mpls te link administrative group value |
可选 缺省情况下,链路管理组属性值为0x00000000 |
退回系统视图 |
quit |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道的亲和属性 |
mpls te affinity property properties [ mask mask-value ] |
可选 缺省情况下,隧道的亲和属性为0x00000000,掩码为0x00000000 |
提交隧道当前配置 |
mpls te commit |
必选 |
动态优化CR-LSP即定期重计算CR-LSP穿越的路径。如果重计算的路径优于当前路径,则创建一条新的CR-LSP,为之分配新路径,并将业务从旧的CR-LSP切换至新的CR-LSP,删除旧CR-LSP。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
使能隧道重优化功能 |
mpls te reoptimization [ frequency seconds ] |
必选 缺省情况下,未使能重优化功能 |
提交隧道当前配置 |
mpls te commit |
必选 |
退到用户视图 |
return |
- |
立即对所有使能了重优化功能的TE隧道进行重优化 |
mpls te reoptimization |
可选 |
在建立MPLS TE隧道的过程中,根据实际应用,可能还需要进行一些专门的配置。本节介绍这些特殊配置的使用。
本节介绍的任务是MPLS TE中的一些专门配置,在实施本节的配置任务之前,需要明确理解这些配置对系统可能造成的影响。
本节介绍的配置需要与动态信令协议(如RSVP-TE)配合使用。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道建立时进行环路检测 |
mpls te loop-detection |
必选 缺省情况下,不进行环路检测 |
提交隧道当前配置 |
mpls te commit |
必选 |
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
|
配置隧道支持路由记录或标签记录 |
建立隧道时记录路由 |
mpls te record-route |
二者必选其一 缺省情况下,不进行路由记录和标签记录 |
建立隧道时记录路由和标签 |
mpls te record-route label |
||
提交隧道当前配置 |
mpls te commit |
必选 |
配置隧道重建时间间隔和重建次数后,可以在隧道建立不成功,会每隔一定时间自动尝试重建,直到达到允许的最大重建次数。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道重建的次数 |
mpls te retry times |
可选 缺省情况下,隧道重建的次数为10次 |
配置隧道重建的间隔时间 |
mpls te timer retry seconds |
可选 缺省情况下,重建隧道的时间间隔为2秒 |
提交隧道当前配置 |
mpls te commit |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道的优先级 |
mpls te priority setup-priority [ hold-priority ] |
可选 缺省情况下,建立优先级和保持优先级的值都为7 |
提交隧道当前配置 |
mpls te commit |
必选 |
在配置流量转发之前,需完成以下任务:
l 配置MPLS基本能力
l 配置MPLS TE基本能力
l 配置MPLS TE隧道
表1-25 使用静态路由沿MPLS TE隧道转发流量
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使用静态路由沿MPLS TE隧道转发流量 |
ip route-static dest-address { mask | mask-length } interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
必选 |
l interface-type为Tunnel接口,并且必须设置preference值。
l 有关配置静态路由的命令请参见“三层技术-IP路由命令参考”中的“静态路由”。
配置自动路由发布前,需要首先在MPLS TE隧道的Tunnel接口使能OSPF或ISIS路由协议。
在IGP Shortcut和转发邻接特性中计算路径时,可以指定TE隧道使用的度量值。如果使用绝对度量(absolute),则TE隧道的度量值就是配置的值;如果使用相对度量(relative),则TE隧道的度量值是相应IGP路径度量值加上相对度量值。
(1) 配置IGP Shortcut
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置IGP在进行增强的SPF计算时,使用处于up状态的MPLS TE隧道 |
mpls te igp shortcut [ isis | ospf ] |
必选 缺省情况下,IGP在进行增强的SPF计算时不使用MPLS TE隧道 如果配置IGP Shortcut时不指定IGP类型,则缺省为ospf和isis都支持 |
配置MPLS TE隧道的度量值 |
mpls te igp metric { absolute value | relative value } |
可选 缺省情况下,TE隧道的度量等于其IGP度量 |
提交隧道当前配置 |
mpls te commit |
必选 |
退回系统视图 |
quit |
- |
进入OSPF协议视图 |
ospf [ process-id ] |
- |
使能IGP Shortcut特性 |
enable traffic-adjustment |
必选 缺省情况下,不使能IGP Shortcut特性 |
(2) 配置转发邻接
要想使转发邻接功能生效,需要创建双向MPLS TE隧道,并在隧道的两端同时配置转发邻接功能。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
将MPLS TE隧道作为链路发布到IGP网络 |
mpls te igp advertise [ hold-time value ] |
必选 缺省情况下,MPLS TE隧道不被作为链路发布到IGP网络 |
配置MPLS TE隧道的度量值 |
mpls te igp metric { absolute | relative } value |
可选 缺省情况下,TE隧道的度量等于其IGP度量 |
提交隧道当前配置 |
mpls te commit |
必选 |
退回系统视图 |
quit |
- |
进入OSPF协议视图 |
ospf [ process-id ] |
- |
使能转发邻接特性 |
enable traffic-adjustment advertise |
必选 缺省情况下,未使能转发邻接特性 |
使用自动路由发布特性时,必须将TE隧道的目的地址指定为对端节点的LSR ID,并且将Tunnel接口地址发布到OSPF/ISIS等IGP协议中。
在MPLS TE中,影响流量转发是指可能导致IP流量或MPLS流量经过的路径发生变化、限制TE隧道流量类型的相关配置。本节介绍MPLS TE中影响流量转发的几种主要措施。
本节介绍的配置需要与CSPF、动态信令协议(如RSVP-TE)配合使用。
一旦一条链路状态变为down,失效链路定时器就会启动。如果IGP在定时器超时之前删除或修改此链路,IGP将会把删除或修改情况通知CSPF。CSPF在TEDB中更新链路,并停止定时器。如果定时器超时时,IGP还没有删除链路,链路状态将被更新为up。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置失效链路定时器值 |
mpls te cspf timer failed-link timer-interval |
可选 缺省情况下,失效链路定时器的值为10秒 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置未配置度量类型的隧道选路时使用的链路度量类型 |
mpls te path metric-type { igp | te } |
可选 缺省情况下,选路时使用链路的TE度量 |
退回系统视图 |
quit |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置当前隧道选路时使用的度量类型 |
mpls te path metric-type { igp | te } |
可选 缺省情况下,没有指定选路时使用的链路度量类型,采用MPLS视图下配置的链路度量类型 |
提交隧道当前配置 |
mpls te commit |
必选 |
退回系统视图 |
quit |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
配置链路的TE度量 |
mpls te metric value |
可选 缺省情况下,链路使用其IGP度量作为TE的度量 |
如果在隧道接口视图下没有配置mpls te path metric-type,则使用MPLS视图下的配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置TE隧道转发的流量类型 |
mpls te vpn-binding { acl acl-number | vpn-instance vpn-instance-name } |
可选 缺省情况下,TE隧道不限制可以转发的流量类型 |
提交隧道当前配置 |
mpls te commit |
必选 |
CR-LSP备份用于端到端的路径保护,对整条LSP提供保护。
在配置CR-LSP备份之前,需完成以下任务:
l 配置MPLS基本能力
l 配置MPLS TE基本能力
l 配置MPLS TE隧道
操作 |
命令 |
说明 |
进入隧道头节点的系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
使能当前隧道的备份功能,并配置使用的备份模式 |
mpls te backup { hot-standby | ordinary } |
必选 缺省情况下,隧道不进行备份 |
提交隧道当前配置 |
mpls te commit |
必选 |
CR-LSP备份方式在隧道头节点进行配置,系统自动选择主LSP和备份LSP的路径,用户不需要分别配置主LSP和备份LSP。
建议不要在同一个接口同时配置快速重路由功能和RSVP验证功能。
FRR是MPLS TE中的临时性局部保护技术。
由于FRR使用的Bypass隧道需要预先建立,占用额外的带宽,因此,在网络带宽余量不多的情况下,应该只对关键的接口或链路进行快速重路由保护。
用户可以指定哪种类型的LSP可以使用Bypass隧道,Bypass隧道是否提供带宽保护以及带宽保护的总量。
Bypass隧道的带宽用于保护主LSP,用户在配置时应保证其带宽不小于被保护的所有LSP所需带宽之和,否则可能有主LSP不能绑定到Bypass隧道上。
Bypass隧道一般不转发数据。如果Bypass隧道在保护主LSP的同时转发流量,需要为Bypass隧道提供足够的带宽。
Bypass隧道不能同时做为VPN等业务的隧道使用。
在配置MPLS TE快速重路由之前,需完成以下任务:
l 配置IGP协议保证各LSR之间可达
l 配置MPLS基本能力
l 配置MPLS TE基本能力
l 使用RSVP-TE建立MPLS TE隧道
l 建立主LSP
表1-32 在主LSP的头节点使能快速重路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入主LSP的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
使能快速重路由功能 |
mpls te fast-reroute |
必选 缺省情况下,未使能快速重路由功能 |
提交隧道配置 |
mpls te commit |
必选 |
当一条隧道被指定保护一个接口以后,它所对应的LSP就成为Bypass隧道。Bypass隧道的建立通过在PLR手工配置触发。它的配置与普通LSP相同,但不能配置快速重路由属性。也就是说,Bypass隧道不能同时作为主LSP,LSP不能被嵌套保护。
为接口指定Bypass隧道,需要满足以下条件:
l Bypass隧道必须是up状态的;
l 被保护的接口不是Bypass隧道的出接口。
设备最多可以为被保护的接口指定3条Bypass隧道,将使用最佳适配(best-fit)算法来决定使用哪一条Bypass隧道。
设备对使用Bypass隧道的链路进行限制,使这些隧道的带宽总量不超过指定的带宽。
表1-33 在PLR上配置Bypass隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Bypass隧道的接口视图 |
interface tunnel tunnel-number |
- |
配置Bypass隧道的目的地址 |
destination ip-address |
必选 l 配置节点保护时,目的地址为PLR的下下一跳路由器LSR ID l 配置链路保护时,目的地址为PLR的下一跳设备的LSR ID |
配置Bypass隧道可保护的带宽和LSP类型 |
mpls te backup bandwidth bandwidth |
必选 缺省情况下,不对带宽进行保护 |
提交隧道配置 |
mpls te commit |
必选 |
退回系统视图 |
quit |
- |
进入被保护的LSP出接口的接口视图 |
interface interface-type interface-number |
- |
将Bypass隧道绑定到被保护的接口 |
mpls te fast-reroute bypass-tunnel tunnel tunnel-number |
必选 |
对于Bypass隧道,必须使用mpls te backup bandwidth命令配置可保护的带宽,否则,由于缺省情况是不对带宽进行保护,将导致主LSP不能绑定到Bypass隧道。
如果使用FRR进行节点保护,则需要在PLR和被保护节点上进行本小节的配置;如果只是进行链路保护,则不必进行本小节的配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
使能本节点的RSVP的Hello扩展 |
mpls rsvp-te hello |
必选 缺省情况下,未使能本节点的RSVP的Hello扩展 |
退回系统视图 |
quit |
- |
进入PLR与被保护节点直连接口的接口视图 |
interface interface-type interface-number |
- |
使能接口的RSVP的Hello扩展 |
mpls rsvp-te hello |
必选 缺省情况下,未使能接口的RSVP的Hello扩展 |
对于链路失效引发的节点失效,不需要使用RSVP的Hello扩展机制来进行邻居检测。该配置主要用于在链路正常,但信令协议故障的特殊情况下检测节点失效。
FRR切换后,一旦被保护的LSP恢复正常或建立了新的LSP,流量仍会切换回原LSP或新建立的LSP。切换回来后,PLR定时扫描,如果发现保护隧道,将刷新绑定关系。
操作 |
命令 |
说明 |
进入PLR节点的系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置快速重路由扫描间隔 |
mpls te timer fast-reroute [ seconds ] |
可选 缺省情况下,扫描间隔为300秒 |
在MPLS TE网络中,MPLS TE隧道出现故障,无法转发数据时,负责建立MPLS TE隧道的控制平面无法检测或不能快速发现这种错误,这会给网络维护带来困难。为了及时发现MPLS TE隧道错误,并定位失效节点,设备上提供了如下几种机制:
l MPLS LSP Ping功能
l MPLS LSP Tracert功能
l BFD检测MPLS TE隧道功能
l MPLS TE隧道的周期性LSP Tracert功能
MPLS LSP Ping功能可以用来对MPLS TE隧道的可达性进行检测。采取方法是:在头节点为MPLS Echo Request报文压入待检测的MPLS TE隧道对应的标签,使得MPLS Echo Request报文沿着MPLS TE隧道转发,头节点根据是否收到尾节点的应答报文,判断MPLS TE隧道是否可达。
表1-36 MPLS LSP Ping功能
操作 |
命令 |
说明 |
通过MPLS LSP Ping检测MPLS TE隧道的可达性 |
ping lsp [ -a source-ip | -c count | -exp exp-value | -h ttl-value | -m wait-time | -r reply-mode | -s packet-size | -t time-out | -v ] * te interface-type interface-number |
必选 可在任意视图下执行本命令 |
MPLS LSP Tracert用来对MPLS TE隧道的错误进行定位。MPLS LSP Tracert通过连续发送TTL从1到某个值的MPLS Echo Request报文,让MPLS TE隧道路径上的每一跳收到该报文后,返回TTL超时的MPLS Echo Reply报文。这样,Ingress节点可以收集到MPLS TE隧道上每一跳的信息,从而定位出故障节点。同时,MPLS LSP Tracert还可用于收集整条MPLS TE隧道上每个节点的重要信息,如分配的标签等。
表1-37 MPLS LSP Tracert功能
操作 |
命令 |
说明 |
通过MPLS LSP Tracert对MPLS TE隧道的错误进行定位 |
tracert lsp [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode |-t time-out ] * te interface-type interface-number |
必选 可在任意视图下执行本命令 |
BFD检测MPLS TE隧道功能通过在MPLS TE隧道头节点和尾节点之间建立BFD会话,利用BFD快速检测MPLS TE隧道的连通性。在头节点为BFD控制报文压入MPLS TE隧道的标签,沿着 MPLS TE隧道转发BFD控制报文,并根据收到的尾节点的BFD控制报文来判断MPLS TE隧道的状态。当BFD检测到MPLS TE隧道故障后,还可以触发保护倒换进行流量的切换。
可以通过两种方式建立检测MPLS TE隧道的BFD会话:
l 静态方式:如果执行mpls te bfd enable命令时通过discriminator参数指定了本地和远端的鉴别值,则根据指定的鉴别值建立BFD会话。该方式用来检测两台设备间从本地到远端和从远端到本地的一对MPLS TE隧道。
l 动态方式:如果执行mpls te bfd enable命令时没有通过discriminator参数指定本地和远端的鉴别值,则自动运行MPLS LSP Ping来协商鉴别值,并根据协商好的鉴别值建立BFD会话。该方式用来检测两台设备间从本地到远端的一条单向MPLS TE隧道。
BFD检测MPLS TE隧道功能还可以触发拆除故障的RSVP-TE隧道,并重新建立:通过mpls te failure-action teardown命令使能了RSVP-TE隧道故障后的拆除重建功能后,如果在BFD检测到RSVP-TE隧道故障后的一段时间内RSVP没有重新创建该RSVP-TE隧道,则将触发MPLS TE重新创建对应的RSVP-TE隧道。
l BFD会话参数为MPLS TE隧道接口下配置的BFD参数,BFD会话的源地址为MPLS LSR-ID。因此,配置BFD检测MPLS TE隧道功能前,需要确保对端设备上存在MPLS LSR-ID对应的路由,还可以根据需要在隧道接口下配置BFD会话参数。BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
l 使用静态方式建立检测MPLS TE隧道的BFD会话前,需要确保已经建立从本地到远端和从远端到本地的两条MPLS TE隧道。
表1-38 配置BFD检测MPLS TE隧道功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能LSP验证功能,并进入MPLS-LSPV视图 |
mpls lspv |
必选 缺省情况下,未使能LSP验证功能 |
退回系统视图 |
quit |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置使用BFD检测指定MPLS TE隧道的连通性 |
mpls te bfd enable [ discriminator local local-id remote remote-id ] |
必选 缺省情况下,未使用BFD检测指定MPLS TE隧道的连通性 |
使能RSVP-TE隧道故障后的拆除重建功能 |
mpls te failure-action teardown |
可选 缺省情况下,未使能RSVP-TE隧道故障后的拆除重建功能 |
l mpls lspv命令的详细介绍,请参见“MPLS命令参考”中的“MPLS基本配置”。
l 不能同时使用静态方式和动态方式建立检测同一个MPLS TE隧道的BFD会话。
l 使用静态方式建立检测MPLS TE隧道的BFD会话后,不能修改BFD会话的鉴别值。
l 如果在MPLS TE隧道上同时使用了FRR和BFD检测功能,则为了保证FRR切换或回切不会导致BFD会话down,需要配置BFD会话的检测周期大于FRR的检测周期。
l 协议中规定:用于检测MPLS TE隧道的BFD会话中,头节点工作在主动(Active)模式,尾节点工作在被动(Passive)模式。在头节点和尾节点上执行bfd session init-mode命令不会改变节点的工作模式,即使头节点和尾节点均配置为被动模式,BFD会话仍然可以正常建立。
MPLS TE隧道的周期性LSP Tracert功能,即周期性地对MPLS TE隧道进行Tracert检测,该功能用来对MPLS TE隧道的错误进行定位,对转发平面和控制平面一致性进行检测,并通过日志记录检测结果。管理员可以通过查看日志信息,了解MPLS TE隧道是否出现故障。
如果同时配置了BFD检测MPLS TE隧道功能和MPLS TE隧道的周期性LSP Tracert功能,则MPLS TE隧道的周期性LSP Tracert检测到转发平面故障或转发平面与控制平面不一致时,会触发删除原有BFD会话,并基于控制平面重新建立BFD会话。
MPLS TE隧道的周期性LSP Tracert功能还可以触发拆除故障的RSVP-TE隧道,并重新建立:通过mpls te failure-action teardown命令使能了RSVP-TE隧道故障后的拆除重建功能后,如果在周期性LSP Tracert检测到RSVP-TE隧道故障后的一段时间内RSVP没有重新创建该RSVP-TE隧道,则将触发MPLS TE重新创建对应的RSVP-TE隧道。
表1-39 配置MPLS TE隧道的周期性LSP Tracert功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动LSP检测功能,并进入MPLS-LSPV视图 |
mpls lspv |
必选 缺省情况下,未使能LSP检测功能 |
退回系统视图 |
quit |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
使能指定MPLS TE隧道的周期性LSP Tracert检测功能 |
mpls te periodic-tracert [ -a source-ip | -exp exp-value | -h ttl-value | -m wait-time | -t time-out | -u retry-attempt ] * |
必选 缺省情况下,未使能MPLS TE隧道的周期性LSP Tracert检测功能 |
使能RSVP-TE隧道故障后的拆除重建功能 |
mpls te failure-action teardown |
可选 缺省情况下,未使能RSVP-TE隧道故障后的拆除重建功能 |
mpls lspv命令的详细介绍,请参见“MPLS命令参考”中的“MPLS基本配置”。
在配置保护倒换功能之前,需完成以下任务:
l 配置MPLS基本功能
l 使能MPLS TE和创建MPLS TE隧道
l 配置BFD检测MPLS TE隧道功能
在配置Tunnel保护组之前,需准备以下数据:
l 保护组中主Tunnel的接口编号
l 保护组中保护Tunnel ID
表1-40 配置保护倒换功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置主Tunnel的保护组 |
mpls te protection tunnel tunnel-id [ holdoff holdoff-time | mode { non-revertive | revertive } ] * |
必选 |
配置外部倒换动作 |
mpls te protect-switch { clear | force | lock | manual { protect-lsp | work-lsp } } |
可选 缺省情况下,没有配置外部倒换动作 |
提交隧道当前配置 |
mpls te commit |
必选 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS TE的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除MPLS TE统计信息。
表1-41 MPLS TE的显示和维护
操作 |
命令 |
显示显式路径信息 |
display explicit-path [ path-name ] [ | { begin | exclude | include } regular-expression ] |
显示静态CR-LSP信息 |
display mpls static-cr-lsp [ lsp-name lsp-name ] [ { include | exclude } ip-address prefix-length ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE的配置信息 |
display mpls rsvp-te [ interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] ] |
显示RSVP-TE隧道信息 |
display mpls rsvp-te established [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE邻居信息 |
display mpls rsvp-te peer [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE请求消息信息 |
display mpls rsvp-te request [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
显示RSVP资源预留信息 |
display mpls rsvp-te reservation [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE PSB信息 |
display mpls rsvp-te psb-content ingress-lsr-id lspid tunnel-id egress-lsr-id [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE RSB信息 |
display mpls rsvp-te rsb-content ingress-lsr-id Ispid tunnel-id egress-lsr-id nexthop-address [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE发送方消息信息 |
display mpls rsvp-te sender [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
显示RSVP-TE的统计信息 |
display mpls rsvp-te statistics { global | interface [ interface-type interface-number ] } [ | { begin | exclude | include } regular-expression ] |
显示满足指定条件的基于CSPF的TEDB信息 |
display mpls te cspf tedb { all | area area-id | interface ip-address | network-lsa | node [ mpls-lsr-id ] } [ | { begin | exclude | include } regular-expression ] |
显示所有链路接纳的CR-LSP信息 |
display mpls te link-administration admission-control [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
显示MPLS TE隧道信息 |
display mpls te tunnel [ destination dest-addr ] [ lsp-id lsr-id lsp-id ] [ lsr-role { all | egress | ingress | remote | transit } ] [ name name ] [ { incoming-interface | outgoing-interface | interface } interface-type interface-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
显示本地节点的MPLS TE隧道的路径属性信息 |
display mpls te tunnel path [ lsp-id lsr-id lsp-id | tunnel-name tunnel-name ] [ | { begin | exclude | include } regular-expression ] |
显示MPLS TE隧道统计信息 |
display mpls te tunnel statistics [ | { begin | exclude | include } regular-expression ] |
显示本地节点的MPLS TE隧道接口信息 |
display mpls te tunnel-interface tunnel number [ | { begin | exclude | include } regular-expression ] |
显示与流量调节(IGP shortcut及转发邻接)相关的OSPF进程的隧道信息 |
display ospf [ process-id ] traffic-adjustment [ | { begin | exclude | include } regular-expression ] |
显示OSPF TE信息 |
display ospf [ process-id ] mpls-te [ area area-id ] [ self-originated ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS TE最近一次发布的TE信息 |
display isis traffic-eng advertisements [ [ level-1 | level-1-2 | level-2 ] | [ lsp-id lsp-id | local ] ] * [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS TE的链路信息 |
display isis traffic-eng link [ [ level-1 | level-1-2 | level-2 ] | verbose ] * [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS TE的网络信息 |
display isis traffic-eng network [ level-1 | level-1-2 | level-2 ] [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS TE的统计信息 |
display isis traffic-eng statistics [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS TE扩展的子TLV信息 |
display isis traffic-eng sub-tlvs [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示隧道信息 |
display tunnel-info { tunnel-id | all | statistics } [ | { begin | exclude | include } regular-expression ] |
显示BFD对MPLS TE隧道的检测信息 |
display mpls lsp bfd [ te tunnel tunnel-number ] [ | { begin | exclude | include } regular-expression ] |
显示指定Tunnel和其对应保护Tunnel信息 |
display mpls te protection tunnel { tunnel-id | all } [ verbose ] [ | { begin | exclude | include } regular-expression ] |
清除RSVP-TE的统计信息 |
reset mpls rsvp-te statistics { global | interface [ interface-type interface-number ] |
l 设备Switch A、Switch B和Switch C运行IS-IS;
l 使用静态CR-LSP建立一条Switch A到Switch C的TE隧道。
图1-6 静态CR-LSP配置组网图
(1) 配置各接口的IP地址
按照图1-6配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
# 配置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命令,可以看到相互之间都学到了到对方的LSR ID的主机路由。以Switch A为例:
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.1.1.0/24 Direct 0 0 2.1.1.1 Vlan1
2.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.2/32 ISIS 15 10 2.1.1.2 Vlan1
3.2.1.0/24 ISIS 15 20 2.1.1.2 Vlan1
3.3.3.3/32 ISIS 15 20 2.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) 配置MPLS TE基本能力
# 配置Switch A。
[SwitchA] mpls lsr-id 3.3.3.3
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.3
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] quit
(4) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道。
[SwitchA] interface tunnel 0
[SwitchA-Tunnel0] ip address 6.1.1.1 255.255.255.0
[SwitchA-Tunnel0] tunnel-protocol mpls te
[SwitchA-Tunnel0] destination 3.3.3.3
[SwitchA-Tunnel0] mpls te tunnel-id 10
[SwitchA-Tunnel0] mpls te signal-protocol static
[SwitchA-Tunnel0] mpls te commit
[SwitchA-Tunnel0] quit
(5) 创建静态CR-LSP
# 配置Switch A为静态CR-LSP的入口节点。
[SwitchA] static-cr-lsp ingress Tunnel0 destination 3.3.3.3 nexthop 2.1.1.2 out-label 20
# 配置Switch B为静态CR-LSP的中间节点。
[SwitchB] static-cr-lsp transit tunnel0 incoming-interface Vlan-interface1 in-label 20 nexthop 3.2.1.2 out-label 30
# 配置Switch C为静态CR-LSP的出节点。
[SwitchC] static-cr-lsp egress tunnel0 incoming-interface Vlan-interface2 in-label 30
(6) 配置完成后的检验
配置完成后,在Switch A上执行display interface tunnel命令,可以看到Tunnel接口的状态为up。
[SwitchA] display interface tunnel
Tunnel0 current state: UP
Line protocol current state: UP
Description: Tunnel0 Interface
The Maximum Transmit Unit is 64000
Internet Address is 6.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 3.3.3.3
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 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在各设备上执行display mpls te tunnel命令,可以看到MPLS TE隧道的建立情况。
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 3.3.3.3 -/Vlan1 Tunnel0
[SwitchB] display mpls te tunnel
LSP-Id Destination In/Out-If Name
- - Vlan1/Vlan2 Tunnel0
[SwitchC] display mpls te tunnel
LSP-Id Destination In/Out-If Name
- - Vlan2/- Tunnel0
在各设备上执行display mpls lsp或display mpls static-cr-lsp命令,可以看到静态CR-LSP的建立情况。
[SwitchA] display mpls lsp
-------------------------------------------------------------------
LSP Information: STATIC CRLSP
-------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
3.3.3.3/32 NULL/20 -/Vlan1
[SwitchB] display mpls lsp
------------------------------------------------------------------
LSP Information: STATIC CRLSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
-/- 20/30 Vlan1/Vlan2
[SwitchC] display mpls lsp
------------------------------------------------------------------
LSP Information: STATIC CRLSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
-/- 30/NULL Vlan2/-
[SwitchA] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel0 3.3.3.3/32 NULL/20 -/Vlan1 Up
[SwitchB] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel0 -/- 20/30 Vlan1/Vlan2 Up
[SwitchC] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel0 -/- 30/NULL Vlan2/- Up
使用静态CR-LSP建立MPLS TE隧道时,Transit节点和Egress节点直接根据配置的入标签和出标签进行转发,因此,Switch B和Switch C的相关显示信息中,FEC等内容为空。
(7) 使用静态路由沿MPLS TE隧道转发流量
[SwitchA] ip route-static 3.2.1.2 24 tunnel 0 preference 1
在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel0为出接口的静态路由信息。
l 设备Switch A、Switch B、Switch C和Switch D运行IS-IS,都是Level-2设备;
l 使用RSVP-TE从Switch A到Switch D建立一条TE隧道,带宽为2000kbit/s;
l 隧道沿途的链路最大带宽为10000kbit/s。
图1-7 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 |
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-7配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
# 配置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命令,可以看到相互之间都学到了到对方的LSR ID的主机路由。以Switch A为例:
[SwitchA] display ip routing-table
Routing Tables: Public
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 ISIS 15 10 10.1.1.2 Vlan1
3.3.3.9/32 ISIS 15 20 10.1.1.2 Vlan1
4.4.4.9/32 ISIS 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 ISIS 15 20 10.1.1.2 Vlan1
30.1.1.0/24 ISIS 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) 配置MPLS TE基本能力,并使能RSVP-TE和CSPF
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls te cspf
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] mpls rsvp-te
[SwitchC-mpls] mpls te cspf
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls
[SwitchC-Vlan-interface3] mpls te
[SwitchC-Vlan-interface3] mpls rsvp-te
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] mpls rsvp-te
[SwitchC-Vlan-interface2] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls
[SwitchD-mpls] mpls te
[SwitchD-mpls] mpls rsvp-te
[RouterD-mpls] mpls te cspf
[SwitchD-mpls] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls
[SwitchD-Vlan-interface3] mpls te
[SwitchD-Vlan-interface3] mpls rsvp-te
[SwitchD-Vlan-interface3] quit
(4) 配置IS-IS TE
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] traffic-eng level-2
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] traffic-eng level-2
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] traffic-eng level-2
[SwitchC-isis-1] quit
# 配置SwitchD。
[SwitchD] isis 1
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] traffic-eng level-2
[SwitchD-isis-1] quit
(5) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te signal-protocol rsvp-te
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] quit
(6) 配置完成后的检验
配置完成后,在Switch A上执行display interface tunnel命令可以看到隧道接口状态为up。
[SwitchA] display interface tunnel
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 64000
Internet Address is 7.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 4.4.4.9
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 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在Switch A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel1
Tunnel Desc : Tunnel1 Interface
Tunnel State Desc : CR-LSP is Up
Tunnel Attributes :
LSP ID : 1.1.1.9:3
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.9 Egress LSR ID: 4.4.4.9
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 2000 kbps
Reserved BW : 2000 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : -
Tie-Breaking Policy : None
Metric Type : None
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
Oam Status : -
在Switch A上执行display mpls te cspf tedb all命令查看TEDB中的链路信息。
[SwitchA] display mpls te cspf tedb all
Maximum Node Supported: 128 Maximum Link Supported: 256
Current Total Node Number: 4 Current Total Link Number: 6
Id MPLS LSR-Id IGP Process-Id Area Link-Count
1 3.3.3.9 ISIS 1 Level-2 2
2 2.2.2.9 ISIS 1 Level-2 2
3 4.4.4.9 ISIS 1 Level-2 1
4 1.1.1.9 ISIS 1 Level-2 1
(7) 使用静态路由沿MPLS TE隧道转发流量
[SwitchA] ip route-static 30.1.1.2 24 tunnel 1 preference 1
在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
l 设备Switch A、Switch B和Switch C运行IS-IS,都是Level-2设备;
l 使用RSVP-TE建立从Switch A到Switch C的TE隧道;
l 设备Switch A、Switch B和Switch C支持RSVP的Hello扩展能力;
l Switch A、Switch B和Switch C为RSVP-TE邻居,通过使能GR能力,邻居之间可以在对方发生GR Restart的时候提供GR Helper支持。
图1-8 RSVP-TE GR配置组网图
(1) 配置各接口的IP地址
按照图1-8配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
具体配置略。
(3) 配置MPLS TE基本能力,并使能RSVP-TE和节点的RSVP的Hello扩展
# 配置Switch A
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls rsvp-te hello
[SwitchA-mpls] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] mpls rsvp-te hello
[SwitchA-Vlan-interface1] quit
# 配置Switch B
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls rsvp-te hello
[SwitchB-mpls] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] mpls rsvp-te hello
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] mpls rsvp-te hello
[SwitchB-Vlan-interface2] quit
# 配置Switch C
<SwitchC> system-view
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] mpls rsvp-te
[SwitchC-mpls] mpls rsvp-te hello
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] mpls rsvp-te
[SwitchC-Vlan-interface2] mpls rsvp-te hello
[SwitchC-Vlan-interface2] quit
(4) 配置IS-IS TE
具体配置略。
(5) 配置MPLS TE隧道
具体配置略。
(6) 配置RSVP-TE GR
# 配置Switch A
<SwitchA> system-view
[SwitchA] mpls
[SwitchA-mpls] mpls rsvp-te graceful-restart
# 配置Switch B
<SwitchB> system-view
[SwitchB] mpls
[SwitchB-mpls] mpls rsvp-te graceful-restart
# 配置Switch C
<SwitchC> system-view
[SwitchC] mpls
[SwitchC-mpls] mpls rsvp-te graceful-restart
(7) 检验配置效果
# 在Switch A和Switch C之间创建隧道且运行稳定后,通过命令可以看到邻居的GR状态已经处于Ready状态。
<SwitchA> display mpls rsvp-te peer
Interface Vlan-interface1
Neighbor Addr: 10.1.1.2
SrcInstance: 880 NbrSrcInstance: 5017
PSB Count: 0 RSB Count: 1
Hello Type Sent: REQ Neighbor Hello Extension: ENABLE
SRefresh Enable: NO
Graceful Restart State: Ready
Restart Time: 120 Sec Recovery Time: 300 Sec
l Switch A、Switch B物理直连,并且在双方直连口上使能MPLS RSVP-TE BFD应用,在设备上运行OSPF,网络层相互可达。
l 当Switch A和Switch B之间的链路出现故障后,BFD能够快速检测并通告MPLS RSVP-TE协议。
图1-9 MPLS RSVP-TE与BFD联动配置组网图
(1) 配置MPLS RSVP-TE基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 12
[SwitchA-Vlan-interface12] mpls
[SwitchA-Vlan-interface12] mpls te
[SwitchA-Vlan-interface12] mpls rsvp-te
[SwitchA-Vlan-interface12] mpls rsvp-te bfd enable
[SwitchA-Vlan-interface12] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 12
[SwitchB-Vlan-interface12] mpls
[SwitchB-Vlan-interface12] mpls te
[SwitchB-Vlan-interface12] mpls rsvp-te
[SwitchB-Vlan-interface12] mpls rsvp-te bfd enable
[SwitchB-Vlan-interface12] quit
(2) 配置OSPF基本功能
# 配置Switch A。
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 12.12.12.1 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1]quit
# 配置Switch B。
[SwitchB] ospf
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 12.12.12.2 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
(3) 配置各交换机接口
# 配置Switch A。
[SwitchA] interface vlan-interface 12
[SwitchA-Vlan-interface12] ip address 12.12.12.1 24
[SwitchA-Vlan-interface12] quit
# 配置Switch B。
[SwitchB] interface vlan-interface 12
[SwitchB-Vlan-interface12] ip address 12.12.12.2 24
(4) 配置MPLS TE隧道
# 配置Switch A到Switch B的一条RSVP-TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 10.10.10.1 24
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te signal-protocol rsvp-te
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] return
(5) 检查配置结果
# 显示Switch A的BFD邻居详细信息。
<SwitchA> display bfd session verbose
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
Local Discr: 21 Remote Discr: 20
Source IP: 12.12.12.1 Destination IP: 12.12.12.2
Session State: Up Interface: Vlan-interface12
Min Trans Inter: 400ms Act Trans Inter: 400ms
Min Recv Inter: 400ms Act Detect Inter: 2000ms
Running Up for: 00:00:01 Auth mode: None
Connect Type: Direct Board Num: 6
Protocol: RSVP
Diag Info: No Diagnostic
要求建立一条MPLS TE隧道,使用CR-LSP的热备份。隧道头节点为Switch A,目的节点为Switch C。
图1-10 CR-LSP备份组网图
接口 |
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 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int2 |
20.1.1.2/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int3 |
40.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-10配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IGP协议
# 在所有设备上配置IS-IS协议,发布LSR ID的主机路由,具体配置过程略。
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方LSR ID的主机路由。
(3) 配置MPLS TE基本能力,并使能RSVP-TE和CSPF
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
[SwitchA] interface vlan-interface 4
[SwitchA-Vlan-interface4] mpls
[SwitchA-Vlan-interface4] mpls te
[SwitchA-Vlan-interface4] mpls rsvp-te
[SwitchA-Vlan-interface4] quit
Switch B、Switch C和Switch D的配置与Switch A相似,此处不再赘述。
(4) 在Switch A上建立MPLS TE Tunnel
# 配置主LSP的MPLS TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 9.1.1.1 24
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 3.3.3.9
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te record route
# 使用热备份。
[SwitchA-Tunnel1] mpls te backup hot-standby
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] quit
配置完成后,在Switch A上执行display interface tunnel命令,可以看到Tunnel1的状态为up。
[SwitchA] display interface tunnel
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 64000
Internet Address is 9.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 3.3.3.9
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 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
(5) 配置完成后的检验
在Switch A上执行display mpls te tunnel命令,可以看到存在两条Tunnel,出接口分别是Vlan-intface1和Vlan-intface4,即,在主CR-LSP创建后,备份CR-LSP也建立了。
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.9:6 3.3.3.9 -/Vlan1 Tunnel1
1.1.1.9:2054 3.3.3.9 -/Vlan4 Tunnel1
在Switch A上执行display mpls te tunnel path命令,可以看到这两条Tunnel使用的路径:
[SwitchA] display mpls te tunnel path
Tunnel Interface Name : Tunnel1
Lsp ID : 1.1.1.9 :6
Hop Information
Hop 0 10.1.1.1
Hop 1 10.1.1.2
Hop 2 2.2.2.9
Hop 3 20.1.1.1
Hop 4 20.1.1.2
Hop 5 3.3.3.9
Tunnel Interface Name : Tunnel1
Lsp ID : 1.1.1.9 :2054
Hop Information
Hop 0 30.1.1.1
Hop 1 30.1.1.2
Hop 2 4.4.4.9
Hop 3 40.1.1.1
Hop 4 40.1.1.2
Hop 5 3.3.3.9
对隧道目的地址进行Tracert操作:
[SwitchA] tracert –a 1.1.1.9 3.3.3.9
traceroute to 3.3.3.9(3.3.3.9) 30 hops max,40 bytes packet
1 10.1.1.2 25 ms 30.1.1.2 25 ms 10.1.1.2 25 ms
2 40.1.1.2 45 ms 20.1.1.2 29 ms 40.1.1.2 54 ms
从以上显示可以判断出目前使用的LSP经过SwitchB,没有使用SwitchD。
对SwitchB的接口Vlan-intface2执行shutdown,然后再对目的地址进行Tracert操作,可以看到报文经过了Switch D:
[SwitchA] tracert –a 1.1.1.9 3.3.3.9
traceroute to 3.3.3.9(3.3.3.9) 30 hops max,40 bytes packet
1 30.1.1.2 28 ms 27 ms 23 ms
2 40.1.1.2 50 ms 50 ms 49 ms
在Switch A上执行display mpls te tunnel命令,可以看到只剩下一条经过Switch D的Tunnel:
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.9:2054 3.3.3.9 -/Vlan4 Tunnel1
普通CR-LSP备份与热备份在配置上的唯一区别在于隧道接口上的mpls te backup命令。对于本配置例,如果采用普通备份方式,则备份CR-LSP只有在主LSP变为down后才会创建,不会同时存在两条隧道。
(6) 使用静态路由沿MPLS TE隧道转发流量
[SwitchA] ip route-static 20.1.1.2 24 tunnel 1 preference 1
在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
l 主LSP是Switch A→Switch B→Switch C→Switch D,要求对Switch B→Switch C这段链路通过FRR进行链路保护;
l 建立一条Bypass LSP,使用路径Switch B→Switch E→Switch C(Switch B是本地修复节点PLR,Switch C是汇聚点MP);
l 使用显式路径方式建立MPLS TE的主隧道和Bypass隧道。使用的信令协议是RSVP-TE。
图1-11 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.3.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 |
Switch D |
Loop0 |
4.4.4.4/32 |
|
Vlan-int5 |
3.3.1.2/24 |
|
Vlan-int3 |
4.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址
按照图1-11配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IGP协议
在所有设备上配置IS-IS协议,发布LSR ID的主机路由,具体配置过程略。
配置完成后,在各设备上执行display ip routing-table命令,应可以看到相互之间都学到了到对方LSR ID的主机路由。
以Switch A的显示为例:
<SwitchA> display ip routing-table
Routing Tables: Public
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.1.1.0/24 Direct 0 0 2.1.1.1 Vlan1
2.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.2/32 ISIS 15 10 2.1.1.2 Vlan1
3.1.1.0/24 ISIS 15 20 2.1.1.2 Vlan1
3.2.1.0/24 ISIS 15 20 2.1.1.2 Vlan1
3.3.1.0/24 ISIS 15 30 2.1.1.2 Vlan1
3.3.3.3/32 ISIS 15 20 2.1.1.2 Vlan1
4.1.1.0/24 ISIS 15 30 2.1.1.2 Vlan1
4.4.4.4/32 ISIS 15 30 2.1.1.2 Vlan1
5.5.5.5/32 ISIS 15 20 2.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) 配置MPLS TE基本能力,并使能RSVP-TE和CSPF
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls te cspf
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 4
[SwitchB-Vlan-interface4] mpls
[SwitchB-Vlan-interface4] mpls te
[SwitchB-Vlan-interface4] mpls rsvp-te
[SwitchB-Vlan-interface4] quit
Switch C、Switch D、Switch E的配置与Switch A和Switch B的配置相同,此处不再赘述。
(4) 在主LSP的头节点Switch A上建立MPLS TE Tunnel
# 配置主LSP的显式路径。
[SwitchA] explicit-path pri-path
[SwitchA-explicit-path-pri-path] next hop 2.1.1.2
[SwitchA-explicit-path-pri-path] next hop 3.1.1.2
[SwitchA-explicit-path-pri-path] next hop 4.1.1.2
[SwitchA-explicit-path-pri-path] next hop 4.4.4.4
[SwitchA-explicit-path-pri-path] quit
# 配置主LSP的MPLS TE隧道。
[SwitchA] interface tunnel 4
[SwitchA-Tunnel4] ip address 10.1.1.1 255.255.255.0
[SwitchA-Tunnel4] tunnel-protocol mpls te
[SwitchA-Tunnel4] destination 4.4.4.4
[SwitchA-Tunnel4] mpls te tunnel-id 10
[SwitchA-Tunnel4] mpls te path explicit-path pri-path preference 1
# 使能FRR。
[SwitchA-Tunnel4] mpls te fast-reroute
[SwitchA-Tunnel4] mpls te commit
[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
The Maximum Transmit Unit is 64000
Internet Address is 10.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 4.4.4.4
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 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在Switch A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel4
Tunnel Desc : Tunnel4 Interface
Tunnel State Desc : CR-LSP is Up
Tunnel Attributes :
LSP ID : 1.1.1.1:1
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.1 Egress LSR ID: 4.4.4.4
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0/0
Explicit Path Name : pri-path
Tie-Breaking Policy : None
Metric Type : None
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
Oam Status : -
(5) 在作为PLR的Switch B上配置Bypass Tunnel
# 配置Bypass LSP的显式路径。
[SwitchB] explicit-path by-path
[SwitchB-explicit-path-by-path] next hop 3.2.1.2
[SwitchB-explicit-path-by-path] next hop 3.3.1.2
[SwitchB-explicit-path-by-path] next hop 3.3.3.3
[SwitchB-explicit-path-by-path] quit
# 配置Bypass Tunnel。
[SwitchB] interface tunnel 5
[SwitchB-Tunnel5] ip address 11.1.1.1 255.255.255.0
[SwitchB-Tunnel5] tunnel-protocol mpls te
[SwitchB-Tunnel5] destination 3.3.3.3
[SwitchB-Tunnel5] mpls te tunnel-id 15
[SwitchB-Tunnel5] mpls te path explicit-path by-path preference 1
# 配置Bypass Tunnel可保护的带宽。
[SwitchB-Tunnel5] mpls te backup bandwidth 10000
[SwitchB-Tunnel5] mpls te commit
[SwitchB-Tunnel5] quit
# 将Bypass Tunnel绑定到被保护的接口。
[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。
在所有设备上执行display mpls lsp命令,可以看到LSP表项,并且,Switch B和Switch C上有两条LSP经过。
[SwitchA] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 NULL/1024 -/Vlan1
[SwitchB] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 1024/1024 Vlan1/Vlan2
3.3.3.3/32 NULL/1024 -/Vla4
[SwitchC] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 1024/3 Vlan2/Vlan3
3.3.3.3/32 3/NULL Vlan5/-
[SwitchD] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 3/NULL Vlan3/-
[SwitchE] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
3.3.3.3/32 1024/3 Vlan4/Vlan5
在所有设备上执行display mpls te tunnel命令,可以看到隧道的建立情况,Switch B和Switch C上有两条隧道经过。
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 -/Vlan1 Tunnel4
[SwitchB] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 Vlan1/Vlan2 Tunnel4
2.2.2.2:1 3.3.3.3 -/Vlan4 Tunnel5
[SwitchC] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 Vlan2/Vlan3 Tunnel4
2.2.2.2:1 3.3.3.3 Vlan5/- Tunnel5
[SwitchD] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 Vlan3/- Tunnel4
[SwitchE] display mpls te tunnel
LSP-Id Destination In/Out-If Name
2.2.2.2:1 3.3.3.3 Vlan4/Vlan5 Tunnel5
在Switch B上执行display mpls lsp verbose命令,可以看到Bypass隧道绑定到出接口Vlan-interface2,目前未被使用。
[SwitchB] display mpls lsp verbose
-------------------------------------------------------------------
LSP Information: RSVP LSP
-------------------------------------------------------------------
No : 1
IngressLsrID : 1.1.1.1
LocalLspID : 1
Tunnel-Interface : Tunnel4
Fec : 4.4.4.4/32
Nexthop : 3.1.1.2
In-Label : 1024
Out-Label : 1024
In-Interface : Vlan-interface1
Out-Interface : Vlan-interface2
LspIndex : 4097
Tunnel ID : 0x22001
LsrType : Transit
Bypass In Use : Not Used
BypassTunnel : Tunnel Index[Tunnel5], InnerLabel[1024]
Mpls-Mtu : 1500
No : 2
IngressLsrID : 2.2.2.2
LocalLspID : 1
Tunnel-Interface : Tunnel5
Fec : 3.3.3.3/32
Nexthop : 3.2.1.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : Vlan-interface4
LspIndex : 4098
Tunnel ID : 0x22002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
(6) 配置完成后的检验
# 使PLR上被保护的出接口失效。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] shutdown
%Sep 7 08:53:34 2004 SwitchB IFNET/5/UPDOWN:Line protocol on the interface Vlan-interface2 turns into DOWN state
在Switch A上查看主LSP的状态,执行命令display interface tunnel 4,可以看到Tunnel接口仍然处于up状态。
在Switch A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel4
Tunnel Desc : Tunnel4 Interface
Tunnel State Desc : Modifying CR-LSP is setting up
Tunnel Attributes :
LSP ID : 1.1.1.1:1
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.1 Egress LSR ID: 4.4.4.4
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : pri-path
Tie-Breaking Policy : None
Metric Type : None
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
Oam Status : -
Tunnel Name : Tunnel4
Tunnel Desc : Tunnel4 Interface
Tunnel State Desc : Modifying CR-LSP is setting up
Tunnel Attributes :
LSP ID : 1.1.1.1:1025
Session ID : 10
Admin State : Oper State : Modified
Ingress LSR ID : 1.1.1.1 Egress LSR ID: 4.4.4.4
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : pri-path
Tie-Breaking Policy : None
Metric Type : None
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
Oam Status : -
如果在FRR切换后马上执行display mpls te tunnel-interface命令查看隧道接口的详细信息,会看到两条处于up状态的CR-LSP。这是因为FRR采用make-before-break方式建立新的LSP,旧的LSP在新LSP建立成功后过一段时间才被删除。
在Switch B上执行display mpls lsp verbose命令,可以看到Bypass隧道被使用。
[SwitchB] display mpls lsp verbose
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
No : 1
IngressLsrID : 1.1.1.1
LocalLspID : 1
Tunnel-Interface : Tunnel4
Fec : 4.4.4.4/32
Nexthop : 3.1.1.2
In-Label : 1024
Out-Label : 1024
In-Interface : Vlan-interface1
Out-Interface : Vlan-interface2
LspIndex : 4097
Tunnel ID : 0x22001
LsrType : Transit
Bypass In Use : In Use
BypassTunnel : Tunnel Index[Tunnel5], InnerLabel[1024]
Mpls-Mtu : 1500
No : 2
IngressLsrID : 2.2.2.2
LocalLspID : 1
Tunnel-Interface : Tunnel5
Fec : 3.3.3.3/32
Nexthop : 3.2.1.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : Vlan-interface4
LspIndex : 4098
Tunnel ID : 0x22002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
# 在PLR上配置FRR的扫描定时器为5秒。
[SwitchB] mpls
[SwitchB-mpls] mpls te timer fast-reroute 5
[SwitchB-mpls] quit
# 使PLR上被保护的出接口重新生效。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo shutdown
%Sep 7 09:01:31 2004 SwitchB IFNET/5/UPDOWN:Line protocol on the interface Vlan-interface2 turns into UP state
在Switch A上查看主LSP的状态,执行命令display interface tunnel 4,可以看到Tunnel接口处于up状态。
等待约5秒钟后,在Switch B上执行display mpls lsp verbose命令,可以看到Tunnel5仍绑定到出接口Vlan-interface2,未被使用。
(7) 使用静态路由沿MPLS TE隧道转发流量
[SwitchA] ip route-static 4.1.1.2 24 tunnel 4 preference 1
在Switch A上执行display ip routing-table命令,可以看到路由表中有以Tunnel4为出接口的静态路由信息。
l CE 1和CE 2都属于VPN 1,分别通过PE 1和PE 2接入MPLS骨干网。MPLS骨干网使用OSPF作为IGP协议;
l 配置MPLS TE隧道转发PE 1到PE 2的VPN流量;
l 为了使TE隧道能够转发MPLS L3VPN的流量,需要在建立VPN时配置隧道策略,使用CR-LSP作为VPN隧道。
图1-12 在VPN中配置MPLS TE组网图
(1) 配置IGP协议OSPF,使PE 1和PE 2能学习到对方LSR-ID的路由。
# 配置PE 1。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 2.2.2.2 255.255.255.255
[PE1-LoopBack0] quit
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.0.0.1 255.255.255.0
[PE1-Vlan-interface2] quit
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 配置PE2。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.3 255.255.255.255
[PE2-LoopBack0] quit
[PE2] interface vlan-interface 2
[PE2-Vlan-interface2] ip address 10.0.0.2 255.255.255.0
[PE2-Vlan-interface2] quit
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
上述配置完成后,PE之间应能建立OSPF邻居,执行display ospf peer verbose命令可以看到邻居达到FULL状态。执行display ip routing-table命令可以看到PE之间学习到对方的Loopback路由。以PE 1为例:
[PE1] display ospf peer verbose
OSPF Process 1 with Router ID 2.2.2.2
Neighbors
Area 0.0.0.0 interface 10.0.0.1(Vlan-interface2)'s neighbors
Router ID: 3.3.3.3 Address: 10.0.0.2 GR State: Normal
State: Full Mode:Nbr is Master Priority: 1
DR: None BDR: None
Dead timer due in 30 sec
Neighbor is up for 00:01:00
Authentication Sequence: [ 0 ]
[PE1] display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0
3.3.3.3/32 OSPF 10 1563 10.0.0.2 Vlan2
10.0.0.0/24 Direct 0 0 10.0.0.1 Vlan2
10.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
10.0.0.2/32 Direct 0 0 10.0.0.2 Vlan2
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
(2) 配置MPLS TE基本能力,并使能RSVP-TE和CSPF
# 配置PE 1。
[PE1] mpls lsr-id 2.2.2.2
[PE1] mpls
[PE1-mpls] lsp-trigger all
[PE1-mpls] mpls te
[PE1-mpls] mpls rsvp-te
[PE1-mpls] mpls te cspf
[PE1-mpls] quit
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls te
[PE1-Vlan-interface2] mpls rsvp-te
[PE1-Vlan-interface2] quit
# 配置PE2。
[PE2] mpls lsr-id 3.3.3.3
[PE2] mpls
[PE2-mpls] lsp-trigger all
[PE2-mpls] mpls te
[PE2-mpls] mpls rsvp-te
[PE2-mpls] mpls te cspf
[PE2-mpls] quit
[PE2] interface vlan-interface 2
[PE2-Vlan-interface2] mpls
[PE2-Vlan-interface2] mpls te
[PE2-Vlan-interface2] mpls rsvp-te
[PE2-Vlan-interface2] quit
(3) 使能OSPF TE
# 配置PE 1。
[PE1] ospf
[PE1-ospf-1] opaque-capability enable
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] mpls-te enable
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 配置PE 2。
[PE2] ospf
[PE2-ospf-1] opaque-capability enable
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] mpls-te enable
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(4) 配置MPLS TE隧道
# 以PE 1为首端创建一条TE隧道,尾端为PE 2,信令协议为RSVP-TE。
[PE1] interface tunnel 1
[PE1-Tunnel1] ip address 12.1.1.1 255.255.255.0
[PE1-Tunnel1] tunnel-protocol mpls te
[PE1-Tunnel1] destination 3.3.3.3
[PE1-Tunnel1] mpls te tunnel-id 10
[PE1-Tunnel1] mpls te signal-protocol rsvp-te
[PE1-Tunnel1] mpls te commit
[PE1-Tunnel1] quit
上述配置完成后,在PE 1上执行display interface tunnel命令可以看到隧道接口状态为up。
(5) 在PE设备上配置VPN实例,并绑定到连接CE的接口上
# 配置CE 1。
<CE1> system-view
[CE1] interface vlan-interface 1
[CE1-Vlan-interface1] ip address 192.168.1.2 255.255.255.0
[CE1-Vlan-interface1] quit
# 在PE 1上配置VPN实例,使用CR-LSP建立VPN,并将此实例绑定到连接CE 1的接口。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 100:1
[PE1-vpn-instance-vpn1] vpn-target 100:1 both
[PE1-vpn-instance-vpn1] tnl-policy policy1
[PE1-vpn-instance-vpn1] quit
[PE1] tunnel-policy policy1
[PE1-tunnel-policy-policy1] tunnel select-seq cr-lsp load-balance-number 1
[PE1-tunnel-policy-policy1] quit
[PE1] interface vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpn1
[PE1-Vlan-interface1] ip address 192.168.1.1 255.255.255.0
[PE1-Vlan-interface1] quit
# 配置CE 2。
<CE2> system-view
[CE2] interface vlan-interface 3
[CE2-Vlan-interface3] ip address 192.168.2.2 255.255.255.0
[CE2-Vlan-interface3] quit
# 在PE 2上配置VPN实例,并将此实例绑定到连接CE 2的接口。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 100:2
[PE2-vpn-instance-vpn1] vpn-target 100:1 both
[PE2-vpn-instance-vpn1] quit
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip binding vpn-instance vpn1
[PE2-Vlan-interface3] ip address 192.168.2.1 255.255.255.0
[PE2-Vlan-interface3] quit
上述配置完成后,在PE设备上执行display ip vpn-instance命令可以看到VPN实例的配置情况。
以PE 1为例:
[PE1] display ip vpn-instance instance-name vpn1
VPN-Instance Name and ID : vpn1, 1
Create time : 2006/09/27 15:10:29
Up time : 0 days, 00 hours, 03 minutes and 09 seconds
Route Distinguisher : 100:1
Export VPN Targets : 100:1
Import VPN Targets : 100:1
Tunnel Policy : policy1
Interfaces : Vlan-interface1
各PE能ping通自己接入的CE。
以PE 1和CE 1为例:
[PE1] ping -vpn-instance vpn1 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=255 time=47 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=255 time=26 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=255 time=26 ms
Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=255 time=26 ms
Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=255 time=26 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 26/30/47 ms
(6) 配置BGP
# 配置CE 1。
[CE1] bgp 65001
[CE1-bgp] peer 192.168.1.1 as-number 100
[CE1-bgp] quit
# 配置PE 1:与CE 1建立EBGP对等体,与PE 2建立IBGP对等体。
[PE1] bgp 100
[PE1-bgp] ipv4-family vpn-instance vpn1
[PE1-bgp-vpn1] peer 192.168.1.2 as-number 65001
[PE1-bgp-vpn1] import-route direct
[PE1 -bgp-vpn1] quit
[PE1-bgp] peer 3.3.3.3 as-number 100
[PE1-bgp] peer 3.3.3.3 connect-interface loopback 0
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 3.3.3.3 enable
[PE1-bgp-af-vpnv4] quit
[PE1-bgp] quit
# 配置CE 2。
[CE2] bgp 65002
[CE2-bgp] peer 192.168.2.1 as-number 100
[CE2-bgp] quit
# 配置PE 2:与CE 2建立EBGP对等体,与PE 1建立IBGP对等体。
[PE2] bgp 100
[PE2-bgp] ipv4-family vpn-instance vpn1
[PE2-bgp-vpn1] peer 192.168.2.2 as-number 65002
[PE2-bgp-vpn1] import-route direct
[PE2-bgp-vpn1] quit
[PE2-bgp] peer 2.2.2.2 as-number 100
[PE2-bgp] peer 2.2.2.2 connect-interface loopback 0
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 2.2.2.2 enable
[PE2-bgp-af-vpnv4] quit
[PE2-bgp] quit
上述配置完成后,在PE设备上执行display bgp peer命令和display bgp vpn-instance peer命令,可以看到PE之间、PE与CE之间的BGP对等体关系都已建立,并达到Established状态。
以PE 1为例:
[PE1-bgp] display bgp peer
BGP local router ID : 2.2.2.2
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
3.3.3.3 4 100 3 3 0 00:00:11 Established 0
[PE1-bgp] display bgp vpn-instance vpn1 peer
BGP local router ID : 2.2.2.2
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
192.168.1.2 4 65001 4 5 0 00:02:13 Established 0
CE 1和CE 2之间能够互相ping通。
[CE1] ping 192.168.2.2
PING 192.168.2.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.2.2: bytes=56 Sequence=1 ttl=253 time=61 ms
Reply from 192.168.2.2: bytes=56 Sequence=2 ttl=253 time=54 ms
Reply from 192.168.2.2: bytes=56 Sequence=3 ttl=253 time=53 ms
Reply from 192.168.2.2: bytes=56 Sequence=4 ttl=253 time=57 ms
Reply from 192.168.2.2: bytes=56 Sequence=5 ttl=253 time=36 ms
--- 192.168.2.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 36/52/61 ms
[CE2] ping 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=253 time=38 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=253 time=61 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=253 time=74 ms
Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=253 time=36 ms
Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=253 time=35 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 35/48/74 ms
(7) 配置完成后的检验
在PE 1上执行display mpls lsp verbose命令,可以确认LspIndex为2050的是使用RSVP-TE建立的LSP,即MPLS TE隧道。
[PE1] display mpls lsp verbose
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
No : 1
IngressLsrID : 2.2.2.2
LocalLspID : 1
Tunnel-Interface : Tunnel1
Fec : 3.3.3.3/32
Nexthop : 10.0.0.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : Vlan-interface2
LspIndex : 2050
Tunnel ID : 0x22004
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
------------------------------------------------------------------
LSP Information: BGP LSP
------------------------------------------------------------------
No : 2
VrfIndex : vpn1
Fec : 192.168.1.0/24
Nexthop : 192.168.1.1
In-Label : 1024
Out-Label : NULL
In-Interface : ----------
Out-Interface : ----------
LspIndex : 8193
Tunnel ID : 0x0
LsrType : Egress
Outgoing Tunnel ID : 0x0
Label Operation : POP
------------------------------------------------------------------
LSP Information: LDP LSP
------------------------------------------------------------------
No : 3
VrfIndex :
Fec : 2.2.2.2/32
Nexthop : 127.0.0.1
In-Label : 3
Out-Label : NULL
In-Interface : Vlan-interface2
Out-Interface : ----------
LspIndex : 10241
Tunnel ID : 0x0
LsrType : Egress
Outgoing Tunnel ID : 0x0
Label Operation : POP
No : 4
VrfIndex :
Fec : 3.3.3.3/32
Nexthop : 10.0.0.2
In-Label : NULL
Out-Label : 3
In-Interface : ----------
Out-Interface : Vlan-interface2
LspIndex : 10242
Tunnel ID : 0x22000
LsrType : Ingress
Outgoing Tunnel ID : 0x0
Label Operation : PUSH
在PE 1上执行display interface tunnel命令可以看到流量通过TE隧道CR-LSP转发。
[PE1] display interface tunnel 1
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 1500
Internet Address is 12.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 3.3.3.3
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 300 seconds input: 5 bytes/sec, 0 packets/sec
Last 300 seconds output: 5 bytes/sec, 0 packets/sec
34 packets input, 2856 bytes
0 input error
34 packets output, 2856 bytes
0 output error
配置OSPF TE,无法产生描述MPLS TE信息的TE LSA。
至少有一个OSPF邻居达到FULL状态时,才可能产生TE LSA。
l 执行display current-configuration命令,检查是否在相关接口上配置了MPLS TE;
l 执行debugging ospf mpls-te命令打开OSPF TE的调试开关,检查OSPF是否收到建立TE LINK的消息;
l 执行display ospf peer命令,检查OSPF邻居是否正常建立。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!