02-MPLS TE配置
本章节下载: 02-MPLS TE配置 (1.01 MB)
目 录
1.14.4 配置MPLS TE隧道的周期性LSP Tracert功能
1.17.1 使用静态CR-LSP配置MPLS TE隧道示例
1.17.3 使用RSVP-TE配置跨域的MPLS TE隧道示例
1.17.8 配置IETF DS-TE模式MPLS TE隧道示例
1.17.9 配置MPLS LDP over MPLS TE示例
1.17.10 配置MPLS L3VPN中的MPLS TE示例
本文中的“SPC单板”指的是单板丝印以“SPC”开头(如SPC-GT48L)的单板,“SPE单板”指的是单板丝印以“SPE”开头(如SPE-1020-E-II)的单板。
(1) 流量工程的作用
网络拥塞是影响骨干网络性能的主要问题。拥塞的原因可能是网络资源不足,也可能网络资源负载不均衡导致的局部拥塞。TE(Traffic Engineering,流量工程)解决的是由于负载不均衡导致的拥塞。
流量工程通过实时监控网络的流量和网络单元的负载,动态调整流量管理参数、路由参数和资源约束参数等,使网络运行状态迁移到理想状态,优化网络资源的使用,避免负载不均衡导致的拥塞。
总的来说,流量工程的性能指标包括两个方面:
· 面向业务的性能指标:增强业务的QoS(Quality of Service,服务质量)性能,例如对分组丢失、时延、吞吐量以及SLA(Service Level Agreement,服务等级协定)的影响。
· 面向资源的性能指标:优化资源利用。带宽是一种重要的资源,对带宽资源进行高效管理是流量工程的一项中心任务。
(2) 流量工程的解决方案
现有的IGP协议都是拓扑驱动的,只考虑网络的连接情况,不能灵活反映带宽和流量特性这类动态状况。
解决IGP上述缺点的方法之一是使用重叠模型(Overlay),如IP over ATM、IP over FR等。重叠模型在网络的物理拓扑结构之上提供了一个虚拟拓扑结构,从而扩展了网络设计的空间,为支持流量与资源控制提供了许多重要功能,可以实现多种流量工程策略。然而,由于协议之间往往存在很大差异,重叠模型在可扩展性方面存在不足。
为了在大型骨干网络中部署流量工程,必须采用一种可扩展性好、简单的解决方案。MPLS TE就是为这一需求而提出的。
MPLS本身具有一些不同于IGP的特性,其中就有实现流量工程所需要的,例如:
· MPLS支持显式LSP路由;
· LSP较传统单个IP分组转发更便于管理和维护;
· 基于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主要实现两类功能:
· 静态CR-LSP(Constraint-based Routed Label Switched Paths,基于约束路由的LSP)的处理:创建和删除静态CR-LSP。静态CR-LSP的带宽需要手工指定。
· 动态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有两个输入条件:
· 需要建立的LSP的带宽、着色、建立/保持优先级、显式路径等约束条件,这些都在LSP的入口处配置;
· 流量工程数据库TEDB。
CSPF的计算过程就是针对LSP要求,先对TEDB中的链路进行剪切,把不满足TE属性要求的链路剪掉;再采用SPF算法,寻找一条到LSP egress节点的满足TE属性要求的最短路径。
RSVP-TE作为建立LSP隧道的信令,它能够携带LSP的带宽、部分显式路由、着色等约束参数。
RSVP-TE通过Raw IP建立LSP连接,RSVP技术经历了多年的发展,其体系结构、协议规程与对各种业务的支持机制相对比较成熟。
使用建立的隧道转发报文。
基于一定约束条件建立的LSP称为CR-LSP,与普通LSP不同,CR-LSP的建立不仅依赖路由信息,还需要满足其他一些条件,比如指定的带宽、选定的路径或QoS参数。
建立和管理约束条件的机制称为CR(Constraint-based Routing,基于约束的路由)。
下面对CR的主要内容进行简单介绍。
· 如果约束信息是对沿途LSR的精确指定,建立的LSP称为严格的显式路由(Strict Explicit Route);
· 如果约束信息是对选择下游LSR时的模糊限制,建立的LSP称为松散的显式路由(Loose Explicit Route)。
路径的流量参数有三个:峰值速率(peak rate)和承诺速率(committed rate),描述路径本身对带宽的约束;另外一个是服务粒度(service granularity)。
如果在建立CR-LSP的过程中,无法找到满足所需带宽要求的路径,一种解决方法是拆除另外一条已经建立的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具有以下几个主要特点:
· 单向;
· 面向接收者,由接收者发起对资源预留的请求,并维护资源预留信息;
· 使用“软状态”(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。
目前设备支持以下两种预留类型:
· FF(Fixed-Filter,固定过滤器):为每个发送者单独预留资源,不能与同一会话中其他发送者共享资源。
· SE(Shared-Explicit,共享显式):为同一个会话的发送者建立一个预留,可以共享资源。
由于目前同一会话不能同时存在多条LSP,SE资源预留方式主要用于中断前建立(make-before-break)。
make-before-break是指一种可以在尽可能不丢失数据,也不占用额外带宽的前提下改变MPLS TE隧道属性的机制。
如果改变MPLS TE隧道的关键属性,即隧道目的地、优先级、CT级别和协议类型,设备会先删除再重建该MPLS TE隧道,在这个过程中make-before-break机制无效。
在图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使用以下消息类型:
· Path消息:由发送者沿数据报文传输的方向向下游发送,在沿途所有节点上保存路径状态(path state)。
· Resv消息:由接收者沿数据报文传输的方向逆向发送,在沿途所有节点上进行资源预留,并创建和维护预留状态(reservation state)。
· PathTear消息:由发送者或中间节点向下游发送,用来删除沿途节点的路径状态和相关的预留状态。
· ResvTear消息:由接收者或中间节点向上游发送,用来删除沿途节点的预留状态。
· PathErr消息:如果接收者或中间节点在处理Path消息的过程中发生了错误,就会向上游发送PathErr消息,PathErr消息不影响沿途节点的状态,只是把错误报告给发送者。
· ResvErr消息:如果发送者或中间节点在处理Resv消息的过程中发生了错误,或者由于抢占导致预留被破坏,就会向下游节点发送ResvErr消息。
· ResvConf消息:该消息发往接收者,用于对预留消息进行确认。
· Hello消息:在两个直连的RSVP邻居之间建立和维持链路局部的邻居关系。
RSVP的TE扩展主要是在其Path消息和Resv消息中增加新的对象,新增对象除了可以携带标签绑定信息外,还可以携带对LSR在沿途寻找路径时的限制信息,从而支持CR-LSP的功能,并支持FRR。
· Path消息新增的对象包括:LABEL_REQUEST、EXPLICIT_ROUTE、RECORD_ROUTE和SESSION_ATTRIBUTE。
· 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功能依赖于RSVP-TE的Hello扩展能力,因此在配置(Graceful Restart,平滑重启)功能是指在信令协议或控制平面出现异常时,保留软状态信息和转发表项信息,以保证数据转发不中断。
参与RSVP-TE GR功能之前必须使能RSVP-TE的Hello扩展过程的设备分为以下两种:
· GR Restarter:GR重启路由器,指由管理员手工或设备故障触发而重启协议的设备,它必须具备GR能力。
· GR Helper:GR Restarter的邻居,与重启的GR Restarter保持邻居关系,并协助其恢复重启前的转发状态,它也必须具备GR能力。
RSVP-TE协议通过扩展的RSVP Hello报文向自己的 GR依赖于RSVP-TE的Hello扩展能力,通过扩展的RSVP Hello报文向邻居通告自己的GR能力和相关时间参数。设备和邻居如果都具备RSVP GR能力,那么在完成GR参数的交互后,就可以在检测到对方发生GR重启时,充当对方的GR Helper,保证在GR Restarter重启的过程中,数据转发不会中断。
当GR Restarter发生重启时,GR Helper邻居由于连续3个周期内接收不到邻居发送的Hello报文,判定邻居发生GR重启。此时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路由配置指导”中的“静态路由”。
自动路由发布会将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和转发邻接的区别在于:
· 在IGP Shortcut应用中,使能此特性的设备使用TE Tunnel作为出接口,但它不将这条路由发布给邻居设备,因此,其他设备不能使用此TE Tunnel。
· 如果配置了转发邻接,则使能此特性的设备在使用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接口上的配置需要注意:
· Tunnel接口的目的地址应该属于使能相应特性的区域内;
· Tunnel接口的目的地址可通过区域内路由到达。
CR-LSP备份是一种端到端的路径保护(Path Protection,end-to-end protection),对整条LSP提供保护,而FRR则是一种局部保护措施,只能保护LSP中的某条链路和某个节点。并且,FRR是一种快速响应的临时性保护措施,对于切换时间有严格要求,LSP备份则没有时间要求。
同一条隧道下对主LSP进行路径备份的LSP称为备份路径。当Ingress感知到主LSP不可用时,将流量切换到备份路径上,当主LSP路径恢复后再将流量切换回来,以实现对主LSP路径的备份保护。
有两种备份方法:
· 热备份:创建主CR-LSP后随即创建备份CR-LSP。主CR-LSP失效时,通过MPLS TE直接将业务切换至备份CR-LSP。
· 普通备份:指主CR-LSP失效后创建备份CR-LSP。
FRR(Fast Reroute,快速重路由),是MPLS TE中实现网络局部保护的技术。FRR的切换速度可以达到50ms,能够最大程度减少网络故障时数据的丢失。
对LSP配置FRR功能后,当LSP上的某条链路或某个节点失效时,流量会被切换到保护链路上,同时LSP头节点尝试建立新的LSP。
下面介绍FRR中的几个概念:
· 主LSP:被保护的LSP。
· Bypass LSP:旁路LSP,保护主LSP的LSP。
· PLR(Point of Local Repair,本地修复节点):Bypass LSP的头节点,必须在主LSP的路径上,并且不能是主LSP的尾节点。
· MP(Merge Point,汇聚点):Bypass LSP的尾节点,必须在主LSP的路径上,并且不能是主LSP的头节点。
根据保护的对象不同,FRR分为两类:
· 链路保护: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链路保护示意图
· 节点保护: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隧道需要预先建立,快速重路由会占用额外的带宽。在网络带宽余量不多的情况下,只能对关键的接口或链路进行快速重路由保护。
Diff-Serv作为一种QoS解决方案,其主要实现机制是对流量按照服务类型CoS(Class of Service,服务类型)进行划分,基于服务类型提供不同的QoS保证。而MPLS TE作为流量工程解决方案,主要用于对网络资源的使用进行优化。
DiffServ-Aware TE,简称DS-TE,结合上述两者的优势,能够基于按服务类型划分的流量进行网络资源优化,即对不同的服务类型进行不同的带宽约束。概括来说,DS-TE将不同服务类型的流量与LSP进行映射,使流量经过的路径符合对其服务类型的流量工程约束条件。
目前,设备支持两种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,则传输该流量的LSP隧道的建立优先级或保持优先级必须是该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模式为自定义模式,无法与所有厂商设备互通;IETF模式为根据RFC标准实现的模式,可以与其他厂商设备互通。
根据流量的服务类型建立MPLS TE隧道的过程如下:
(1) 判断流量所属的CT
设备上根据配置实现不同业务流量的分类:
· 对于动态建立的MPLS TE隧道,在隧道接口下执行mpls te bandwidth命令,可以配置通过该隧道接口的流量所属的CT。
· 对于静态建立的MPLS TE隧道,配置静态隧道时,可以通过bandwidth参数指定通过该静态隧道转发的流量所属的CT。
(2) 检查CT对应的BC中是否存在足够的带宽
用户可以在MPLS TE隧道接口下通过mpls te max-reservable-bandwidth命令,配置该接口的带宽限制。设备根据流量所属的CT及接口的带宽限制,判断是否存在足够的带宽为该流量建立MPLS TE隧道。
不同带宽约束模型下,BC与CT的关系不同:
· RDM:限制多种服务类型流量(CT)的共用带宽,允许多种CT间共享使用带宽,而不是限制某一种CT的带宽。与抢占优先级配合也能够实现CT间的带宽隔离。如图1-6所示,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-6 RDM带宽约束模型示意图
· MAM:限制某一CT在接口上占用的带宽总和,即隔离CT之间的带宽使用。如图1-7所示,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-7 MAM带宽约束模型示意图
(3) 检查流量是否与已经存在的TE class匹配
根据服务类型建立MPLS TE隧道时,还需要检查流量所属的CT及LSP的建立优先级/保持优先级是否与已经存在的TE class匹配。要想为该流量建立隧道,必须同时满足下面两个条件:
· 隧道经过的节点上都存在与流量所属CT、LSP建立优先级匹配的TE class;
· 隧道经过的节点上都存在与流量所属CT、LSP保持优先级匹配的TE class。
Prestandard模式下不可以通过配置改变TE class;IETF模式下可以通过配置改变TE class。
如图1-8所示,分层网络中,一般只在核心层部署MPLS TE,汇聚层MPLS网络一般采用LDP作为标签分发信令,不会部署MPLS TE。汇聚层网络上的LDP LSP隧道穿越核心层网络时,需要在核心层的相邻LSR之间建立LDP本地会话,从而建立穿越核心层的LDP LSP。
为了简化配置,汇聚层网络上的LDP LSP穿越核心层网络时,可以利用核心层已经建立的MPLS TE隧道,即在MPLS TE隧道之上承载LDP LSP。如图1-9所示,采用这种方式建立LDP LSP时,不需要在核心层的相邻LSR之间建立LDP本地会话,只需要在MPLS TE隧道的头节点和尾节点之间建立LDP远端会话,通过远端会话发送Label Mapping消息,从而在MPLS TE隧道的头节点和尾节点之间建立LDP LSP,这条LDP LSP隧道承载于MPLS TE隧道之上,形成了分层LSP。
· 缺省情况下,LDP不会通过远端会话通告基于地址前缀的标签映射消息,需要通过prefix-label advertise命令配置LDP通过远端会话通告基于地址前缀的标签。prefix-label advertise命令的详细介绍请参见“MPLS命令参考”中的“MPLS基础”。
· 只有SPE单板支持MPLS LDP over MPLS TE。
· MPLS LDP over MPLS TE组网中MPLS TE的MTU不生效。
与MPLS TE相关的协议规范有:
· RFC 2702:Requirements for Traffic Engineering Over MPLS
· RFC 3212:Constraint-Based LSP Setup using LDP
· RFC 2205:Resource ReSerVation Protocol
· RFC 3209:RSVP-TE: Extensions to RSVP for LSP Tunnels
· RFC 2961:RSVP Refresh Overhead Reduction Extensions
· RFC 3564:Requirements for Support of Differentiated Service-aware MPLS Traffic Engineering
· ITU-T Recommendation Y.1720:Protection switching for MPLS networks
PS(Protection Switching,保护倒换)是为主Tunnel建立相应的保护Tunnel(备用Tunnel)。主Tunnel和保护Tunnel构成一个保护组。在主Tunnel发生缺陷时,数据流能迅速的倒换到保护Tunnel,从而大大提高网络的可靠性。当主Tunnel恢复无缺陷时,还可以将数据流从保护Tunnel回切到主Tunnel。
保护倒换有以下几种方式:
· 1:1保护倒换:在Tunnel的头节点和尾节点之间提供主备两条Tunnel。正常情况下,数据在主Tunnel上传输;当头节点通过检测机制发现主Tunnel发生缺陷,需要进行保护倒换时,将数据切换到备Tunnel上继续传输。
· 1+1保护倒换:在Tunnel的头节点和尾节点之间提供主备两条Tunnel。正常情况下,数据在主Tunnel、备Tunnel上都传输,尾节点选择接收主Tunnel或者备Tunnel的数据;通过检测机制发现其中一条Tunnel发生缺陷时,在头节点进行保护倒换,这时尾节点只能接收另一条隧道的流量。
目前设备仅支持1:1保护倒换。
触发保护倒换的方式有如下几种:
(1) 外部倒换是指通过手工配置的命令触发的保护倒换。外部倒换的优先级由高到低为:
· 清除倒换(Clear):清除所有的外部倒换命令。
· 锁定倒换(Lockout of Protection):数据流锁定在主LSP上传输。
· 强制倒换(Forced Switch):强制数据流在备份LSP上传输。
· 手工倒换(Manual Switch):手动将数据流从主LSP倒换到备LSP上传输。
(2) 信令倒换(Signal Fail)是指通过协议信令触发的保护倒换。可以触发保护倒换的信令包括BFD检测MPLS-TE隧道功能。
外部倒换命令及信令倒换优先级从高到低依次为:
· 清除倒换
· 锁定倒换
· 备份LSP的信令倒换
· 强制倒换
· 主LSP的信令倒换
· 信令清除倒换
· 手工倒换
只有在手工输入的外部倒换命令比当前启用的倒换命令优先级高的情况下,外部倒换才会生效。设备上已经配置了外部倒换命令时,若要将其修改为低优先级的外部倒换命令,则需要先配置清除倒换(Clear)命令,再配置低优先级的外部倒换命令。
保护组内主备Tunnel的路径切换方式分为以下几种:
· 单向路径切换:进行保护倒换时,只在头节点进行倒换操作,不会通知尾节点进行相应的倒换操作。
· 双向路径切换:在头节点或者尾节点进行保护倒换时,通过协议报文通知另一端节点进行保护倒换操作。只有双向隧道的保护组才支持双向路径切换。
目前设备仅支持单向路径切换。
表1-1 MPLS TE配置任务简介
配置任务 |
说明 |
详细配置 |
||
配置MPLS TE基本能力 |
必选 |
|||
配置DiffServ-Aware TE |
可选 |
|||
配置MPLS TE隧道 |
使用静态CR-LSP配置MPLS TE隧道 |
二者必选其一 |
||
使用动态信令协议配置MPLS TE隧道 |
||||
配置RSVP-TE高级特性 |
可选 |
|||
调整CR-LSP的建立 |
可选 |
|||
调整MPLS TE隧道的建立 |
可选 |
|||
配置流量转发 |
使用静态路由沿MPLS TE隧道转发流量 |
两者必选其一 |
||
使用自动路由发布沿MPLS TE隧道转发流量 |
||||
配置影响流量转发的参数 |
可选 |
|||
配置CR-LSP备份 |
可选 |
|||
配置MPLS TE快速重路由 |
可选 |
|||
检测MPLS TE隧道 |
可选 |
|||
配置保护倒换功能 |
可选 |
|||
MPLS TE基本能力的配置任务包括各种MPLS TE特性配置中都涉及的基本配置,仅完成本节的配置并不能使用MPLS TE特性,还需要根据更具体的要求进行进一步的配置。
在配置MPLS TE的基本能力之前,需要完成以下任务:
· 配置静态路由或IGP协议保证各LSR之间可达
· 配置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业务配置指导”中的“隧道”。
表1-3 配置DiffServ-Aware TE
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置DS-TE模式为IETF模式 |
mpls te ds-te mode ietf |
可选 缺省情况下,DS-TE模式为Prestandard模式 |
配置IETF DS-TE模式下的带宽约束模型为MAM |
mpls te ds-te ietf bc-mode mam |
可选 缺省情况下,IETF DS-TE模式的带宽约束模型为RDM |
配置IETF DS-TE模式下TE class与服务类型、优先级的对应关系,即TE class map |
mpls te ds-te ietf te-class te-class-index class-type class-type-number priority pri-number |
可选 缺省情况下,IETF模式的TE class map如表1-4所示 |
表1-4 IETF模式的缺省TE class map
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 |
使用静态CR-LSP建立MPLS TE隧道的过程非常简单,不需要配置隧道的约束条件,也不涉及IGP TE扩展或CSPF。只需要建立一条静态CR-LSP和使用静态信令的TE隧道,并将二者关联起来即可。
静态CR-LSP建立的TE隧道不能根据网络的变化动态调整,因此实际应用非常有限。
静态CR-LSP作为一种特殊的静态LSP,其配置限制条件与静态LSP相同,使用相同的标签空间。
在使用静态CR-LSP建立MPLS TE隧道之前,需完成以下任务:
· 配置静态路由或IGP协议保证各LSR之间可达
· 配置MPLS基本能力
· 配置MPLS TE基本能力
表1-5 使用静态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 } out-label out-label-value [ bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth-value ] |
必选 三者选择其一 |
为Transit节点配置静态CR-LSP |
static-cr-lsp transit tunnel-name incoming-interface interface-type interface-number in-label in-label-value { nexthop next-hop-addr | outgoing-interface interface-type interface-number } out-label out-label-value [ bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth-value ] |
||
为Egress节点配置静态CR-LSP |
static-cr-lsp egress tunnel-name incoming-interface interface-type interface-number in-label in-label-value [ lsrid ingress-lsr-id tunnel-id tunnel-id ] [ bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth-value ] |
· 配置Ingress和Transit时,下一跳地址不能为本地的公网地址。
· 如果设备支持MPLS OAM功能,则配置尾节点时必须配置头节点ID和隧道ID。
· 静态CR-LSP的出接口和入接口只能是P2P类型的接口。对于P2P类型的ATM子接口,静态CR-LSP的出接口和入接口只能是配置了IPoA映射(map ip命令)的ATM子接口。
动态信令协议可以根据网络的动态变化调整TE隧道的路径,并能够应用备份、快速重路由等高级特性。
使用动态信令协议建立MPLS TE隧道的过程可以简要描述为以下几个部分:
· 配置链路的MPLS TE属性,并通过IGP的TE扩展发布,形成TEDB;
· 配置隧道的约束条件;
· 使用CSPF算法,通过TEDB和隧道约束条件计算出符合要求的路径;
· 利用动态信令协议RSVP-TE建立路径。
如果不配置IGP的TE扩展,网络中就不会有TE LSA,不能形成TEDB。这种情况下生成的CR-LSP是由IGP路由得到的,而不是CSPF计算出来的。
在使用动态信令协议建立MPLS TE隧道之前,需完成以下任务:
· 配置静态路由或IGP协议保证各LSR之间可达
· 配置MPLS基本能力
· 配置MPLS TE基本能力
表1-6 使用动态信令协议配置MPLS TE隧道过程
配置任务 |
说明 |
详细配置 |
配置链路的MPLS TE属性 |
可选 |
|
配置CSPF |
可选 |
|
配置OSPF TE |
配置CSPF后,二者必选其一 根据IGP协议的类型选择 |
|
配置IS-IS TE |
||
配置MPLS TE显式路径 |
可选 |
|
配置MPLS TE隧道的约束条件 |
可选 |
|
使用RSVP-TE建立MPLS TE隧道 |
可选 |
链路的TE属性将通过IGP的TE扩展发布到网络中,形成TEDB。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
配置链路最大带宽 |
mpls te max-link-bandwidth bandwidth-value |
可选 缺省情况下,链路的最大带宽为0 |
配置Prestandard模式RDM带宽约束模型BC 0和BC 1的最大可预留带宽 |
mpls te max-reservable-bandwidth bandwidth-value [ bc1 bc1-bandwidth ] |
可选 缺省情况下,BC 0和BC 1的最大可预留带宽为0 在RDM模型中,BC 0即为链路的最大可预留带宽 |
配置IETF模式MAM带宽约束模型的MPLS TE链路最大可预留带宽及各BC的最大可预留带宽 |
mpls te max-reservable-bandwidth mam bandwidth-value { bc0 bc0-bandwidth | bc1 bc1-bandwidth | bc2 bc2-bandwidth | bc3 bc3-bandwidth } * |
可选 缺省情况下,BC 0、BC 1、BC 2、BC 3和链路的最大可预留带宽均为0 |
配置IETF模式RDM带宽约束模型各BC的最大可预留带宽 |
mpls te max-reservable-bandwidth rdm bandwidth-value [ bc1 bc1-bandwidth ] [ bc2 bc2-bandwidth ] [ bc3 bc3-bandwidth ] |
可选 缺省情况下,BC 0、BC 1、BC 2和BC 3的最大可预留带宽均为0 在RDM模型中,BC 0即为链路的最大可预留带宽 |
使能本节点的CSPF功能后,本节点将采用CSPF算法计算满足TE属性要求的最短路径。
表1-8 配置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 |
- |
· 有关OSPF Opaque能力的介绍请参见“三层技术-IP路由配置指导”中的“OSPF”。
· 由于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。
· RFC 3784规定,在某些情况下IS可达性TLV(22)的长度将会达到其最大长度255个字节。
· 为了使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-10 配置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功能 |
配置携带DS-TE参数的子TLV的TLV类型 |
te-set-subtlv { bw-constraint value | lo-multiplier value | unreserved-bw-sub-pool value } |
可选 缺省情况下,bw-constraint(带宽约束)的子TLV为252;lo-multiplier(本地过预订倍数)的子TLV为253;unreserved-bw-sub-pool(子池未预订带宽)的子TLV为251 |
· 有关IS-IS的介绍请参见“三层技术-IP路由配置指导”中的“IS-IS”。
· IS-IS TE不支持发布从IP地址功能。在配置了多个IP地址的接口上使能IS-IS TE后,IS-IS TE在其LSP的IS可达性TLV(22)中只发布该接口的主IP地址。建议避免在配置了从IP地址的接口上配置IS-IS TE特性。
显式路径由一系列节点构成,一条显式路径上的两个相邻节点之间存在两种关系:
· 严格下一跳(strict):两个节点必须直接相连;
· 松散下一跳(loose):两个节点之间可以存在其他设备。
在向显式路径中增加或修改节点时,参数include表示建立的LSP必须经过指定节点;参数exclude表示建立的LSP不能经过指定节点。
表1-11 配置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-12 配置MPLS TE隧道的约束条件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置隧道使用的带宽,并指定隧道流量所属的服务类型 |
mpls te bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth |
可选 缺省情况下,未配置MPLS TE隧道所需的带宽,即带宽为0,隧道流量属于CT0 |
配置隧道应用的路径及路径的优先级 |
mpls te path { dynamic | explicit-path pathname } preference value |
可选 缺省情况下,隧道应用动态自动计算的路径 |
提交隧道当前配置 |
mpls te commit |
必选 |
表1-13 使用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高级特性之前,需完成以下任务:
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 使用RSVP-TE建立MPLS TE隧道
表1-14 配置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-15 配置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-16 配置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-17 配置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-18 配置RSVP-TE预留确认
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS 视图 |
mpls |
- |
使能节点的预留确认机制 |
mpls rsvp-te resvconfirm |
必选 缺省情况下,节点上不使能预留确认机制 |
· 预留确认机制由接收者发起,接收者在发送Resv消息时,携带一个要求对预留进行确认的对象。
· 收到ResvConf消息并不表示成功建立了资源预留,只能说明在此Resv消息到达的最远上游节点处成功保留了资源,这些资源接下来仍可能被其它应用抢占。
为防止伪造的资源预留请求非法占用网络资源,RSVP采用逐跳验证机制。
一条链路两端的接口需要配置相同的验证密钥,只有这样,它们才可以交换RSVP消息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
使能RSVP验证功能 |
mpls rsvp-te authentication { cipher | plain } auth-key |
必选 缺省情况下,禁止RSVP验证功能 |
建议不要在同一个接口同时配置快速重路由功能和RSVP验证功能。
DSCP(Differentiated Services Code point,差分服务编码点)携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定发送的RSVP报文中携带的DSCP优先级的取值。
表1-20 配置发送的RSVP报文的DSCP优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置发送的RSVP报文的DSCP优先级 |
mpls rsvp-te dscp dscp-value |
必选 缺省情况下,发送的RSVP报文的DSCP优先级为48 |
RSVP-TE GR功能依赖于RSVP-TE的Hello扩展能力,因此在配置RSVP-TE GR功能之前必须使能RSVP-TE的Hello扩展能力。
在GR设备上进行以下配置。
表1-21 配置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扩展 |
在MPLS TE网络中,LSR邻居之间的链路发生故障将导致MPLS TE转发报文失败,而MPLS TE本身无法快速检测到链路故障。通过在RSVP-TE隧道内的两个对等体上分别配置RSVP-TE与BFD(Bidirectional Forwarding Detection,双向转发检测)联动,可以快速地感知对等体之间链路的故障,确保链路出现故障时将业务从主路径切换到备份路径上。
表1-22 配置RSVP-TE与BFD联动
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入已使能MPLS RSVP-TE的接口视图 |
interface interface-type interface-number |
- |
配置RSVP-TE与BFD联动 |
mpls rsvp-te bfd enable |
必选 缺省情况下,已使能RSVP-TE的接口下未使能BFD提供的链路检测功能 |
CSPF使用TEDB和约束条件计算出符合要求的路径,并通过信令协议建立CR-LSP。MPLS TE提供多种方式影响CSPF的计算,从而调整CR-LSP的建立。
本节的配置需要与CSPF、动态信令协议(RSVP-TE)配合使用。
本节介绍的配置任务是MPLS TE中CSPF的一些专门配置,在实施本节的配置任务之前,需要明确理解这些配置对系统可能造成的影响。
CSPF只计算到达隧道终点的最短路径,当在计算路径的过程中遇到多条权值相同的路径时,只需要选择其中一条就可以了。
可供选择的仲裁(tie-breaking)方法包括优先选择带宽使用率(已用带宽/链路最大可预留带宽)最小的路径、带宽使用率(已用带宽/链路最大可预留带宽)最大的路径、或随机选择路径。
表1-23 配置CSPF的仲裁方法
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS视图 |
mpls |
- |
配置本节点的CR-LSP仲裁方法 |
mpls te tie-breaking { least-fill | most-fill | random } |
可选 缺省情况下,采用随机选择路径方式(random) |
进入MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number |
- |
配置当前隧道的CR-LSP仲裁方法 |
mpls te tie-breaking { least-fill | most-fill | random } |
可选 缺省情况下,没有指定CR-LSP仲裁方法,采用MPLS视图下配置的CR-LSP仲裁方法 |
提交隧道当前配置 |
mpls te commit |
必选 |
· 隧道优先使用本隧道接口视图下配置的仲裁方式,如果隧道接口视图下没有配置,将使用MPLS视图下的配置。
· IETF DS-TE模式只支持随机选择路径方式。
如果使用路由固定特性,则不能同时使用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 |
必选 |
在配置流量转发之前,需完成以下任务:
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 配置MPLS TE隧道
表1-31 使用静态路由沿MPLS TE隧道转发流量
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使用静态路由沿MPLS TE隧道转发流量 |
ip route-static dest-address { mask | mask-length } { next-hop-address [ track track-entry-number ] | interface-type interface-number next-hop-address [ bfd { control-packet | echo-packet } ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
必选 本命令中的interface-type应为Tunnel接口 |
有关配置静态路由的命令请参见“三层技术-IP路由命令参考”中的“静态路由”。
· 本特性在IGP协议是OSPF或ISIS协议的情况下支持。
· 使用自动路由发布特性时,必须将TE隧道的目的地址指定为对端节点的LSR ID,并且将Tunnel接口地址发布到OSPF/ISIS等IGP协议中。
配置自动路由发布前,需要首先在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隧道,并在隧道的两端同时配置转发邻接功能。
表1-33 配置转发邻接
操作 |
命令 |
说明 |
进入系统视图 |
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秒 |
当MPLS TE相关链路的带宽发生变化时,CSPF可能需要重新计算路径。
为防止链路带宽变化导致的CSPF计算占用过多资源,可以规定当带宽变化到达一定限度时才进行泛洪。
用户可以进行两种配置:
· 当链路的可用带宽超过上限阈值时泛洪;
· 当链路的可预留带宽低于下限阈值时泛洪。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MPLS TE链路的接口视图 |
interface interface-type interface-number |
- |
配置带宽变化IGP泛洪阈值 |
mpls te bandwidth change thresholds { down | up } percent |
可选 缺省情况下,带宽变化IGP泛洪阈值为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备份之前,需完成以下任务:
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 配置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快速重路由之前,需完成以下任务:
· 配置IGP协议保证各LSR之间可达
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 使用RSVP-TE建立MPLS TE隧道
· 建立主LSP
表1-39 在主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隧道,需要满足以下条件:
· Bypass隧道必须是up状态的;
· 被保护的接口不是Bypass隧道的出接口。
设备最多可以为被保护的接口指定3条Bypass隧道,将使用最佳适配(best-fit)算法来决定使用哪一条Bypass隧道。
设备对使用Bypass隧道的链路进行限制,使这些隧道的带宽总量不超过指定的带宽。
表1-40 在PLR上配置Bypass隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Bypass隧道的接口视图 |
interface tunnel tunnel-number |
- |
配置Bypass隧道的目的地址 |
destination ip-address |
必选 目的地址为MP设备的LSR ID |
配置Bypass隧道可保护的带宽和LSP类型 |
mpls te backup bandwidth { bandwidth | { ct0 | ct1 | ct2 | ct3 } { bandwidth | un-limited } } |
必选 缺省情况下,不对带宽进行保护 |
提交隧道配置 |
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 [ second ] |
可选 缺省情况下,扫描间隔为300秒 |
在MPLS TE网络中,MPLS TE隧道出现故障或性能降低,影响数据转发时,负责建立MPLS TE隧道的控制平面无法检测或不能快速发现这种错误,这会给网络维护带来困难。为了及时发现MPLS TE隧道错误,并定位失效节点,设备上提供了如下几种机制:
· MPLS LSP Ping功能
· MPLS LSP Tracert功能
· BFD检测MPLS TE隧道功能
· MPLS TE隧道的周期性LSP Tracert功能
MPLS LSP Ping功能可以用来对MPLS TE隧道的可达性进行检测。采取方法是:在头节点为MPLS Echo Request报文压入待检测的MPLS TE隧道对应的标签,使得MPLS Echo Request报文沿着MPLS TE隧道转发,头节点根据是否收到尾节点的应答报文,判断MPLS TE隧道是否可达。
表1-43 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-44 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会话:
· 静态方式:如果执行mpls te bfd enable命令时通过discriminator参数指定了本地和远端的鉴别值,则根据指定的鉴别值建立BFD会话。该方式用来检测两台设备间从本地到远端和从远端到本地的一对MPLS TE隧道。
· 动态方式:如果执行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隧道。
· BFD会话参数为MPLS TE隧道接口下配置的BFD参数,BFD会话的源地址为MPLS LSR-ID。因此,配置BFD检测MPLS TE隧道功能前,需要确保对端设备上存在MPLS LSR-ID对应的路由,还可以根据需要在隧道接口下配置BFD会话参数。BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
· 使用静态方式建立检测MPLS TE隧道的BFD会话前,需要确保已经建立从本地到远端和从远端到本地的两条MPLS TE隧道。
表1-45 配置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隧道故障后的拆除重建功能 |
· mpls lspv命令的详细介绍,请参见“MPLS命令参考”中的“MPLS基础”。
· 不能同时使用静态方式和动态方式建立检测同一个MPLS TE隧道的BFD会话。
· 使用静态方式建立检测MPLS TE隧道的BFD会话后,不能修改BFD会话的鉴别值。
· 如果在MPLS TE隧道上同时使用了FRR和BFD检测功能,则为了保证FRR切换或回切不会导致BFD会话down,需要配置BFD会话的检测周期大于FRR的检测周期。
· 协议中规定:用于检测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-46 配置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基础”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS TE的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除MPLS TE统计信息。
表1-48 MPLS TE的显示和维护
操作 |
命令 |
显示显式路径信息 |
display explicit-path [ pathname ] [ | { 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 link-administration bandwidth-allocation [ 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 ] |
显示DS-TE相关信息 |
display mpls te ds-te [ | { begin | exclude | include } regular-expression ] |
清除RSVP-TE的统计信息 |
reset mpls rsvp-te statistics { global | interface [ interface-type interface-number ] |
· 设备Router A、Router B和Router C运行IS-IS;
· 使用静态CR-LSP建立一条Router A到Router C的TE隧道。
图1-10 静态CR-LSP配置组网图
(1) 配置各接口的IP地址
按照图1-10配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0005.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] isis enable 1
[RouterA-GigabitEthernet3/1/1] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] isis enable 1
[RouterA-LoopBack0] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0005.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] isis enable 1
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] isis enable 1
[RouterB-GigabitEthernet3/1/2] quit
[RouterB] interface loopback 0
[RouterB-LoopBack0] isis enable 1
[RouterB-LoopBack0] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0005.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] isis enable 1
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface loopback 0
[RouterC-LoopBack0] isis enable 1
[RouterC-LoopBack0] quit
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的LSR ID的主机路由。以Router A为例:
[RouterA] 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 GE3/1/1
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 GE3/1/1
3.2.1.0/24 ISIS 15 20 2.1.1.2 GE3/1/1
3.3.3.3/32 ISIS 15 20 2.1.1.2 GE3/1/1
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基本能力
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] mpls
[RouterB-GigabitEthernet3/1/2] mpls te
[RouterB-GigabitEthernet3/1/2] quit
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls
[RouterC-mpls] mpls te
[RouterC-mpls] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls
[RouterC-GigabitEthernet3/1/1] mpls te
[RouterC-GigabitEthernet3/1/1] quit
(4) 配置MPLS TE隧道
# 在Router A上配置MPLS TE隧道。
[RouterA] interface tunnel 3
[RouterA-Tunnel3] ip address 6.1.1.1 255.255.255.0
[RouterA-Tunnel3] tunnel-protocol mpls te
[RouterA-Tunnel3] destination 3.3.3.3
[RouterA-Tunnel3] mpls te tunnel-id 10
[RouterA-Tunnel3] mpls te signal-protocol static
[RouterA-Tunnel3] mpls te commit
[RouterA-Tunnel3] quit
(5) 创建静态CR-LSP
# 配置Router A为静态CR-LSP的头节点:
[RouterA] static-cr-lsp ingress Tunnel3 destination 3.3.3.3 nexthop 2.1.1.2 out-label 20
# 配置Router B为静态CR-LSP的中间节点:
[RouterB] static-cr-lsp transit transit3 incoming-interface GigabitEthernet 3/1/1 in-label 20 nexthop 3.2.1.2 out-label 30
# 配置Router C为静态CR-LSP的尾节点:
[RouterC] static-cr-lsp egress egress3 incoming-interface GigabitEthernet 3/1/1 in-label 30
(6) 配置完成后的检验
配置完成后,在Router A上执行display interface tunnel命令,可以看到Tunnel接口的状态为up。
[RouterA] display interface tunnel
Tunnel3 current state: UP
Line protocol current state: UP
Description: Tunnel3 Interface
The Maximum Transmit Unit is 1500
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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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隧道的建立情况。
[RouterA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 3.3.3.3 -/GE3/1/1 Tunnel3
[RouterB] display mpls te tunnel
LSP-Id Destination In/Out-If Name
- - GE3/1/1/GE3/1/2 Tunnel3
[RouterC] display mpls te tunnel
LSP-Id Destination In/Out-If Name
- - GE3/1/1/- Tunnel3
在各设备上执行display mpls lsp或display mpls static-cr-lsp命令,可以看到静态CR-LSP的建立情况。
[RouterA] display mpls lsp
-------------------------------------------------------------------
LSP Information: STATIC CRLSP
-------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
3.3.3.3/32 NULL/20 -/GE3/1/1
[RouterB] display mpls lsp
------------------------------------------------------------------
LSP Information: STATIC CRLSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
-/- 20/30 GE3/1/1/GE3/1/2
[RouterC] display mpls lsp
------------------------------------------------------------------
LSP Information: STATIC CRLSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
-/- 30/NULL GE3/1/1/-
[RouterA] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel3 3.3.3.3/32 NULL/20 -/GE3/1/1 Up
[RouterB] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel3 -/- 20/30 GE3/1/1/GE3/1/2 Up
[RouterC] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel3 -/- 30/NULL GE3/1/1/- Up
使用静态CR-LSP建立MPLS TE隧道时,Transit节点和Egress节点直接根据配置的入标签和出标签进行转发,因此,Router B和Router C的相关显示信息中,FEC等内容为空。
(7) 使用静态路由沿MPLS TE隧道转发流量
[RouterA] ip route-static 3.2.1.2 24 tunnel3 preference 1
在RouterA上执行display ip routing-table命令,可以看到路由表中有以Tunnel3为出接口的静态路由信息。
· 设备Router A、Router B、Router C和Router D运行IS-IS,都是Level-2设备;
· 使用RSVP-TE从Router A到Router D建立一条TE隧道,带宽为2000kbit/s;
· 隧道沿途的链路最大带宽为10000kbit/s,最大可预留带宽为5000kbit/s。
图1-11 RSVP-TE配置MPLS TE隧道组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Router A |
Loop0 |
1.1.1.9/32 |
Router C |
Loop0 |
3.3.3.9/32 |
|
GE3/1/1 |
10.1.1.1/24 |
|
GE3/1/1 |
30.1.1.1/24 |
Router B |
Loop0 |
2.2.2.9/32 |
|
POS2/1/1 |
20.1.1.2/24 |
|
GE3/1/1 |
10.1.1.2/24 |
Router D |
Loop0 |
4.4.4.9/32 |
|
POS2/1/1 |
20.1.1.1/24 |
|
GE3/1/1 |
30.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-11配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0005.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] isis enable 1
[RouterA-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterA-GigabitEthernet3/1/1] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] isis enable 1
[RouterA-LoopBack0] isis circuit-level level-2
[RouterA-LoopBack0] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0005.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] isis enable 1
[RouterB-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] clock master
[RouterB-POS2/1/1] isis enable 1
[RouterB-POS2/1/1] isis circuit-level level-2
[RouterB-POS2/1/1] quit
[RouterB] interface loopback 0
[RouterB-LoopBack0] isis enable 1
[RouterB-LoopBack0] isis circuit-level level-2
[RouterB-LoopBack0] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0005.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] isis enable 1
[RouterC-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface pos 2/1/1
[RouterC-POS2/1/1] isis enable 1
[RouterC-POS2/1/1] isis circuit-level level-2
[RouterC-POS2/1/1] quit
[RouterC] interface loopback 0
[RouterC-LoopBack0] isis enable 1
[RouterC-LoopBack0] isis circuit-level level-2
[RouterC-LoopBack0] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0005.0000.0000.0004.00
[RouterD-isis-1] quit
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] isis enable 1
[RouterD-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterD-GigabitEthernet3/1/1] quit
[RouterD] interface loopback 0
[RouterD-LoopBack0] isis enable 1
[RouterD-LoopBack0] isis circuit-level level-2
[RouterD-LoopBack0] quit
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的LSR ID的主机路由。以Router A为例:
[RouterA] 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 GE3/1/1
3.3.3.9/32 ISIS 15 20 10.1.1.2 GE3/1/1
4.4.4.9/32 ISIS 15 30 10.1.1.2 GE3/1/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE3/1/1
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 GE3/1/1
30.1.1.0/24 ISIS 15 30 10.1.1.2 GE3/1/1
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
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.9
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] mpls te cspf
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.9
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] mpls te cspf
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] mpls
[RouterB-POS2/1/1] mpls te
[RouterB-POS2/1/1] mpls rsvp-te
[RouterB-POS2/1/1] quit
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.9
[RouterC] mpls
[RouterC-mpls] mpls te
[RouterC-mpls] mpls rsvp-te
[RouterC-mpls] mpls te cspf
[RouterC-mpls] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls
[RouterC-GigabitEthernet3/1/1] mpls te
[RouterC-GigabitEthernet3/1/1] mpls rsvp-te
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface pos 2/1/1
[RouterC-POS2/1/1] mpls
[RouterC-POS2/1/1] mpls te
[RouterC-POS2/1/1] mpls rsvp-te
[RouterC-POS2/1/1] quit
# 配置Router D。
[RouterD] mpls lsr-id 4.4.4.9
[RouterD] mpls
[RouterD-mpls] mpls te
[RouterD-mpls] mpls rsvp-te
[RouterD-mpls] mpls te cspf
[RouterD-mpls] quit
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] mpls
[RouterD-GigabitEthernet3/1/1] mpls te
[RouterD-GigabitEthernet3/1/1] mpls rsvp-te
[RouterD-GigabitEthernet3/1/1] quit
(4) 配置IS-IS TE
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] traffic-eng level-2
[RouterA-isis-1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] traffic-eng level-2
[RouterB-isis-1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] traffic-eng level-2
[RouterC-isis-1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] cost-style wide
[RouterD-isis-1] traffic-eng level-2
[RouterD-isis-1] quit
(5) 配置链路的MPLS TE属性
# 在Router A上配置链路的最大带宽和最大可预留带宽。
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterA-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterA-GigabitEthernet3/1/1] quit
# 在Router B上配置链路的最大带宽和最大可预留带宽。
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterB-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] mpls te max-link-bandwidth 10000
[RouterB-POS2/1/1] mpls te max-reservable-bandwidth 5000
[RouterB-POS2/1/1] quit
# 在Router C上配置链路的最大带宽和最大可预留带宽。
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterC-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface pos 2/1/1
[RouterC-POS2/1/1] mpls te max-link-bandwidth 10000
[RouterC-POS2/1/1] mpls te max-reservable-bandwidth 5000
[RouterC-POS2/1/1] quit
# 在Router D上配置链路的最大带宽和最大可预留带宽。
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterD-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterD-GigabitEthernet3/1/1] quit
(6) 配置MPLS TE隧道
# 在Router A上配置MPLS TE隧道。
[RouterA] interface tunnel 4
[RouterA-Tunnel4] ip address 7.1.1.1 255.255.255.0
[RouterA-Tunnel4] tunnel-protocol mpls te
[RouterA-Tunnel4] destination 4.4.4.9
[RouterA-Tunnel4] mpls te tunnel-id 10
[RouterA-Tunnel4] mpls te signal-protocol rsvp-te
[RouterA-Tunnel4] mpls te bandwidth 2000
[RouterA-Tunnel4] mpls te commit
[RouterA-Tunnel4] quit
(7) 配置完成后的检验
配置完成后,在Router A上执行display interface tunnel命令可以看到隧道接口状态为up。
[RouterA] display interface tunnel
Tunnel4 current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
The Maximum Transmit Unit is 1500
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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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
在Router A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[RouterA] 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.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
Tunnel mode : -
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
Loop Detection : Disabled
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 : -
在Router A上执行display mpls te cspf tedb all命令查看TEDB中的链路信息。
[RouterA] 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
(8) 使用静态路由沿MPLS TE隧道转发流量
[RouterA] ip route-static 30.1.1.2 24 Tunnel4 preference 1
在Router A上执行display ip routing-table命令,可以看到路由表中有以Tunnel4为出接口的静态路由信息。
· Router A和Router B位于AS 100内,AS 100内使用OSPF作为IGP协议。
· Router C和Router D位于AS 200内,AS 200内使用OSPF作为IGP协议。
· 在作为ASBR的Router B和Router C之间建立EBGP连接,配置BGP引入OSPF路由, OSPF进程引入BGP路由,使得AS 100和AS 200之间路由可达。
· 使用RSVP-TE从Router A到Router D建立一条跨域的MPLS TE隧道,带宽为2000kbit/s。
· 隧道沿途的链路最大带宽为10000kbit/s,最大可预留带宽为5000kbit/s。
图1-12 使用RSVP-TE配置跨域的MPLS TE隧道组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop0 |
1.1.1.9/32 |
Router C |
Loop0 |
3.3.3.9/32 |
|
GE3/1/1 |
10.1.1.1/24 |
|
GE3/1/1 |
30.1.1.1/24 |
Router B |
Loop0 |
2.2.2.9/32 |
|
POS2/1/1 |
20.1.1.2/24 |
|
GE3/1/1 |
10.1.1.2/24 |
Router D |
Loop0 |
4.4.4.9/32 |
|
POS2/1/1 |
20.1.1.1/24 |
|
GE3/1/1 |
30.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-12配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置OSPF,在AS内发布路由信息
# 配置Router A。
<RouterA> system-view
[RouterA] ospf
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] ospf
[RouterB-ospf-1] import-route direct
[RouterB-ospf-1] import-route bgp
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] ospf
[RouterC-ospf-1] import-route direct
[RouterC-ospf-1] import-route bgp
[RouterC-ospf-1] area 0
[RouterC-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[RouterC-ospf-1-area-0.0.0.0] quit
[RouterC-ospf-1] quit
# 配置Router D。
<RouterD> system-view
[RouterD] ospf
[RouterD-ospf-1] area 0
[RouterD-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[RouterD-ospf-1-area-0.0.0.0] quit
[RouterD-ospf-1] quit
配置完成后,在各设备上执行display ip routing-table命令,可以看到AS内的设备之间都学到了到对方LSR ID对应的主机路由。以Router A为例:
[RouterA] display ip routing-table
Routing Tables: Public
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 OSPF 10 1 10.1.1.2 GE3/1/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE3/1/1
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) 在Router B和Router C之间配置BGP,使得AS之间路由可达
# 配置Router B。
[RouterB] bgp 100
[RouterB-bgp] peer 20.1.1.2 as 200
[RouterB-bgp] import-route ospf
[RouterB-bgp] import-route direct
[RouterB-bgp] quit
# 配置Router C。
[RouterC] bgp 200
[RouterC-bgp] peer 20.1.1.1 as 100
[RouterC-bgp] import-route ospf
[RouterC-bgp] import-route direct
[RouterC-bgp] quit
配置完成后,在各设备上执行display ip routing-table命令,可以看到设备学习到了AS外部的路由。以Router A为例:
[RouterA] 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 OSPF 10 1 10.1.1.2 GE3/1/1
3.3.3.9/32 O_ASE 150 1 10.1.1.2 GE3/1/1
4.4.4.9/32 O_ASE 150 1 10.1.1.2 GE3/1/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE3/1/1
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 GE3/1/1
30.1.1.0/24 O_ASE 150 1 10.1.1.2 GE3/1/1
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) 配置MPLS TE基本能力,并使能RSVP-TE和CSPF
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.9
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] mpls te cspf
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.9
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] mpls te cspf
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface POS 2/1/1
[RouterB-POS2/1/1] mpls
[RouterB-POS2/1/1] mpls te
[RouterB-POS2/1/1] mpls rsvp-te
[RouterB-POS2/1/1] quit
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.9
[RouterC] mpls
[RouterC-mpls] mpls te
[RouterC-mpls] mpls rsvp-te
[RouterC-mpls] mpls te cspf
[RouterC-mpls] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls
[RouterC-GigabitEthernet3/1/1] mpls te
[RouterC-GigabitEthernet3/1/1] mpls rsvp-te
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface POS 2/1/1
[RouterC-POS2/1/1] mpls
[RouterC-POS2/1/1] mpls te
[RouterC-POS2/1/1] mpls rsvp-te
[RouterC-POS2/1/1] quit
# 配置Router D。
[RouterD] mpls lsr-id 4.4.4.9
[RouterD] mpls
[RouterD-mpls] mpls te
[RouterD-mpls] mpls rsvp-te
[RouterD-mpls] mpls te cspf
[RouterD-mpls] quit
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] mpls
[RouterD-GigabitEthernet3/1/1] mpls te
[RouterD-GigabitEthernet3/1/1] mpls rsvp-te
[RouterD-GigabitEthernet3/1/1] quit
(5) 配置OSPF TE
# 配置Router A。
[RouterA] ospf
[RouterA-ospf-1] opaque-capability enable
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] mpls-te enable
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
# 配置Router B。
[RouterB] ospf
[RouterB-ospf-1] opaque-capability enable
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] mpls-te enable
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
# 配置Router C。
[RouterC] ospf
[RouterC-ospf-1] opaque-capability enable
[RouterC-ospf-1] area 0
[RouterC-ospf-1-area-0.0.0.0] mpls-te enable
[RouterC-ospf-1-area-0.0.0.0] quit
[RouterC-ospf-1] quit
# 配置Router D。
[RouterD] ospf
[RouterD-ospf-1] opaque-capability enable
[RouterD-ospf-1] area 0
[RouterD-ospf-1-area-0.0.0.0] mpls-te enable
[RouterD-ospf-1-area-0.0.0.0] quit
[RouterD-ospf-1] quit
(6) 配置松散显式路径
# 在Router A上配置松散显式路径。
[RouterA] explicit-path atod enable
[RouterA-explicit-path-atod] next hop 10.1.1.2 include loose
[RouterA-explicit-path-atod] next hop 20.1.1.2 include loose
[RouterA-explicit-path-atod] next hop 30.1.1.2 include loose
[RouterA-explicit-path-atod] quit
(7) 配置链路的MPLS TE属性
# 在Router A上配置链路的最大带宽和最大可预留带宽。
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterA-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterA-GigabitEthernet3/1/1] quit
# 在Router B上配置链路的最大带宽和最大可预留带宽。
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterB-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface POS 2/1/1
[RouterB-POS2/1/1] mpls te max-link-bandwidth 10000
[RouterB-POS2/1/1] mpls te max-reservable-bandwidth 5000
[RouterB-POS2/1/1] quit
# 在Router C上配置链路的最大带宽和最大可预留带宽。
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterC-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface POS 2/1/1
[RouterC-POS2/1/1] mpls te max-link-bandwidth 10000
[RouterC-POS2/1/1] mpls te max-reservable-bandwidth 5000
[RouterC-POS2/1/1] quit
# 在Router D上配置链路的最大带宽和最大可预留带宽。
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterD-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth 5000
[RouterD-GigabitEthernet3/1/1] quit
(8) 配置MPLS TE隧道
# 在Router A上配置MPLS TE隧道。
[RouterA] interface tunnel 1
[RouterA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[RouterA-Tunnel1] tunnel-protocol mpls te
[RouterA-Tunnel1] destination 4.4.4.9
[RouterA-Tunnel1] mpls te tunnel-id 10
[RouterA-Tunnel1] mpls te signal-protocol rsvp-te
[RouterA-Tunnel1] mpls te bandwidth 2000
[RouterA-Tunnel1] mpls te path explicit-pat atod preference 5
[RouterA-Tunnel1] mpls te commit
[RouterA-Tunnel1] quit
(9) 配置完成后的检验
配置完成后,在Router A上执行display interface tunnel命令可以看到隧道接口状态为up。
[RouterA] display interface tunnel 1
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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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
在Router A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[RouterA] 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:2
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
Tunnel mode : -
Reserved BW : 2000 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : atod
Tie-Breaking Policy : None
Metric Type : None
Loop Detection : Disabled
Loop Detection : Disabled
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 2 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 : -
在Router A上执行display mpls te cspf tedb all命令查看TEDB中的链路信息。
[RouterA] display mpls te cspf tedb all
Maximum Node Supported: 128 Maximum Link Supported: 256
Current Total Node Number: 2 Current Total Link Number: 2
Id MPLS LSR-Id IGP Process-Id Area Link-Count
1 1.1.1.9 OSPF 1 0 1
2 2.2.2.9 OSPF 1 0 1
(10) 使用静态路由沿MPLS TE隧道转发流量
[RouterA] ip route-static 30.1.1.2 24 tunnel 1 preference 1
在Router A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
[RouterA] display ip routing-table
Routing Tables: Public
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 OSPF 10 1 10.1.1.2 GE3/1/1
3.3.3.9/32 O_ASE 150 1 10.1.1.2 GE3/1/1
4.4.4.9/32 O_ASE 150 1 10.1.1.2 GE3/1/1
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 GE3/1/1
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 GE3/1/1
30.1.1.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
· 设备Router A、Router B和Router C运行IS-IS,都是Level-2设备;
· 使用RSVP-TE建立从Router A到Router C的TE隧道;
· 设备Router A、Router B和Router C支持RSVP的Hello扩展能力;
· Router A、Router B和Router C为RSVP-TE邻居,通过使能GR能力,邻居之间可以在对方发生GR Restart的时候提供GR Helper支持。
图1-13 RSVP-TE GR配置组网图
(1) 配置各接口的IP地址
按照图1-13配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
具体配置略。
(3) 配置MPLS TE基本能力,并使能RSVP-TE和节点的RSVP的Hello扩展
# 配置Router A
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.9
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] mpls rsvp-te hello
[RouterA-mpls] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te hello
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.9
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] mpls rsvp-te hello
[RouterB-mpls] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te hello
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] mpls
[RouterB-GigabitEthernet3/1/2] mpls te
[RouterB-GigabitEthernet3/1/2] mpls rsvp-te
[RouterB-GigabitEthernet3/1/2] mpls rsvp-te hello
[RouterB-GigabitEthernet3/1/2] quit
# 配置Router C
<RouterC> system-view
[RouterC] mpls lsr-id 3.3.3.9
[RouterC] mpls
[RouterC-mpls] mpls te
[RouterC-mpls] mpls rsvp-te
[RouterC-mpls] mpls rsvp-te hello
[RouterC-mpls] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls
[RouterC-GigabitEthernet3/1/1] mpls te
[RouterC-GigabitEthernet3/1/1] mpls rsvp-te
[RouterC-GigabitEthernet3/1/1] mpls rsvp-te hello
[RouterC-GigabitEthernet3/1/1] quit
(4) 配置IS-IS TE
具体配置略。
(5) 配置MPLS TE隧道
具体配置略。
(6) 配置RSVP-TE GR
# 配置Router A
<RouterA> system-view
[RouterA] mpls
[RouterA-mpls] mpls rsvp-te graceful-restart
# 配置Router B
<RouterB> system-view
[RouterB] mpls
[RouterB-mpls] mpls rsvp-te graceful-restart
# 配置Router C
<RouterC> system-view
[RouterC] mpls
[RouterC-mpls] mpls rsvp-te graceful-restart
(7) 检验配置效果
# 在Router A和Router C之间创建隧道且运行稳定后,通过命令可以看到邻居的GR状态已经处于Ready状态。
<RouterA> display mpls rsvp-te peer
Interface GigabitEthernet3/1/1
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
· Router A、Router B物理直连,并且在双方直连口上使能MPLS RSVP-TE BFD应用,在设备上运行OSPF,网络层相互可达。
· 当Router A和Router B之间的链路出现故障后,BFD能够快速检测并通告MPLS RSVP-TE协议。
图1-14 MPLS RSVP-TE与BFD联动配置组网图
(1) 配置MPLS RSVP-TE基本功能
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te bfd enable
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te bfd enable
[RouterB-GigabitEthernet3/1/1] quit
(2) 配置OSPF基本功能
# 配置Router A。
<RouterA> system-view
[RouterA] ospf
[Router-A-ospf-1] area 0
[Router-A-ospf-1-area-0.0.0.0] network 12.12.12.1 0.0.0.255
[Router-A-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[Router-A-ospf-1-area-0.0.0.0] quit
[Router-A-ospf-1] quit
# 配置Router B。
<RouterB>system-view
[RouterB] ospf
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 12.12.12.2 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
(3) 配置接口的IP地址
# 配置Router A。
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] ip address 12.12.12.1 24
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] ip address 12.12.12.2 24
(4) 配置MPLS TE隧道
# 配置Router A到Router B的一条RSVP-TE隧道。
[RouterA] interface tunnel 1
[RouterA-Tunnel1] ip address 10.10.10.1 24
[RouterA-Tunnel1] tunnel-protocol mpls te
[RouterA-Tunnel1] destination 2.2.2.2
[RouterA-Tunnel1] mpls te tunnel-id 10
[RouterA-Tunnel1] mpls te signal-protocol rsvp-te
[RouterA-Tunnel1] mpls te commit
[RouterA-Tunnel1] return
(5) 检查配置结果
# 显示Router A的BFD邻居详细信息。
<RouterA> display bfd session verbose
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
Local Discr: 19 Remote Discr: 18
Source IP: 12.12.12.1 Destination IP: 12.12.12.2
Session State: Up Interface: GigabitEthernet3/1/1
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的热备份。隧道头节点为Router A,目的节点为Router C。
图1-15 CR-LSP备份组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Router A |
Loop0 |
1.1.1.9/32 |
Router D |
Loop0 |
4.4.4.9/32 |
|
GE3/1/1 |
10.1.1.1/24 |
|
POS2/1/1 |
30.1.1.2/24 |
|
POS2/1/2 |
30.1.1.1/24 |
|
POS2/1/2 |
40.1.1.1/24 |
Router B |
Loop0 |
2.2.2.9/32 |
Router C |
Loop0 |
3.3.3.9/32 |
|
GE3/1/1 |
10.1.1.2/24 |
|
GE3/1/1 |
20.1.1.2/24 |
|
GE3/1/2 |
20.1.1.1/24 |
|
POS2/1/2 |
40.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-15配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IGP协议
# 在所有设备上配置IS-IS协议,发布LSR ID的主机路由,具体配置过程略。
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方LSR ID的主机路由。
(3) 配置MPLS TE基本能力,并使能RSVP-TE和CSPF
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.9
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] mpls te cspf
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] quit
[RouterA] interface pos 2/1/2
[RouterA-POS2/1/2] mpls
[RouterA-POS2/1/2] mpls te
[RouterA-POS2/1/2] mpls rsvp-te
[RouterA-POS2/1/2] quit
· Router B、Router C和Router D的配置与Router A相似,此处不再赘述。
· 需要配置Router D上的POS接口的时钟模式为主时钟。
(4) 在RouterA上建立MPLS TE Tunnel
# 配置主LSP的MPLS TE隧道。
[RouterA] interface tunnel 4
[RouterA-Tunnel4] ip address 9.1.1.1 255.255.255.0
[RouterA-Tunnel4] tunnel-protocol mpls te
[RouterA-Tunnel4] destination 3.3.3.9
[RouterA-Tunnel4] mpls te tunnel-id 10
[RouterA-Tunnel4] mpls te record-route
# 使用热备份。
[RouterA-Tunnel4] mpls te backup hot-standby
[RouterA-Tunnel4] mpls te commit
[RouterA-Tunnel4] quit
配置完成后,在Router A上执行display interface tunnel命令,可以看到Tunnel4的状态为up。
[RouterA] display interface tunnel
Tunnel4 current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
The Maximum Transmit Unit is 1500
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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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) 配置完成后的检验
在Router A上执行display mpls te tunnel命令,可以看到存在两条Tunnel,出接口分别是GigabitEthernet3/1/1和POS2/1/2,即,在主CR-LSP创建后,备份CR-LSP也建立了。
[RouterA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.9:6 3.3.3.9 -/GE3/1/1 Tunnel4
1.1.1.9:2054 3.3.3.9 -/POS2/1/2 Tunnel4
在Router A上执行display mpls te tunnel path命令,可以看到这两条Tunnel使用的路径:
[RouterA] display mpls te tunnel path
Tunnel Interface Name : Tunnel4
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 : Tunnel4
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操作:
[RouterA] 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经过Router B,没有使用Router D。
对Router B的接口GigabitEtherne3/1/2执行shutdown,然后再对目的地址进行tracert操作,可以看到报文经过了Router D:
[RouterA] 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
在Router A上执行display mpls te tunnel命令,可以看到只剩下一条经过RouterD的Tunnel了:
[RouterA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.9:2054 3.3.3.9 -/POS2/1/2 Tunnel4
普通CR-LSP备份与热备份在配置上的唯一区别在于隧道接口上的mpls te backup命令。对于本配置例,如果采用普通备份方式,则备份CR-LSP只有在主LSP变为Down后才会创建,不会同时存在两条隧道。
(6) 使用静态路由沿MPLS TE隧道转发流量
[RouterA] ip route-static 20.1.1.2 24 Tunnel4 preference 1
在Router A上执行display ip routing-table命令,可以看到路由表中有以Tunnel4为出接口的静态路由信息。
· 主LSP是Router A→Router B→Router C→Router D,要求对Router B→Router C这段链路通过FRR进行链路保护;
· 建立一条Bypass LSP,使用路径Router B→Router E→Router C(Router B是本地修复节点PLR,Router C是汇聚点MP);
· 使用显式路径方式建立MPLS TE的主隧道和Bypass隧道。使用的信令协议是RSVP-TE。
图1-16 MPLS TE快速重路由配置组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
Router A |
Loop0 |
1.1.1.1/32 |
Router E |
Loop0 |
5.5.5.5/32 |
|
GE3/1/1 |
2.1.1.1/24 |
|
POS2/1/1 |
3.2.1.2/24 |
Router B |
Loop0 |
2.2.2.2/32 |
|
POS2/1/2 |
3.3.1.1/24 |
|
GE3/1/1 |
2.1.1.2/24 |
Router C |
Loop0 |
3.3.3.3/32 |
|
GE3/1/2 |
3.1.1.1/24 |
|
GE3/1/1 |
4.1.1.1/24 |
|
POS2/1/1 |
3.2.1.1/24 |
|
GE3/1/2 |
3.1.1.2/24 |
Router D |
Loop0 |
4.4.4.4/32 |
|
POS2/1/1 |
3.3.1.2/24 |
|
GE3/1/1 |
4.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址
按照图1-16配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IGP协议
在所有设备上配置IS-IS协议,发布LSR ID的主机路由,具体配置过程略。
配置完成后,在各设备上执行display ip routing-table命令,应可以看到相互之间都学到了到对方LSR ID的主机路由。
以Router A的显示为例:
<RouterA> 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 GE3/1/1
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 GE3/1/1
3.1.1.0/24 ISIS 15 20 2.1.1.2 GE3/1/1
3.2.1.0/24 ISIS 15 20 2.1.1.2 GE3/1/1
3.3.1.0/24 ISIS 15 30 2.1.1.2 GE3/1/1
3.3.3.3/32 ISIS 15 20 2.1.1.2 GE3/1/1
4.1.1.0/24 ISIS 15 30 2.1.1.2 GE3/1/1
4.4.4.4/32 ISIS 15 30 2.1.1.2 GE3/1/1
5.5.5.5/32 ISIS 15 20 2.1.1.2 GE3/1/1
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
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] mpls te cspf
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] mpls te cspf
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] mpls
[RouterB-GigabitEthernet3/1/2] mpls te
[RouterB-GigabitEthernet3/1/2] mpls rsvp-te
[RouterB-GigabitEthernet3/1/2] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] mpls
[RouterB-POS2/1/1] mpls te
[RouterB-POS2/1/1] mpls rsvp-te
[RouterB-POS2/1/1] quit
· Router C、Router D、Router E的配置与Router A和Router B的配置相同,此处不再赘述。
· 需要配置Router E上的POS接口的时钟模式为主时钟。
(4) 在主LSP的头节点Router A上建立MPLS TE Tunnel
# 配置主LSP的显式路径。
[RouterA] explicit-path pri-path
[RouterA-explicit-path-pri-path] next hop 2.1.1.2
[RouterA-explicit-path-pri-path] next hop 3.1.1.2
[RouterA-explicit-path-pri-path] next hop 4.1.1.2
[RouterA-explicit-path-pri-path] next hop 4.4.4.4
[RouterA-explicit-path-pri-path] quit
# 配置主LSP的MPLS TE隧道。
[RouterA] interface tunnel 4
[RouterA-Tunnel4] ip address 10.1.1.1 255.255.255.0
[RouterA-Tunnel4] tunnel-protocol mpls te
[RouterA-Tunnel4] destination 4.4.4.4
[RouterA-Tunnel4] mpls te tunnel-id 10
[RouterA-Tunnel4] mpls te path explicit-path pri-path preference 1
# 使能FRR。
[RouterA-Tunnel4] mpls te fast-reroute
[RouterA-Tunnel4] mpls te commit
[RouterA-Tunnel4] quit
配置完成后,在Router A上执行display interface tunnel命令,可以看到Tunnel4的状态为up。
[RouterA] display interface tunnel
Tunnel4 current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
The Maximum Transmit Unit is 1500
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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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
在Router A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[RouterA] 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
Tunnel mode : -
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
Loop Detection : Disabled
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 : -
(5) 在作为PLR的Router B上配置Bypass Tunnel
# 配置Bypass LSP的显式路径。
[RouterB] explicit-path by-path
[RouterB-explicit-path-by-path] next hop 3.2.1.2
[RouterB-explicit-path-by-path] next hop 3.3.1.2
[RouterB-explicit-path-by-path] next hop 3.3.3.3
[RouterB-explicit-path-by-path] quit
# 配置Bypass Tunnel。
[RouterB] interface tunnel 5
[RouterB-Tunnel5] ip address 11.1.1.1 255.255.255.0
[RouterB-Tunnel5] tunnel-protocol mpls te
[RouterB-Tunnel5] destination 3.3.3.3
[RouterB-Tunnel5] mpls te tunnel-id 15
[RouterB-Tunnel5] mpls te path explicit-path by-path preference 1
# 配置Bypass Tunnel可保护的带宽。
[RouterB-Tunnel5] mpls te backup bandwidth 10000
[RouterB-Tunnel5] mpls te commit
[RouterB-Tunnel5] quit
# 将Bypass Tunnel绑定到被保护的接口。
[RouterB] interface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] mpls te fast-reroute bypass-tunnel tunnel 5
[RouterB-GigabitEthernet3/1/2] quit
配置完成后,在Router B上执行display interface tunnel命令可以看到接口Tunnel5的状态为up。
在所有设备上执行display mpls lsp命令,可以看到LSP表项,并且,Router B和Router C上有两条LSP经过。
[RouterA] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 NULL/1024 -/GE3/1/1
[RouterB] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 1024/1024 GE3/1/1/GE3/1/2
3.3.3.3/32 NULL/1024 -/POS2/1/1
[RouterC] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 1024/3 GE3/1/2/GE3/1/1
3.3.3.3/32 3/NULL POS2/1/1/-
[RouterD] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 3/NULL GE3/1/1/-
[RouterE] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
3.3.3.3/32 1024/3 POS2/1/1/POS2/1/2
在所有设备上执行display mpls te tunnel命令,可以看到隧道的建立情况,Router B和Router C上有两条隧道经过。
[RouterA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 -/GE3/1/1 Tunnel4
[RouterB] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 GE3/1/1/GE3/1/2 Tunnel4
2.2.2.2:1 3.3.3.3 -/POS2/1/1 Tunnel5
[RouterC] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 GE3/1/2/GE3/1/1 Tunnel4
2.2.2.2:1 3.3.3.3 POS2/1/1/- Tunnel5
[RouterD] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 GE3/1/1/- Tunnel4
[RouterE] display mpls te tunnel
LSP-Id Destination In/Out-If Name
2.2.2.2:1 3.3.3.3 POS2/1/1/POS2/1/2 Tunnel5
在Router B上执行display mpls lsp verbose命令,可以看到Bypass隧道绑定到出接口GigabitEthernet3/1/2,目前未被使用。
[RouterB] 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 : GigabitEthernet3/1/1
Out-Interface : GigabitEthernet3/1/2
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 : POS2/1/1
LspIndex : 4098
Tunnel ID : 0x22002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
(6) 配置完成后的检验
# 使PLR上被保护的出接口失效。
[RouterB] interface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] shutdown
%Sep 7 08:53:34 2004 RouterB IFNET/5/UPDOWN:Line protocol on the interface GigabitEthernet3/1/2 turns into DOWN state
在Router A上查看主LSP的状态,执行命令display interface tunnel 4,可以看到Tunnel接口仍然处于up状态。
在Router A上执行display mpls te tunnel-interface命令,可以看到隧道接口的详细信息。
[RouterA] 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
Tunnel mode : -
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
Loop Detection : Disabled
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 : -
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
Tunnel mode : -
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
Loop Detection : Disabled
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 : -
如果在FRR切换后马上执行display mpls te tunnel-interface命令查看隧道接口的详细信息,会看到两条处于up状态的CR-LSP。这是因为FRR采用make-before-break方式建立新的LSP,旧的LSP在新LSP建立成功后过一段时间才被删除。
在Router B上执行display mpls lsp verbose命令,可以看到Bypass隧道被使用。
[RouterB] 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 : GigabitEthernet3/1/1
Out-Interface : GigabitEthernet3/1/2
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 : POS2/1/1
LspIndex : 4098
Tunnel ID : 0x22002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
# 在PLR上配置FRR的扫描定时器为5秒。
[RouterB] mpls
[RouterB-mpls] mpls te timer fast-reroute 5
[RouterB-mpls] quit
# 使PLR上被保护的出接口重新生效。
[RouterB] intrface GigabitEthernet 3/1/2
[RouterB-GigabitEthernet3/1/2] undo shutdown
%Sep 7 09:01:31 2004 RouterB IFNET/5/UPDOWN:Line protocol on the interface GigabitEthernet3/1/2 turns into UP state
在Router A上查看主LSP的状态,执行命令display interface Tunnel,可以看到Tunnel接口处于up状态。
等待约5秒后,在Router B上执行display mpls lsp verbose命令,可以看到Tunnel5仍绑定到出接口GigabitEthernet3/1/2,未被使用。
(7) 使用静态路由沿MPLS TE隧道转发流量
[RouterA] ip route-static 4.1.1.2 24 tunnel 4 preference 1
在Router A上执行display ip routing-table命令,可以看到路由表中有以Tunnel4为出接口的静态路由信息。
· 设备Router A、Router B、Router C和Router D运行IS-IS,且都是Level-2设备;
· 使用RSVP-TE建立一条从Router A到Router D的TE隧道,该隧道属于CT 2,所需带宽为4000kbit/s;
· 隧道沿途的链路最大带宽为10000kbit/s,链路最大可预留带宽为10000kbit/s,BC 1的最大可预留带宽为8000kbit/s,BC 2的最大可预留带宽为5000kbit/s,BC 3的最大可预留带宽为3000kbit/s。
图1-17 IETF DS-TE配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop0 |
1.1.1.9/32 |
Router C |
Loop0 |
3.3.3.9/32 |
|
GE3/1/1 |
10.1.1.1/24 |
|
GE3/1/1 |
30.1.1.1/24 |
Router B |
Loop0 |
2.2.2.9/32 |
|
POS2/1/1 |
20.1.1.2/24 |
|
GE3/1/1 |
10.1.1.2/24 |
Router D |
Loop0 |
4.4.4.9/32 |
|
POS2/1/1 |
20.1.1.1/24 |
|
GE3/1/1 |
30.1.1.2/24 |
(1) 配置各接口的IP地址
按照图1-17配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布LSR ID的主机路由
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0005.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] isis enable 1
[RouterA-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterA-GigabitEthernet3/1/1] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] isis enable 1
[RouterA-LoopBack0] isis circuit-level level-2
[RouterA-LoopBack0] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0005.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] isis enable 1
[RouterB-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] isis enable 1
[RouterB-POS2/1/1] isis circuit-level level-2
[RouterB-POS2/1/1] quit
[RouterB] interface loopback 0
[RouterB-LoopBack0] isis enable 1
[RouterB-LoopBack0] isis circuit-level level-2
[RouterB-LoopBack0] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0005.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] isis enable 1
[RouterC-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface pos 2/1/1
[RouterC-POS2/1/1] isis enable 1
[RouterC-POS2/1/1] isis circuit-level level-2
[RouterC-POS2/1/1] quit
[RouterC] interface loopback 0
[RouterC-LoopBack0] isis enable 1
[RouterC-LoopBack0] isis circuit-level level-2
[RouterC-LoopBack0] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0005.0000.0000.0004.00
[RouterD-isis-1] quit
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] isis enable 1
[RouterD-GigabitEthernet3/1/1] isis circuit-level level-2
[RouterD-GigabitEthernet3/1/1] quit
[RouterD] interface loopback 0
[RouterD-LoopBack0] isis enable 1
[RouterD-LoopBack0] isis circuit-level level-2
[RouterD-LoopBack0] quit
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的LSR ID的主机路由。以Router A为例:
[RouterA] 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 GE3/1/1
3.3.3.9/32 ISIS 15 20 10.1.1.2 GE3/1/1
4.4.4.9/32 ISIS 15 30 10.1.1.2 GE3/1/1
10.1.1.0/24 Direct 0 0 10.1.1.1 GE3/1/1
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 GE3/1/1
30.1.1.0/24 ISIS 15 30 10.1.1.2 GE3/1/1
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,将DS-TE模式配置为IETF模式
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.9
[RouterA] mpls
[RouterA-mpls] mpls te
[RouterA-mpls] mpls rsvp-te
[RouterA-mpls] mpls te cspf
[RouterA-mpls] mpls te ds-te mode ietf
[RouterA-mpls] quit
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls
[RouterA-GigabitEthernet3/1/1] mpls te
[RouterA-GigabitEthernet3/1/1] mpls rsvp-te
[RouterA-GigabitEthernet3/1/1] quit
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.9
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] mpls te cspf
[RouterB-mpls] mpls te ds-te mode ietf
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls te
[RouterB-GigabitEthernet3/1/1] mpls rsvp-te
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] mpls
[RouterB-POS2/1/1] mpls te
[RouterB-POS2/1/1] mpls rsvp-te
[RouterB-POS2/1/1] quit
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.9
[RouterC] mpls
[RouterC-mpls] mpls te
[RouterC-mpls] mpls rsvp-te
[RouterC-mpls] mpls te cspf
[RouterC-mpls] mpls te ds-te mode ietf
[RouterC-mpls] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls
[RouterC-GigabitEthernet3/1/1] mpls te
[RouterC-GigabitEthernet3/1/1] mpls rsvp-te
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface pos 2/1/1
[RouterC-POS2/1/1] mpls
[RouterC-POS2/1/1] mpls te
[RouterC-POS2/1/1] mpls rsvp-te
[RouterC-POS2/1/1] quit
# 配置Router D。
[RouterD] mpls lsr-id 4.4.4.9
[RouterD] mpls
[RouterD-mpls] mpls te
[RouterD-mpls] mpls rsvp-te
[RouterD-mpls] mpls te cspf
[RouterD-mpls] mpls te ds-te mode ietf
[RouterD-mpls] quit
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] mpls
[RouterD-GigabitEthernet3/1/1] mpls te
[RouterD-GigabitEthernet3/1/1] mpls rsvp-te
[RouterD-GigabitEthernet3/1/1] quit
(4) 配置IS-IS TE
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] traffic-eng level-2
[RouterA-isis-1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] traffic-eng level-2
[RouterB-isis-1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] traffic-eng level-2
[RouterC-isis-1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] cost-style wide
[RouterD-isis-1] traffic-eng level-2
[RouterD-isis-1] quit
(5) 配置链路的MPLS TE属性
# 在Router A上配置链路的最大带宽和最大可预留带宽。
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterA-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[RouterA-GigabitEthernet3/1/1] quit
# 在Router B上配置链路的最大带宽和最大可预留带宽。
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterB-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] interface pos 2/1/1
[RouterB-POS2/1/1] mpls te max-link-bandwidth 10000
[RouterB-POS2/1/1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[RouterB-POS2/1/1] quit
# 在Router C上配置链路的最大带宽和最大可预留带宽。
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterC-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] interface pos 2/1/1
[RouterC-POS2/1/1] mpls te max-link-bandwidth 10000
[RouterC-POS2/1/1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[RouterC-POS2/1/1] quit
# 在Router D上配置链路的最大带宽和最大可预留带宽。
[RouterD] interface GigabitEthernet 3/1/1
[RouterD-GigabitEthernet3/1/1] mpls te max-link-bandwidth 10000
[RouterD-GigabitEthernet3/1/1] mpls te max-reservable-bandwidth rdm 10000 bc1 8000 bc2 5000 bc3 2000
[RouterD-GigabitEthernet3/1/1] quit
(6) 配置MPLS TE隧道
# 在Router A上配置MPLS TE隧道。
[RouterA] interface tunnel 1
[RouterA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[RouterA-Tunnel1] tunnel-protocol mpls te
[RouterA-Tunnel1] destination 4.4.4.9
[RouterA-Tunnel1] mpls te tunnel-id 10
[RouterA-Tunnel1] mpls te signal-protocol rsvp-te
[RouterA-Tunnel1] mpls te bandwidth ct2 4000
[RouterA-Tunnel1] mpls te priority 0
[RouterA-Tunnel1] mpls te commit
[RouterA-Tunnel1] quit
(7) 配置完成后的检验
配置完成后,在Router A上执行display interface tunnel命令可以看到隧道接口状态为up。
[RouterA] 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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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
在Router A上执行display mpls te tunnel-interface命令可以看到隧道的详细信息。
[RouterA] 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
Tunnel mode : -
Class Type : CT2 Tunnel BW : 4000 kbps
Reserved BW : 4000 kbps
Setup Priority : 0 Hold Priority: 0
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : -
Tie-Breaking Policy : None
Metric Type : None
Loop Detection : Disabled
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 : -
在Router A上执行display mpls te cspf tedb all命令查看TEDB中的链路信息。
[RouterA] 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
在Router A上执行display mpls te link-administration bandwidth-allocation命令查看接口带宽信息。
[RouterA] display mpls te link-administration bandwidth-allocation interface GigabitEthernet 3/1/1
Link ID: GigabitEthernet 3/1/1
Max Link Bandwidth : 10000 kbits/sec
Max Reservable Bandwidth PreStandard RDM : 0 kbits/sec
Max Reservable Bandwidth IETF RDM : 10000 kbits/sec
Max Reservable Bandwidth IETF MAM : 0 kbits/sec
Downstream LSP Count : 1
UpStream LSP Count : 1
Downstream Bandwidth : 4000 kbits/sec
Upstream Bandwidth : 0 kbits/sec
IPUpdown Link Status : UP
PhysicalUpdown Link Status : UP
BC PreStandard Mode RDM(kbps) IETF Mode RDM(kbps) IETF Mode MAM(kbps)
0 0 10000 0
1 0 8000 0
2 0 5000 0
3 0 2000 0
TE CLASS CLASS TYPE PRIORITY BW RESERVED(kbps) BW AVAILABLE(kbps)
0 0 7 0 6000
1 1 7 0 4000
2 2 7 0 1000
3 3 7 0 1000
4 0 0 0 6000
5 1 0 0 4000
6 2 0 4000 1000
7 3 0 0 1000
(8) 使用静态路由沿MPLS TE隧道转发流量
[RouterA] ip route-static 30.1.1.2 24 tunnel 1 preference 1
在Router A上执行display ip routing-table命令,可以看到路由表中有以Tunnel1为出接口的静态路由信息。
· Router A、Route B、Route C、Route D和Route E均支持MPLS,运行OSPF作为MPLS网络中的IGP;
· Route A和Route B、Route C和Route D之间建立本地LDP会话;
· Route B和Route C之间建立远端LDP会话;
· 使用RSVP-TE信令协议在Router B→Router E→Router C上建立MPLS TE的隧道。
图1-18 MPLS LDP over MPLS TE组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop0 |
1.1.1.1/32 |
Router E |
Loop0 |
5.5.5.5/32 |
|
GE3/1/1 |
2.1.1.1/24 |
|
POS5/1/1 |
3.2.1.2/24 |
Router B |
Loop0 |
2.2.2.2/32 |
|
POS5/1/2 |
3.3.1.1/24 |
|
GE3/1/1 |
2.1.1.2/24 |
Router C |
Loop0 |
3.3.3.3/32 |
|
GE3/1/2 |
3.1.1.1/24 |
|
GE3/1/1 |
4.1.1.1/24 |
|
POS5/1/1 |
3.2.1.1/24 |
|
GE3/1/2 |
3.1.1.2/24 |
Router D |
Loop0 |
4.4.4.4/32 |
|
POS5/1/2 |
3.3.1.2/24 |
|
GE3/1/1 |
4.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址
按照图1-18配置各接口的IP地址和掩码,包括各Loopback接口,具体配置过程略。
(2) 配置IGP协议
在所有设备上配置OSPF协议,发布LSR ID的主机路由和各接口网段路由,具体配置过程略。
(3) 配置MPLS LDP基本能力
在Router A和Router D上配置MPLS LDP基本能力,具体配置过程略。
(4) 配置MPLS TE
在Router B、Router C、Router E上配置MPLS TE基本能力,并使能RSVP-TE和CSPF。
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls
[RouterB-mpls] mpls te
[RouterB-mpls] mpls rsvp-te
[RouterB-mpls] mpls te cspf
[RouterB-mpls] quit
[RouterB] interface POS 5/1/1
[RouterB-POS5/1/1] mpls
[RouterB-POS5/1/1] mpls te
[RouterB-POS5/1/1] mpls rsvp-te
[RouterB-POS5/1/1] quit
# 配置Router E。
<RouterE> system-view
[RouterE] mpls lsr-id 5.5.5.5
[RouterE] mpls
[RouterE-mpls] mpls te
[RouterE-mpls] mpls rsvp-te
[RouterE-mpls] mpls te cspf
[RouterE-mpls] quit
[RouterE] interface POS 5/1/1
[RouterE-POS5/1/1] mpls
[RouterE-POS5/1/1] mpls te
[RouterE-POS5/1/1] mpls rsvp-te
[RouterE-POS5/1/1] quit
[RouterE] interface POS 5/1/2
[RouterE-POS5/1/2] mpls
[RouterE-POS5/1/2] mpls te
[RouterE-POS5/1/2] mpls rsvp-te
[RouterE-POS5/1/2] quit
# 配置Router C。
<RouterC> system-view
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls
[RouterC-mpls] mpls te
[RouterC-mpls] mpls rsvp-te
[RouterC-mpls] mpls te cspf
[RouterC-mpls] quit
[RouterC] interface POS 5/1/1
[RouterC-POS5/1/1] mpls
[RouterC-POS5/1/1] mpls te
[RouterC-POS5/1/1] mpls rsvp-te
[RouterC-POS5/1/1] quit
(5) 在Router B上建立MPLS TE隧道
# 配置MPLS TE隧道。
[RouterB] interface tunnel 4
[RouterB-Tunnel4] ip address 10.1.1.1 255.255.255.0
[RouterB-Tunnel4] tunnel-protocol mpls te
[RouterB-Tunnel4] destination 3.3.3.3
[RouterB-Tunnel4] mpls te tunnel-id 10
# 配置IGP Shortcut。
[RouterB-Tunnel4] mpls te igp shortcut
[RouterB-Tunnel4] mpls te igp metric relative -1
[RouterB-Tunnel4] mpls te commit
# 使能MPLS。
[RouterB-Tunnel4] mpls
[RouterB-Tunnel4] quit
# 配置OSPF TE。
[RouterB] ospf
[RouterB-ospf-1] opaque-capability enable
[RouterB-ospf-1] enable traffic-adjustment
[RouterB-ospf-1] area 0.0.0.0
[RouterB-ospf-1-area-0.0.0.0] mpls-te enable
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
配置完成后,在Router B上执行display interface tunnel命令,可以看到隧道接口Tunnel4的状态为up。
[RouterB] 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 3.3.3.3
Tunnel bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 8 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
47 packets output, 2740 bytes
0 output error
在Router B上执行display ip routing-table命令,可以看到从Router B到Router C的路由出接口为隧道接口Tunnel4。
[RouterB] display ip routing-table
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.1/32 OSPF 10 1 2.1.1.1 GE3/1/1
2.1.1.0/24 Direct 0 0 2.1.1.2 GE3/1/1
2.1.1.2/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0
3.1.1.0/24 Direct 0 0 3.1.1.1 GE3/1/2
3.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
3.3.3.3/32 OSPF 10 1 10.1.1.1 Tun4
4.1.1.0/24 OSPF 10 2 10.1.1.1 Tun4
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
· 必须为MPLS TE隧道配置IGP Shortcut或配置静态路由,使得IP路由优选MPLS TE隧道接口为出接口。
· MPLS TE隧道接口上必须使能MPLS。
· MPLS TE隧道的目的地址必须配置为隧道尾节点的LSR ID。
(6) 在Router B和Router C上配置LDP能力
# 配置Router B。
[RouterB] mpls
[RouterB-mpls] mpls ldp
[RouterB-mpls] quit
[RouterB] interface GigabitEthernet 3/1/1
[RouterB-GigabitEthernet3/1/1] mpls
[RouterB-GigabitEthernet3/1/1] mpls ldp
[RouterB-GigabitEthernet3/1/1] quit
[RouterB] mpls ldp remote-peer C
[RouterB-mpls-ldp-remote-c] remote-ip 3.3.3.3
[RouterB-mpls-ldp-remote-c] quit
# 配置Router C。
[RouterC] mpls
[RouterC-mpls] mpls ldp
[RouterC-mpls] quit
[RouterC] interface GigabitEthernet 3/1/1
[RouterC-GigabitEthernet3/1/1] mpls
[RouterC-GigabitEthernet3/1/1] mpls ldp
[RouterC-GigabitEthernet3/1/1] quit
[RouterC] mpls ldp remote-peer b
[RouterC-mpls-ldp-remote-b] remote-ip 2.2.2.2
[RouterC-mpls-ldp-remote-b] prefix-label advertise
[RouterC-mpls-ldp-remote-b] quit
在Router B上执行display mpls ldp session命令,可以看到Router B和Router C之间建立了远端会话。
[RouterB] display mpls ldp session verbose
LDP Session(s) in Public Network
----------------------------------------------------------------------
Peer LDP ID : 1.1.1.1:0 Local LDP ID : 2.2.2.2:0
TCP Connection : 2.2.2.2 -> 1.1.1.1
Session State : Operational Session Role : Active
Session FT Flag : Off MD5 Flag : Off
Reconnect Timer : --- Recovery Timer : ---
Negotiated Keepalive Timer : 45 Sec
Keepalive Message Sent/Rcvd : 437/437 (Message Count)
Label Advertisement Mode : Downstream Unsolicited
Label Resource Status(Peer/Local) : Available/Available
Peer Discovery Mechanism : Basic
Session existed time : 000:01:48 (DDD:HH:MM)
LDP Basic Discovery Source : GigabitEthernet3/1/1
Addresses received from peer: (Count: 2)
2.1.1.1 1.1.1.1
----------------------------------------------------------------------
Peer LDP ID : 3.3.3.3:0 Local LDP ID : 2.2.2.2:0
TCP Connection : 2.2.2.2 <- 3.3.3.3
Session State : Operational Session Role : Passive
Session FT Flag : Off MD5 Flag : Off
Reconnect Timer : --- Recovery Timer : ---
Negotiated Keepalive Timer : 45 Sec
Keepalive Message Sent/Rcvd : 411/411 (Message Count)
Label Advertisement Mode : Downstream Unsolicited
Label Resource Status(Peer/Local) : Available/Available
Peer Discovery Mechanism : Extended
Session existed time : 000:01:42 (DDD:HH:MM)
LDP Extended Discovery Source : Remote peer: 1
Addresses received from peer: (Count: 2)
4.1.1.1 3.3.3.3
----------------------------------------------------------------------
在Router B上执行display mpls ldp lsp命令,可以看到Router C通过远端会话给Router B发送了标签映射消息,并与Router B建立了LDP LSP。
[RouterB] display mpls ldp lsp
LDP LSP Information
----------------------------------------------------------------------
SN DestAddress/Mask In/OutLabel Next-Hop In/Out-Interface
----------------------------------------------------------------------
1 1.1.1.1/32 NULL/3 2.1.1.1 -------/GE3/1/1
2 2.2.2.2/32 3/NULL 127.0.0.1 -------/InLoop0
3 3.3.3.3/32 NULL/3 10.1.1.1 -------/Tun4
4 3.3.3.3/32 1024/3 10.1.1.1 -------/Tun4
----------------------------------------------------------------------
A '*' before an LSP means the LSP is not established
A '*' before a Label means the USCB or DSCB is stale
:
LDP远端对等体的remote-ip必须配置为MPLS TE隧道尾节点的LSR ID。
(7) 配置完成后的检验
在Router B上执行display mpls lsp命令,可以看到从Router B到Router C的LDP LSP和MPLS TE隧道已经嵌套关联,即LDP LSP的出接口为MPLS TE隧道接口。
[RouterB] display mpls lsp include 3.3.3.3 32 verbose
----------------------------------------------------------------------
LSP Information: RSVP LSP
----------------------------------------------------------------------
No : 1
IngressLsrID : 2.2.2.2
LocalLspID : 1
Tunnel-Interface : Tunnel4
Fec : 3.3.3.3/32
Nexthop : 3.2.1.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : POS5/1/1
LspIndex : 3073
Tunnel ID : 0x11000c
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
----------------------------------------------------------------------
LSP Information: LDP LSP
----------------------------------------------------------------------
No : 2
VrfIndex :
Fec : 3.3.3.3/32
Nexthop : 10.1.1.1
In-Label : NULL
Out-Label : 3
In-Interface : ----------
Out-Interface : Tunnel4
LspIndex : 6147
Tunnel ID : 0x11000e
LsrType : Ingress
Outgoing Tunnel ID : 0x15000d
Label Operation : PUSH
No : 3
VrfIndex :
Fec : 3.3.3.3/32
Nexthop : 10.1.1.1
In-Label : 1024
Out-Label : 3
In-Interface : ----------
Out-Interface : Tunnel4
LspIndex : 6148
Tunnel ID : 0x11000f
LsrType : Transit
Outgoing Tunnel ID : 0x15000d
Label Operation : SWAP
· CE 1和CE 2都属于VPN 1,分别通过PE 1和PE 2接入MPLS骨干网。MPLS骨干网使用OSPF作为IGP协议;
· 配置MPLS TE隧道转发PE 1到PE 2的VPN流量;
· 为了使TE隧道能够转发MPLS L3VPN的流量,需要在建立VPN时配置隧道策略,使用CR-LSP作为VPN隧道。
图1-19 在VPN中配置MPLS TE组网图
(1) 配置IGP协议OSPF,使PE 1和PE 2能学习到对方的路由。
# 配置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 pos 2/1/2
[PE1-POS2/1/2] clock master
[PE1-POS2/1/2] ip address 10.0.0.1 255.255.255.0
[PE1-POS2/1/2] 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
# 配置PE 2。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.3 255.255.255.255
[PE2-LoopBack0] quit
[PE2] interface pos 2/1/2
[PE2-POS2/1/2] ip address 10.0.0.2 255.255.255.0
[PE2-POS2/1/2] 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(POS2/1/2)'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 POS2/1/2
10.0.0.0/24 Direct 0 0 10.0.0.1 POS2/1/2
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 POS2/1/2
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 pos 2/1/2
[PE1-POS2/1/2] mpls
[PE1-POS2/1/2] mpls te
[PE1-POS2/1/2] mpls rsvp-te
[PE1-POS2/1/2] 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 pos 2/1/2
[PE2-POS2/1/2] mpls
[PE2-POS2/1/2] mpls te
[PE2-POS2/1/2] mpls rsvp-te
[PE2-POS2/1/2] 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 Tunnel4
[PE1-Tunnel4] ip address 12.1.1.1 255.255.255.0
[PE1-Tunnel4] tunnel-protocol mpls te
[PE1-Tunnel4] destination 3.3.3.3
[PE1-Tunnel4] mpls te tunnel-id 10
[PE1-Tunnel4] mpls te signal-protocol rsvp-te
[PE1-Tunnel4] mpls te commit
[PE1-Tunnel4] quit
上述配置完成后,在PE 1上执行display interface tunnel命令可以看到隧道接口状态为up。
(5) 在PE设备上配置VPN实例,并绑定到连接CE的接口上。
# 配置CE 1。
<CE1> system-view
[CE1] interface GigabitEthernet 3/1/1
[CE1-GigabitEthernet3/1/1] ip address 192.168.1.2 255.255.255.0
[CE1-GigabitEthernet3/1/1] 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 GigabitEthernet 3/1/1
[PE1-GigabitEthernet3/1/1] ip binding vpn-instance vpn1
[PE1-GigabitEthernet3/1/1] ip address 192.168.1.1 255.255.255.0
[PE1-GigabitEthernet3/1/1] quit
# 配置CE 2。
<CE2> system-view
[CE2] interface GigabitEthernet 3/1/1
[CE2-GigabitEthernet3/1/1] ip address 192.168.2.2 255.255.255.0
[CE2-GigabitEthernet3/1/1] 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 GigabitEthernet 3/1/1
[PE2-GigabitEthernet3/1/1] ip binding vpn-instance vpn1
[PE2-GigabitEthernet3/1/1] ip address 192.168.2.1 255.255.255.0
[PE2-GigabitEthernet3/1/1] 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 : GigabitEthernet3/1/1
各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-A建立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 vpnv4 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 vpnv4 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 : Tunnel4
Fec : 3.3.3.3/32
Nexthop : 10.0.0.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : POS2/1/2
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
在PE 1上执行display interface tunnel命令可以看到流量通过TE隧道CR-LSP转发。
[PE1] display interface tunnel 4
Tunnel4 current state: UP
Line protocol current state: UP
Description: Tunnel4 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 bandwidth 64 (kbps)
Tunnel protocol/transport CR_LSP
Last clearing of counters: Never
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。
· 执行display current-configuration命令,检查是否在相关接口上配置了MPLS TE;
· 执行debugging ospf mpls-te命令打开OSPF TE的调试开关,检查OSPF是否收到建立TE LINK的消息;
· 执行display ospf peer命令,检查OSPF邻居是否正常建立。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!