01-SR-MPLS配置
本章节下载: 01-SR-MPLS配置 (1.72 MB)
目 录
1.8.2 MPLS TE隧道采用静态SRLSP转发流量配置任务简介
1.8.3 MPLS TE隧道采用显式路径SRLSP转发流量配置任务简介
1.8.4 MPLS TE隧道采用PCE计算建立的SRLSP转发流量配置任务简介
1.13.5 配置设备在SR-MPLS组网中作为Egress节点时为倒数第二跳分配的标签类型
1.15.3 配置优先使用IS-IS SR建立的SRLSP转发流量
1.15.4 配置优先使用OSPF SR建立的SRLSP转发流量
1.16.1 MPLS TE隧道采用静态SRLSP配置任务简介
1.17.1 配置MPLS TE隧道采用显式路径SRLSP配置任务简介
1.18 配置MPLS TE隧道采用PCE计算建立SRLSP
1.18.1 MPLS TE隧道采用PCE计算建立SRLSP配置任务简介
1.18.2 配置MPLS TE隧道采用PCE计算SRLSP
1.23.6 跨域VPN-OptionB方式SR-MPLS配置举例
1.23.7 跨域VPN-OptionC方式SR-MPLS配置举例一
1.23.8 跨域VPN-OptionC方式SR-MPLS配置举例二
1.23.9 跨域VPN-OptionC方式SR-MPLS配置举例三
1.23.10 SR-MPLS to LDP配置举例(IS-IS)
1.23.11 SR-MPLS to LDP配置举例(OSPF)
1.23.12 SR-MPLS over LDP网络互通配置举例
SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。SR-MPLS(Segment Routing with MPLS,MPLS段路由)是指在MPLS网络中使用SR、将标签作为SID对报文进行转发。
SR-MPLS具有以下优点:
· 直接应用现有的MPLS框架进行转发,无需对网络进行改造。MPLS网络架构的详细介绍,请参见“MPLS配置指导”中的“MPLS基础”。
· 通过对现有的IGP协议和BGP协议进行扩展和优化,可以直接利用IGP协议和BGP协议来进行标签的分发。
· 能够更加简单地实现MPLS TE等网络功能,解决了现有网络为实现上述功能而带来的部署路由协议过多、部署过程复杂等问题。
SR主要涉及如下概念:
· SR节点:开启SR-MPLS功能的设备通常被称为SR节点。其中,负责为进入SR-MPLS网络的报文添加标签的入口节点称为源节点;负责剥离报文中标签、并将报文转发给目的网络的出口节点称为尾节点。
· 段:用来指明节点对入报文所执行的操作。
· SID:段标识,在SR-MPLS中为MPLS标签。
· 分段类型:根据SID分配形式不同,SR的分段类型有如下两种:
¡ Prefix Segment:前缀类型的段,按目的IP地址前缀为网络的节点分配SID并建立转发表项。
¡ Adjacency Segment:邻接类型的段,为节点的不同邻接链路分别分配SID。
· SRLSP(Segment Routing Label Switched Path,基于段路由的LSP):以标签作为SID对报文进行段路由转发,报文所经过的路径称为SRLSP。
· SRGB(Segment Routing Global Block,分段路由全局标签段):专门用于SR-MPLS前缀类型SID(Prefix SID)的全局标签范围,各个节点的SRGB范围可以不同,SRGB的标签范围由标签段基值和Range确定,其中标签段基值表示SRGB标签段的最小值,Range表示标签数目。
· SRLB(Segment Routing Local Block,分段路由本地标签段):专门用于SR-MPLS邻接类型SID(Adjacency SID)的本地标签范围,各个节点的SRLB范围相同,SRLB的标签范围由标签段基值和Range确定,其中标签段基值表示SRLB标签段的最小值,Range表示标签数目。
· SR-MPLS BE(MPLS Segment Routing Best Effort)是指IGP使用最短路径算法计算得到的最优SRLSP,由SID指导数据转发过程。SR LSP的创建过程和数据转发与LDP LSP类似。SR-MPLS BE不需要建立隧道接口。
· SR-MPLS TE(MPLS Segment Routing Traffic Engineering)是使用SR作为控制协议的一种新型的TE隧道技术。SR-MPLS TE与SR-MPLS BE相同之处是两者都需要建立SRLSP,不同之处在于SRLSP的建立方式,SR-MPLS TE的隧道可以是由静态手工配置显式路径创建,也可以是通过控制器算路,并将标签栈下发给设备来创建。在SR-MPLS TE隧道的入节点上,需要创建隧道Tunnel接口,由设备为报文封装标签栈从而控制报文在网络中的传输路径。
要想通过SRLSP转发报文,需要完成以下工作:
(1) 进行标签分配,为报文转发路径中的每个节点和链路规划标签信息,可以使用静态配置Segment或者动态分配SID两种方式。
(2) 建立标签转发表项,运行SR-MPLS的设备组成的分段路由域内的设备根据分配的标签信息形成本地的标签转发表项。
(3) 建立SRLSP,SRLSP可以手工配置,也可以通过IGP/BGP协议动态建立或通过控制器下发。
完成上述步骤后,SRLSP即可用来转发流量。当源节点接收到用户网络的报文后,会为报文封装所经过路径上的标签信息,并通过SRLSP将报文转发给尾节点;尾节点从SRLSP接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。
如果将SRLSP与上层应用关联,如MPLS TE,则可以实现通过SRLSP来转发MPLS TE等流量。
根据SRLSP的建立方式和配置差异,将SR-MPLS隧道分为SR-MPLS BE和SR-MPLS TE隧道。当SR-MPLS BE或SR-MPLS TE隧道建立之后,流量不会自动通过SR-MPLS BE或SR-MPLS TE隧道转发,需要通过如下方法将业务流量引入SR-MPLS BE或SR-MPLS TE隧道。
静态路由是将流量引入SR-MPLS BE或SR-MPLS TE隧道的最简便、直观的方法。
使用静态路由转发流量,是指定义一条通过Tunnel接口到达目的网络地址的静态路由,并且允许该静态路由迭代到SR-MPLS BE或SR-MPLS TE方式建立的LSP隧道中,使流量通过SR-MPLS BE或SR-MPLS TE隧道转发。关于静态路由迭代LSP隧道的详细介绍,请参见“三层技术-IP路由配置指导”中的“静态路由”。
VPN流量通过隧道进行转发时,缺省采用LDP LSP而非SR-MPLS BE或SR-MPLS TE隧道。通过对VPN流量应用隧道策略或者隧道迭代器,将流量引入到SR-MPLS BE或SR-MPLS TE隧道中进行转发。
管理员可以根据业务需求,通过如下隧道策略将VPN流量引入到SR-MPLS BE或SR-MPLS TE隧道中:
· 隧道绑定策略:隧道绑定是指将某个目的地址与某条隧道进行绑定,从而使应用了隧道绑定的VPN业务到该目的地址的流量只能承载在该条隧道上。
· 首选隧道策略:该方式为VPN流量显式指定了一条SR-MPLS TE隧道,选择的隧道是明确的、可以预期的,便于网络流量规划。
· 负载分担策略:该策略可以改变VPN选择的隧道类型,按照配置的隧道类型优先级顺序将SR-MPLS BE或SR-MPLS TE隧道选择为VPN的公网隧道。
关于以上隧道绑定策略、首选隧道策略和负载分担策略的详细介绍,请参见“MPLS配置指导”中的“隧道策略”。
使用PBR(Policy-based Routing,基于策略的路由)转发流量,是指定义策略路由,在策略路由中将匹配ACL规则的流量的出接口指定为Tunnel接口,并在流量的入接口上应用该策略路由,从而实现将流量引入到SR-MPLS TE隧道上进行转发。
策略路由方式不仅可以根据目的IP地址来匹配需要通过Tunnel接口转发的流量,还可以根据源IP地址、协议类型等来匹配流量。与静态路由方式相比,策略路由方式更加灵活,但是配置比较复杂。关于策略路由的详细介绍,请参见“三层技术-IP路由配置指导”中的“策略路由”。
自动路由发布是指将SR-MPLS TE隧道发布到IGP(OSPF或IS-IS)路由中,让SR-MPLS TE隧道参与IGP路由的计算,使得流量可以通过SR-MPLS TE隧道转发。
自动路由发布包括以下两种方式:
· IGP Shortcut:也称为自动路由宣告(AutoRoute Announce),该功能将SR-MPLS TE隧道当作一条直接连接隧道Ingress节点(头节点)和Egress节点(尾节点)的链路,在隧道的Ingress节点上进行IGP路由计算时考虑该SR-MPLS TE隧道。
· 转发邻接:该功能将SR-MPLS TE隧道当作一条直接连接隧道Ingress节点和Egress节点的链路,通过IGP路由协议将该链路发布到网络中,以便网络中的节点在路由计算时使用SR-MPLS TE隧道。
IGP Shortcut和转发邻接功能的区别在于:
· 在隧道的Ingress节点上开启IGP Shortcut功能后,只有Ingress节点计算IGP路由时会考虑SR-MPLS TE隧道。IGP Shortcut功能不会通过IGP路由协议将SR-MPLS TE隧道作为一条链路发布出去。因此,其他设备在路由计算时不会考虑SR-MPLS TE隧道。
· 在隧道的Ingress节点上开启转发邻接功能后,Ingress节点会通过IGP路由协议将SR-MPLS TE隧道作为一条链路发布出去。因此,IGP网络中的所有设备在路由计算时都会考虑SR-MPLS TE隧道。
图1-1 IGP Shortcut与转发邻接示意图
在图1-1中,Device D到Device C之间存在一条SR-MPLS TE隧道,IGP Shortcut只能使Ingress节点Device D在计算IGP路由时利用这条隧道,Device A并不能利用这条隧道到达Device C。如果配置了转发邻接功能,则Device A也能够知道这条SR-MPLS TE隧道的存在,从而可以利用该隧道将到Device C的流量转发到Device D上。
静态配置Segment的方式为:
· Prefix Segment:在每台SR节点上为目的IP地址前缀手工指定入标签、出标签和下一跳。
· Adjacency Segment:在每台SR节点上为与邻接设备相连的链路手工指定入标签和下一跳对应关系。
对IGP协议(如IS-IS、OSPF)进行扩展后,可以在IGP协议报文中通告SID。动态分配和通告SID的方式为:
· Prefix SID
· Adjacency SID
每个SR节点均手工为自己的Loopback地址指定SID,该SID用来标识特定的SR节点。运行SR-MPLS的设备组成的分段路由域内,通过IGP通告SR节点的Prefix SID,其他节点根据收到的报文自动计算到达该SR节点的Prefix SID。通告的形式有两种:
· 通告绝对值:直接将Prefix SID和本地SRGB标签段通告出去;
· 通告索引值:为每个SR节点分配一个全局唯一的Index,即每个SR节点的前缀与Index一一对应。通过IGP扩展通告各个SR节点的SRGB标签段和段内Index。SR节点的SRGB基值+前缀的Index即为该节点为该前缀分配的Prefix SID。
目前,设备仅支持以索引值的形式进行Prefix SID的通告。
SR节点间通过IGP协议通告为邻接链路分配SID,该SID用来标识本地设备的特定邻接链路。Adjacency SID分配方式有两种:
· 自动分配Adjacency SID:自动从SRLB中选择标签分配给邻接链路。
· 手工指定Adjacency SID:
¡ 绝对值方式:直接指定Adjacency SID。
¡ 索引值方式:为邻接链路分配Index。SR节点的SRLB基值+Index即为该节点为邻接链路分配的Adjacency SID。
对BGP协议进行扩展后,BGP对等体之间可以通过协议报文通告Prefix SID。BGP在引入路由时通过路由策略为不同前缀地址分配SID,该SID用来表示特定的SR节点。运行SR-MPLS的设备组成的分段路由域内,通过BGP通告SR节点的Prefix SID。BGP通告时会将前缀的SID和SID索引值一同向邻居通告,其他节点根据收到的报文获得到达该SR节点的Prefix SID。
通过BGP协议动态分配的BGP Prefix SID信息只能通过IPv4单播路由在BGP对等体间进行交换,通常应用于跨域VPN-Option C方式组网。
BGP-EPE(BGP Egress Peer Engineering,BGP出口对等体工程)用来为域间路径分配BGP Peer SID。Peer SID通过BGP LS扩展传递给网络控制器。控制器通过对IGP SID和BGP Peer SID进行合理编排,实现跨域最优路径转发。
BGP-EPE为对等体分配SID时可以自动分配,也可以手工指定。如图1-2所示,BGP-EPE能够针对对等体分配以下SID:
· PeerNode SID:用于标识一个对等体节点。每一个BGP会话都会分配PeerNode SID。对于基于Loopback接口建立的EBGP邻居,其对应的物理链路可能有多条,那么针对该邻居的PeerNode SID就会对应多个出接口。基于PeerNode SID转发时,会在多个出接口间负载分担。
· PeerAdj SID:用于标识到达对等体的一个邻接链路。对于基于Loopback接口建立的EBGP邻居,其对应的物理链路可能有多条,则每条链路都会分配一个PeerAdj SID。基于PeerAdj SID转发时,只能通过指定出接口进行转发。
· PeerNode-Adj SID:既可用于标识一个对等体节点,也可以标识到达对等体的一条或多条邻接链路。
· PeerSet SID:用于标识一组对等体。BGP支持将一组对等体规划为一个Set,基于该组分配SID,这个SID称为PeerSet SID。基于PeerSet SID转发时,会在多个邻居间负载分担。一个PeerSet SID对应多个PeerNode SID和PeerAdj SID。
如图1-2所示,BGP-EPE的标签分配方式为:
· ASBR 1和ASBR 3间存在两条直连物理链路,二者通过LoopBack接口建立EBGP邻居,BGP-EPE针对对等体分配了PeerNode SID 28001,为物理链路分配了PeerAdj SID 18001和18002。当通过PeerNode SID转发流量时,会在两条链路间负载分担。
· ASBR 1和ASBR 5,ARBR 2和ASBR 4,以及ASBR 2和ASBR 5使用直连物理接口建立EBGP邻居,BGP-EPE为对等体只分配了PeerNode SID 28002,28003和28004。
· ASBR 4、ASBR 5均和ASBR 2建立EBPG邻居关系,BGP-EPE将对等体ASBR 4和ASBR 5加入同一Set组,为其分配PeerSet SID 29001。当通过PeerSet SID转发流量时,会在多个邻居间负载分担。
通过BGP-EPE功能为邻居分配的SID仅具有本地意义,不会向其他设备通告,因此不受BGP对等体间交换路由信息类型的影响。通常应用于跨域VPN-Option B方式组网。
通过Prefix SID建立的标签转发表项可以分为:
· 静态标签转发表项:设备根据手工指定的入标签、出标签以及下一跳的对应关系形成本地的标签转发表项;
· 动态标签转发表项:设备通过IGP协议将本地SRGB和为本地Loopback接口地址分配的Prefix SID的索引值在分段路由域内进行泛洪。分段路由域内的其他设备根据收到的信息计算出本地的标签转发表项,入标签为本地SRGB标签段基值+Index,出标签为下一跳的SRGB基值+Index。
图1-3 根据Prefix SID建立标签转发表项
如图1-3所示,以动态分配Prefix SID为例。网络管理员将索引值201分配给Device C上的Loopback地址1.1.1.1/32。Device C通过IGP协议报文将该索引值以及本地SRGB通告出去。运行IGP SR的节点,形成的标签转发表项如下:
· Device C上标签转发表项的入标签为16201;
· Device B收到该通告后,形成SRLSP标签转发表项,入标签为16201,出标签为16201,下一跳为Device C;
· Device A收到该通告后,形成SRLSP标签转发表项,入标签为16201,出标签为16201,下一跳为Device B。
BGP引入路由并通过路由策略为前缀分配Prefix SID后,将前缀的SID和SID索引值一同向邻居通告,其他节点根据收到的报文计算出本地的标签转发表项,入标签为本地SRGB标签段基值+Index,出标签为收到的SID。
图1-4 根据BGP Prefix SID建立标签转发表项
如图1-4所示,网络管理员将索引值201分配给Device D上的Loopback地址1.1.1.1/32。Device D引入Loopback地址的路由后为其分配SID并通过BGP协议报文将该SID以及SID的索引值通告出去。运行BGP SR的节点,形成的标签转发表项如下:
· Device D上标签转发表项的入标签为16201;
· Device C收到该通告后,形成SRLSP标签转发表项,入标签为16201,出标签为16201,下一跳为Device D;
· Device B收到该通告后,形成SRLSP标签转发表项,入标签为16201,出标签为16201,下一跳为Device C。
· Device A收到该通告后,形成SRLSP标签转发表项,入标签为16201,出标签为16201。下一跳仍为DeviceB。
通过在边界路由器上配置BGP-EPE功能,为指定对等体/对等体组分配标签值。
图1-5 配置BGP-EPE功能建立标签转发表项
如图1-5所示,在Device B上开启BGP-EPE功能,分别为EBGP邻居Device C和Device D分配BGP peering SID。通过BGP-EPE功能为邻居分配的标签仅具有本地意义,不再向邻居进行通告。
当采用Adjacency方式时,设备为与邻接设备相连的链路静态或动态分配入标签。该标签值只在本地有效,不同设备上的Adjacency SID可以相同。
图1-6 根据Adjacency SID建立标签转发表项
如图1-6所示,设备之间运行IGP协议,当IGP邻居建立后,Device A为与Device B连接的链路分配的标签为203,Device B为与Device C连接的链路分配的标签为202,Device C为与Device D连接的链路分配的标签为201。各设备上形成的标签转发表项如下:
· Device A形成标签转发表项的入标签203、下一跳为Device B;
· Device B形成标签转发表项的入标签为202、下一跳为Device C;
· Device C形成标签转发表项的入标签为201、下一跳为Device D。
SRLSP建立方式包括:
· 静态配置:根据转发路径需要,在隧道头节点上指定报文转发时携带的标签栈。标签栈中的每个标签对应一个Prefix SID或Adjacency SID,根据Prefix SID或Adjacency SID可以找到报文的出标签、下一跳等信息。
· 根据IGP/BGP协议动态建立:SR节点通过IGP/BGP协议搜集SR-MPLS网络中的前缀SID信息,并根据该信息及IGP/BGP网络拓扑信息,计算出到达SR-MPLS网络中各个SR节点的最短路径,并在该路径上建立SRLSP。
· 控制器下发:由控制器下发配置,在设备上创建SRLSP。该方式的详细介绍请参见控制器相关资料。
根据SID分配方式的不同,SR-MPLS报文转发过程主要分为以下几种:
· Prefix方式:在源节点将为尾节点分配的Prefix SID封装到报文中,各中间节点查找标签转发表项进行转发。
· Adjacency方式:在源节点将所有经过节点为邻接链路分配的Adjacency SID组成的标签栈封装到报文中,各中间节点根据标签栈最外层标签查找下一跳邻居,并在转发报文时删除标签栈最外层标签。
· Prefix/Adjacency方式:采用Prefix和Adjacency组合方式进行报文转发。
如图1-7所示,Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签为16201。Prefix方式报文转发过程如下:
(1) 在源节点Device A根据16201查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为16201,Device A为报文封装标签16201,发送给中间节点Device B。
(2) 中间节点Device B的入标签为16201,出标签为16201,将16201替换为16201,发送给下一个中间节点Device C继续转发。
(3) 中间节点Device C及Device D的转发过程和Device B类似。
(4) 报文到达尾节点Device E后,Device E删除报文中的标签16201,按IP继续转发即可。
图1-7 Prefix方式报文转发过程示意图
如图1-8所示,Device A通过SRLSP将报文转发到Device D时,需要为报文指定出标签为16201。报文转发过程如下:
(1) 在源节点Device A根据16201查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为16201,Device A为报文封装标签16201,发送给中间节点Device B。
(2) 中间节点Device B的入标签为16201,出标签为16201,将入向标签16201替换为出向标签16201,发送给下一个中间节点Device C继续转发。
(3) 中间节点Device C的转发过程和Device B类似。
(4) 报文到达尾节点Device D后,Device D删除报文中的标签16201,按IP继续转发即可。
图1-8 Prefix方式报文跨AS转发过程示意图
如图1-9所示,Device B上配置BGP-EPE功能和配置用于MPLS TE隧道的静态SRLSP后,可以控制报文经过Device C或Device D转发到Device E。以报文依次经过Device A、B、D、E为例,Device B通过BGP-EPE功能为Device D分配的标签为6000;Device B和Device D之间建立用于MPLS TE的静态SRLSP,为Device B和Device D之间链路分配的SID为6000。报文转发过程如下:
(1) 在AS 100内,源节点Device A收到报文后,根据建立的SRLSP,为其封装标签16204,并将报文转发给Device B。
(2) Device B收到报文后,查找标签转发表,删除报文中的标签16204,将通过BGP-EPE功能创建的标签转发表项迭代到用于MPLS TE的静态SRLSP上,通过MPLS TE隧道将报文转发给Device D。
(3) 在AS 200内,Device D收到报文后,根据建立的SRLSP查找标签转发表,为其封装标签16201,将报文转发给Device E。
(4) 报文到达尾节点Device E后,Device D删除报文中的标签16201,按IP继续转发即可。
图1-9 BGP-EPE功能报文跨AS转发过程示意图
如图1-10所示,Device A、Device B、Device C、Deivce D为链路分配的Adjacency SID分别为200、201、202、203。Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签栈为(200,201,202,203)。Adjacency方式报文转发过程如下:
(1) 在源节点Device A根据栈顶标签200查找标签转发表项,判断该标签对应的下一跳为Device B。Device A为报文封装标签栈(201,202,203)后,将该报文转发给Device B。
(2) 中间节点Device B接收到报文后,根据入标签201查找标签转发表项,判断该标签对应的下一跳为Device C。Device B删除标签栈最外层标签201后,发送给下一个中间节点Device C继续转发。
(3) 中间节点Device C接收到报文后,根据入标签202查找标签转发表项,判断该标签对应的下一跳为Device D。Device C删除标签栈最外层标签202后,发送给下一个中间节点Device D继续转发。
(4) 中间节点Device D接收到报文后,根据入标签203查找标签转发表项,判断该标签对应的下一跳为Device E。Device D删除标签栈最外层标签203后,发送给Device E继续转发。
(5) Device E收到是一个IP报文,按IP转发即可。
图1-10 Adjacency方式报文转发过程示意图
如图1-11所示,Device C为本节点分配的Prefix SID索引值为1,Device A、Device B、Device C上对应的Prefix SID分别为16001、16001、16001,Device C、Device D为邻接链路分配的Adjacency SID分别为16、17,Device A通过SRLSP将报文转发到Device E时,需要为报文指定出标签栈为(16001,16,17)。
Adjacency/Prefix组合方式报文转发过程如下:
(1) 在源节点Device A根据16001查找标签转发表项,判断该标签对应的下一跳为Device B,出标签为16001,Device A为报文封装标签栈(16001,16,17),发送给中间节点Device B。
(2) 中间节点Device B前缀路径入标签为16001,出标签为16001,将16001替换为16001,发送给下一个中间节点Device C继续转发。
(3) 中间节点DeviceC前缀路径入标签16001,邻接路径入标签为16,删除标签栈最外层标签(16001,16)后,根据邻接路径将报文发送给下一个中间节点Device D继续转发。
(4) 中间节点Device D删除标签栈最外层标签17后,将报文发送给尾节点Device E,Device E收到是一个IP报文,按IP转发即可。
图1-11 Adjacency/Prefix组合方式报文转发过程示意图
当使用IGP协议通告SID的SR-MPLS和LDP共存的网络环境中,需要解决SR网络和LDP网络之间互通的问题。SR与LDP互通是一项让SR协议和LDP协议在同一网络中共同工作的技术。通过此技术可以让SR网络连接到LDP网络中,实现两个网络之间的MPLS转发。
SR与LDP互通包括以下组网方式:
· SR to LDP:通过将LDP网络的前缀地址映射为SR网络的SID,实现数据流量从SR网络转发到LDP网络。
· LDP to SR:通过IGP协议通告SID,将SID和LDP标签关联,实现数据流量从LDP网络转发到SR网络。
· SR over LDP:SR网络跨越LDP网络交互数据流量。
SR to LDP中定义了以下两个角色:
· SRMS(Segment Routing Mapping Server,段路由映射服务器):SR网络中代替不支持SR-MPLS的LDP设备发布SID。在SRMS上配置前缀地址与SID的映射关系,并且发布给SRMC。
· SRMC(Segment Routing Mapping Client,段路由映射客户端):SR网络中接收SRMS发布的前缀地址与SID的映射关系,创建SR-MPLS标签转发表。
如图1-12所示,Device B、Device C和Device D运行LDP协议,Device D为目的地址3.3.3.3/32分发标签,Device B、Device C上形成LDP标签转发表项;Device A和Device B运行SR-MPLS功能,SRLSP和LDP LSP映射关系建立过程如下:
(1) Device B作为SRMS,为Device D上的Loopback地址3.3.3.3/32分配索引值201,同时向Device A发布Mapping TLV。
(2) Device A作为SRMC,接收通告信息,形成SR-MPLS标签转发表。
(3) Device B上建立SRLSP与LDP LSP的映射关系。
图1-12 SR to LDP报文转发过程示意图
当Device A通过SRLSP将报文转发到Device D时,报文转发过程如下:
(1) 源节点Device A为报文封装标签16201,发送给中间节点Device B。
(2) 中间节点Device B根据报文的入标签16201,查找SR-MPLS标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效LDP出标签20,将出标签20作为SR的出标签,发送报文给下一个中间节点Device C继续转发。
(3) Device C收到报文后,根据报文的入标签20查找对应的LDP标签转发表项,删除报文中的标签,将报文发送给尾节点Device D。
(4) 报文到达尾节点Device D后,按IP继续转发即可。
如图1-13所示,Device A、Device B和Device C运行LDP协议,为目的地址3.3.3.3/32分发标签,形成LDP标签转发表项。Device C和Device D运行SR-MPLS功能,SR-MPLS标签与LDP标签关联过程如下:
(1) 网络管理员将索引值201分配给Device D上的Loopback地址3.3.3.3/32,Device D通过IGP协议报文将该索引值以及本地SRGB通告出去。
(2) Device C收到通告信息后,形成SR-MPLS标签转发表。
(3) Device C上SR-MPLS标签与LDP标签关联。
图1-13 LDP to SR报文转发过程示意图
当Device A通过LDP LSP将报文转发到Device D时,报文转发过程如下:
(1) Device A接收到不带标签的报文,根据LDP标签转发表项为报文添加标签,并将报文转发给下一跳Device B,出标签为20。
(2) Device B收到报文后根据LDP标签转发表项将报文转发给下一跳Device C,出标签为30。
(3) Device C收到报文后,根据报文的入标签30查找对应的LDP标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效SR-MPLS出标签16201,将出标签16201作为LDP的出标签,发送报文给尾节点Device D。
(4) 报文到达尾节点Device D后,Device D删除报文中的标签16201,按IP继续转发即可。
SR网络需要跨越LDP网络交互数据,这种组网被称为SR over LDP。在SR over LDP组网环境下,需要边界设备将一个协议的无效出标签替换为另一个协议的有效出标签,完成标签的连接。SR over LDP组网主要包含如下两种情况:
· SR-MPLS到LDP标签连接:当SR-MPLS出标签不存在时,如果存在有效的LDP出标签,则将LDP出标签作为SR出标签。
· LDP到SR-MPLS标签连接:当LDP出标签不存在时,如果存在有效的SR-MPLS出标签,则将SR-MPLS出标签作为LDP出标签。
如图1-14所示,Device A、Device B、Device D和Device E运行SR-MPLS功能,网络管理员将索引值201分配给Device E上的Loopback地址3.3.3.3/32,Device E通过IGP协议报文将该索引值以及本地SRGB通告出去,Device A、Device B、Device D收到通告信息后,形成SR-MPLS标签转发表;Device B、Device C和Device D运行LDP协议,为目的地址3.3.3.3/32分发标签,形成LDP标签转发表项。当Device A通过SRLSP将报文转发到Device E时,报文转发过程如下:
(1) 源节点Device A为报文封装标签16201,发送给中间节点Device B。
(2) 中间节点Device B根据报文的入标签16201,查找SR-MPLS标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效LDP出标签20,将出标签20作为SR的出标签,发送报文给下一个中间节点Device C继续转发。
(3) Device C收到报文后根据LDP标签转发表项将报文转发给下一跳Device D,出标签为30。
(4) Device D收到报文后,根据报文的入标签30查找对应的LDP标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效SR-MPLS出标签16201,将出标签16201作为LDP的出标签,发送报文给尾节点Device E。
(5) 报文到达尾节点Device E后,Device E删除报文中的标签16201,按IP继续转发即可。
当使用BGP协议通告SID的SR-MPLS网络和LDP网络共存时,为了实现SR网络与LDP网络互通,需要为LDP网络中不支持SR的设备分配SID。因此定义了以下两个角色:
· SRMS:SR网络中代替不支持SR-MPLS的LDP设备发布SID。在SRMS上配置前缀地址与SID的映射关系,并且发布给SRMC。
· SRMC:SR网络中接收SRMS发布的前缀地址与SID的映射关系,创建SR-MPLS标签转发表。
BGP SR与LDP互通包括以下组网方式:
· SR to LDP:通过BGP IPv4单播路由将LDP网络的前缀地址映射为SR网络的SID,实现数据流量从SR网络转发到LDP网络。
· LDP to SR:通过BGP协议通告SID,将SID和LDP标签关联,实现数据流量从LDP网络转发到SR网络。
设备通过BGP协议实现SR to LDP时,只能根据本地配置的前缀地址和SID映射关系为LDP网络中不支持SR的节点分配SID,所以同时开启SR-MPLS功能和LDP功能的节点需要同时作为SRMS和SRMC。
如图1-15所示,Device B、Device C和Device D运行LDP协议,Device D为目的地址3.3.3.3/32分发标签,Device B、Device C和Device D上形成LDP标签转发表项;Device A和Device B开启BGP的SR-MPLS功能,SRLSP和LDP LSP映射关系建立过程如下:
(1) Device B作为SRMS,为Device D上的Loopback地址3.3.3.3/32分配索引值201。
(2) Device B作为SRMC,根据本地配置的前缀地址和SID映射关系,形成SR-MPLS标签转发表。
(3) Device B上建立SRLSP与LDP LSP的映射关系。
(4) Device B通过BGP协议报文向Device A通告3.3.3.3/32的Prefix SID。Device A根据收到的BGP协议报文建立对应的SR-MPLS标签转发表。
图1-15 SR to LDP报文转发过程示意图
数据报文从Device A到Device D的转发过程如下:
(1) 源节点Device A为报文封装标签16201,发送给中间节点Device B。
(2) 中间节点Device B根据报文的入标签16201,查找SR-MPLS标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效LDP出标签600127,将出标签600127作为SR的出标签,发送报文给下一个中间节点Device C继续转发。
(3) Device C收到报文后,根据报文的入标签600127查找对应的LDP标签转发表项,删除报文中的标签,将报文发送给尾节点Device D。
(4) 报文到达尾节点Device D后,按IP继续转发即可。
如图1-16所示,Device A、Device B和Device C运行LDP协议,收到3.3.3.3/32的路由后,通过LDP为其分发标签,形成LDP标签转发表项。Device C和Device D运行BGP的SR-MPLS功能,SR-MPLS标签与LDP标签关联过程如下:
(1) 网络管理员将索引值201分配给Device D上的Loopback地址3.3.3.3/32,Device D通过BGP IPv4单播路由将该索引值通告出去。
(2) Device C收到通告信息后,形成SR-MPLS标签转发表。
(3) Device C上SR-MPLS标签与LDP标签关联。
图1-16 LDP to SR报文转发过程示意图
数据报文从Device A到Device D的转发过程如下:
(1) Device A接收到不带标签的报文,根据LDP标签转发表项为报文添加标签,并将报文转发给下一跳Device B,出标签为20。
(2) Device B收到报文后根据LDP标签转发表项将报文转发给下一跳Device C,出标签为30。
(3) Device C收到报文后,根据报文的入标签30查找对应的LDP标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效SR-MPLS出标签16201,将出标签16201作为LDP的出标签,发送报文给尾节点Device D。
(4) 报文到达尾节点Device D后,Device D删除报文中的标签16201,按IP继续转发即可。
TI-LFA FRR(Topology-Independent Loop-free Alternate Fast Reroute,拓扑无关无环备份快速重路由)能为Segment Routing隧道提供链路及节点的保护。当某处链路或节点故障时,流量会快速切换到备份路径,继续转发。从而最大程度上避免流量的丢失。
为了最大程度减少路由重新收敛过程中的流量丢包,网络管理员选取被保护链路的直连节点或被保护节点的直连设备开启FRR(Fast Reroute,快速重路由)功能,这个开启了FRR功能的设备节点称为PLR(Point of Local Repair,本地修复节点)。PLR节点在计算到达目的路由的最短路径的同时,将自动计算一条FRR备份路径写入FIB转发表中,当保护的链路或节点故障时,通过PLR节点的FRR备份路径转发流量,而无需等待网络拓扑中路由重新收敛,因此可以最大程度避免流量丢包。按出现时间先后顺序,FRR的算法机制有以下几种:
· LFA FRR(Loop-Free Alternate Fast Reroute,无环备份快速重路由)。LFA FRR计算备份路径的关键是找到一个PLR的邻居保护节点(LFA节点),使得流量从PLR转发到该LFA节点之后可以不经过被保护链路或被保护节点,就可以到达目的节点。在某些场景中,特别是一些环形组网拓扑中,使用LFA FRR无法计算出备份保护路径,因此LFA FRR技术无法实现拓扑无关。根据RFC 6571的统计,LFA FRR可以实现备份保护的拓扑场景覆盖率为80%~90%。
· RLFA FRR(Remote Loop-Free Alternate Fast Reroute,远端无环路备份快速重路由)。为了提升LFA FRR算法的场景覆盖率,RFC7490定义了RLFA FRR算法,它的关键也是找到一个保护节点,即RLFA节点,流量从PLR转发到该RLFA节点之后可以不经过保护链路或保护节点到达目的节点。相对于LFA FRR算法,RLFA FRR算法找到的保护节点并未限定是PLR的邻居,提供了更多保护可能性,因此将备份保护的拓扑场景覆盖率提升到了95%~99%。
· 适用于SRv6组网和SR-MPLS组网的TI-LFA FRR(Topology-Independent Loop-Free Alternate Fast Reroute,拓扑无关无环备份快速重路由)。相对于传统LFA FRR技术和RLFA FRR技术,TI-LFA FRR的意义在于它实现了“拓扑无关”,即FRR备份路径计算不再受限于网络拓扑,只要存在可供绕行的转发路径,PLR节点就可以100%自动计算出TI-LFA FRR备份路径。
TI-LFA FRR继承了RFC7490中RLFA FRR算法定义的一些关键概念:
· P空间:是指对于被保护链路/被保护节点,在故障拓扑收敛前,从PLR不经过该被保护链路/被保护节点(包括等价路径)的前提下可达的节点集合。P空间内的节点被称为P节点。P节点的计算一般是以PLR为根节点建立SPF树,在SPF树上查找满足无环校验公式的节点。
· 扩展P空间:是指对于被保护链路/被保护节点,在故障拓扑收敛前,从PLR的邻居节点(被保护节点除外)不经过该被保护链路/被保护节点(包括等价路径)的前提下可达的节点集合。扩展P空间包含了P空间,扩展P空间的节点也被称为P节点。扩展P空间内的节点定义为P节点,PLR的邻居节点定义为N节点。下图中扩展P空间节点包括Src、B、C和D。P节点满足如下无环路条件:Distance(N,P)<Distance(N,PLR)+Distance(PLR,P)。
· Q空间:是指对于被保护链路/被保护节点,在故障拓扑收敛前,从目的节点不经过该被保护链路/被保护节点(包括等价路径)的前提下可达的节点集合。Q空间内的节点被称为Q节点。
图1-17 TI-LFA FRR相关概念示意图
如图1-18所示,PE 1为源节点,P 1节点为故障节点,PE 2为目的节点,链路中间的数字表示cost值。假设流量路径为:PE 1->P 1->PE 2,为避免P 1节点故障导致流量丢失,TI-LFA会计算出扩展P空间、Q空间、P 1故障收敛后的SPF树、Repair List和备份出接口,最终生成备份转发表项。
TI-LFA计算备份路径步骤如下:
(1) 计算扩展P空间:至少存在一个邻居节点到P节点的路径不经过故障链路的集合,即P 2。
(2) 计算Q空间:Q节点到目的节点不经过故障链路的集合,即PE 2和P 4。
(3) 计算收敛后的SPF树:计算P 1故障收敛后的SPF树,SPF树为PE 1->P 2->P 4->PE 2。
(4) 计算Repair List:Repair List是一个约束路径,当P空间和Q空间没有交集时,用来指示如何到达Q节点,Repair List由“P节点的标签+P节点到Q节点路径上的邻接标签”组成。在图1-18中,Repair List为P 2的节点标签16030,加上P 2到P 3的邻接标签2168,以及P 3到P 4的邻接标签2178。
(5) 计算备份出接口:PE 1到P 1链路故障后的下一跳出接口。
图1-18 TI-LFA典型组网图
TI-LFA备份路径计算完成之后,如果主路径发生故障,就可以根据备份路径进行转发,避免流量丢失。
如图1-19所示,P 2为P节点,P 4为Q节点。主下一跳P 1故障时,触发FRR切换到备路径,详细过程如下:
(1) PE 1根据Repair List封装标签栈,最外层封装P节点(P 2)的节点标签=到P节点下一跳的SRGB起始值+P节点前缀SID索引值=16030,然后就封装P节点到Q节点的标签,分别为2168和2178,目的节点标签=Q节点的SRGB起始值+目的节点(PE 2)的前缀SID索引值=16010。
(2) P 2收到报文后,根据最外层标签查找标签转发表,弹出2168标签,将报文转发给P 3。
(3) P 3收到报文后,根据最外层标签查找标签转发表,弹出2178标签,将报文转发给P 4。
(4) P 4收到报文后,根据最外层标签查找标签转发表,出标签为16010,下一跳为PE 2。于是将最外层标签替换成16010,报文转发给PE 2,如此按照最短路径的方式将报文转发到目的节点PE 2。
图1-19 TI-LFA FRR备份路径转发流程图
如图1-20所示,当Device B故障时,到Device C的流量将切换到TI-LFA计算的备份路径转发。在Device A收敛完成后,流量从备份路径切换到收敛后路径,此时如果Device D和Device F还没有收敛,仍按照收敛前的路径转发流量,则Device A到Device F之间形成环路,直到Device D和Device F收敛完成。
通过FRR正切防微环功能和SR防微环功能可以解决上述问题。Device B故障以后,首先流量切换到TI-LFA计算的备份路径,然后Device A延迟一段时间收敛,等待Device D和Device F收敛完成以后,Device A开始收敛,收敛完成以后,流量从TI-LFA计算的备份路径切换到收敛后的路径转发。
如图1-21所示,Device B和Device C之间的链路故障恢复前,数据流量沿着备份路径转发。当Device B和Device C之间的链路故障恢复后,如果Device A先于Device B收敛,则Device A会将流量转发给Device B,但是Device B没有收敛,仍旧沿着备份路径转发,这样Device A和Device B之间就会形成环路。
通过SR防微环功能可以解决上述问题。Device A在故障回切以后,会自动计算一条最优路径达到Device C,并按照该路径转发流量,即Device A在转发时为报文添加端到端路径信息(例如Device B到Device C的邻接标签),这样Device B收到报文后,根据报文的路径信息将报文转发给Device C,避免环路的产生。
经过SR防微环延迟时间后,Device B节点完成收敛,Device A去除额外添加的路径信息,按正常转发的方式将报文转发到Device C。
与SR-MPLS相关的协议规范有:
· draft-bashandy-rtgwg-segment-routing-ti-lfa-04
· draft-ietf-spring-segment-routing-mpls-00
· draft-ietf-spring-segment-routing-02
· draft-ietf-isis-segment-routing-extensions-06
· draft-ietf-spring-segment-routing-11
· draft-ietf-ospf-segment-routing-extensions-17
· 3draft-ietf-idr-bgpls-segment-routing-epe-15
· draft-ietf-idr-bgp-prefix-sid-19
· RFC 7684:OSPFv2 Prefix/Link Attritute Advertisement
· RFC 7752:North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP
本特性的支持情况与设备型号有关,请以设备的实际情况为准。
型号 |
说明 |
MSR610 |
不支持 |
MSR810、MSR810-W、MSR810-W-DB、MSR810-LM、MSR810-W-LM、MSR810-10-PoE、MSR810-LM-HK、MSR810-W-LM-HK、MSR810-LM-CNDE-SJK、MSR810-CNDE-SJK、MSR810-EI、MSR810-LM-EA、MSR810-LM-EI |
支持 |
MSR810-LMS、MSR810-LUS |
不支持 |
MSR810-SI、MSR810-LM-SI |
不支持 |
MSR810-LMS-EA、MSR810-LME |
支持 |
MSR1004S-5G、MSR1004S-5G-CN |
支持 |
MSR1104S-W、MSR1104S-W-CAT6、MSR1104S-5G-CN、MSR1104S-W-5G-CN |
支持 |
MSR2600-6-X1、MSR2600-15-X1、MSR2600-15-X1-T |
支持 |
MSR2600-10-X1 |
支持 |
MSR2630 |
支持 |
MSR3600-28、MSR3600-51 |
支持 |
MSR3600-28-SI、MSR3600-51-SI |
不支持 |
MSR3600-28-X1、MSR3600-28-X1-DP、MSR3600-51-X1、MSR3600-51-X1-DP |
支持 |
MSR3600-28-G-DP、MSR3600-51-G-DP |
支持 |
MSR3610-I-DP、MSR3610-IE-DP、MSR3610-IE-ES、MSR3610-IE-EAD、MSR-EAD-AK770、MSR3610-I-IG、MSR3610-IE-IG |
支持 |
MSR-iMC |
支持 |
MSR3610-X1、MSR3610-X1-DP、MSR3610-X1-DC、MSR3610-X1-DP-DC、MSR3620-X1、MSR3640-X1 |
支持 |
MSR3610、MSR3620、MSR3620-DP、MSR3640、MSR3660 |
支持 |
MSR3610-G、MSR3620-G |
支持 |
MSR3640-G |
支持 |
MSR3640-X1-HI |
支持 |
型号 |
说明 |
MSR810-W-WiNet、MSR810-LM-WiNet |
支持 |
MSR830-4LM-WiNet |
支持 |
MSR830-5BEI-WiNet、MSR830-6EI-WiNet、MSR830-10BEI-WiNet |
支持 |
MSR830-6BHI-WiNet、MSR830-10BHI-WiNet |
支持 |
MSR2600-6-WiNet |
支持 |
MSR2600-10-X1-WiNet |
支持 |
MSR2630-WiNet |
支持 |
MSR3600-28-WiNet |
支持 |
MSR3610-X1-WiNet |
支持 |
MSR3620-X1-WiNet |
支持 |
MSR3610-WiNet、MSR3620-10-WiNet、MSR3620-DP-WiNet、MSR3620-WiNet、MSR3660-WiNet |
支持 |
型号 |
说明 |
MSR860-6EI-XS |
支持 |
MSR860-6HI-XS |
支持 |
MSR2630-XS |
支持 |
MSR3600-28-XS |
支持 |
MSR3610-XS |
支持 |
MSR3620-XS |
支持 |
MSR3610-I-XS |
支持 |
MSR3610-IE-XS |
支持 |
MSR3620-X1-XS |
支持 |
MSR3640-XS |
支持 |
MSR3660-XS |
支持 |
型号 |
说明 |
MSR810-LM-GL |
支持 |
MSR810-W-LM-GL |
支持 |
MSR830-6EI-GL |
支持 |
MSR830-10EI-GL |
支持 |
MSR830-6HI-GL |
支持 |
MSR830-10HI-GL |
支持 |
MSR1004S-5G-GL |
支持 |
MSR2600-6-X1-GL |
支持 |
MSR3600-28-SI-GL |
不支持 |
对于BGP SR,各SR节点的SRGB取值范围固定为16000~24000,如果同时使用BGP和IGP通告Prefix SID,请将基于MPLS的SRGB的标签范围配置为16000~24000。
SRLSP转发IP流量配置任务如下:
(1) 配置Segment
请选择以下一项任务进行配置:
(2) (可选)配置优先使用SRLSP转发流量
(3) (可选)配置SR和LDP互通
(4) (可选)配置TI-LFA FRR
MPLS TE隧道采用静态SRLSP转发流量配置任务如下:
(1) 配置Segment
请选择以下一项任务进行配置:
(3) (可选)配置SR和LDP互通
(4) (可选)配置TI-LFA FRR
MPLS TE隧道采用显式路径SRLSP转发流量配置任务如下:
(1) 配置通过IGP扩展通告SID
(3) (可选)配置SR和LDP互通
(4) (可选)配置TI-LFA FRR
MPLS TE隧道采用PCE计算建立的SRLSP转发流量配置任务如下:
(2) (可选)配置SR和LDP互通
(3) (可选)配置TI-LFA FRR
Segment Routing视图下配置的SRGB用于Prefix Segment和BGP Prefix SID。当IS-IS视图和OSPF视图下未配置SRGB时,也会使用Segment Routing视图配置的SRGB。
配置SRGB的范围时,若已配置前缀SID,需确保配置的SRGB标签范围包含已配置的前缀SID值,否则配置的前缀SID不生效。
如果配置的SRGB范围存在如下情况,则配置不会立即生效,需要重启设备后才能生效:
· SRGB的范围内有其它协议已经分配的标签,例如SRGB范围内的标签已经被LDP协议使用。
· SRGB的范围与其它协议的标签范围冲突,例如OSPF进程1下的SRGB和IS-IS进程1下的SRGB存在重叠部分。
(1) 进入系统视图。
system-view
(2) 进入Segment Routing视图。
segment-routing
(3) 配置基于MPLS的SRGB的标签范围。
global-block minimum-value maximum-value
缺省情况下,基于MPLS的SRGB的最小标签值为16000 ,最大标签值为24000。
本命令的支持情况与设备型号有关,请参见SR-MPLS 命令参考。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 配置基于MPLS的SRGB的标签范围。
segment-routing global-block minimum-value maximum-value
缺省情况下,基于MPLS的SRGB的最小标签值为16000 ,最大标签值为24000。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 配置基于MPLS的SRGB的标签范围。
segment-routing global-block minimum-value maximum-value
缺省情况下,基于MPLS的SRGB的最小标签值为16000 ,最大标签值为24000。
SRLB是专门用于SR-MPLS邻接类型SID(Adjacency SID)的本地标签范围。
配置SRLB前需要通过display mpls label命令查看MPLS标签的使用状态,确保指定标签范围内的标签全部处于空闲状态,否则配置本命令后,需要保存配置并重启设备,本命令才能生效。display mpls label命令的详细介绍,请参见“MPLS命令参考”中的“MPLS基础”。
(1) 进入系统视图。
system-view
(2) 进入Segment Routing视图。
segment-routing
(3) 配置基于MPLS的SRLB的标签范围。
local-block minimum-value maximum-value
缺省情况下,基于MPLS的SRGB的最小标签值为15000 ,最大标签值为15999。
本命令的支持情况与设备型号有关,请参见SR-MPLS命令参考。
在静态配置Segment之前,需完成以下任务:
· 确定静态SRLSP的头节点、中间节点和尾节点。
· 规划每个节点到下一跳的邻接路径的入标签值,规划每个节点的前缀路径标签值。需要注意的是,静态SRLSP与静态LSP、静态CRLSP使用相同的标签空间,在同一台设备上静态SRLSP、静态CRLSP和静态LSP的入标签不能相同。关于CRLSP的介绍请参见“MPLS配置指导”中的“MPLS TE”。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础配置”。
如果指定下一跳IP地址,设备上必须存在到达该地址的路由且路由出接口上必须使能MPLS能力;如果指定出接口,该出接口必须处于UP状态并且能够接收到直连路由,且必须使能MPLS能力。
如果所指定的入标签与已经存在的静态LSP/静态PW/静态CRLSP的入标签相同,则会导致标签冲突,所配置的邻接路径不可用。即使修改静态LSP/静态PW/静态CRLSP的入标签,该邻接路径仍不可用,需要手工删除该邻接路径并重新配置。
本命令需要在静态SRLSP的所有节点上执行。
如果多条静态SRLSP存在公共路径,公共路径节点的邻接路径信息一致,不需要进行多次配置。
(1) 进入系统视图。
system-view
static-sr-mpls adjacency adjacency-path-name in-label label-value { nexthop ip-address | outgoing-interface interface-type interface-number }
指定的下一跳地址不能是本地设备上的公网IP地址。
指定的下一跳或出接口必须与路由表中最优路由(非BGP路由)的下一跳或出接口保持一致,同一台设备上,如果最优路由有多个下一跳或者出接口,那么就能配置多个到该目的地址的前缀路径用于负载分担,但是需要注意的是到达同一目的地址前缀路径的名称、入标签值需要保持一致。
本命令需要在静态SRLSP的所有节点上执行。
执行undo static-sr-mpls prefix命令时,如果只配置了prefix-path-name参数,则将所有同名的前缀路径配置全部删除。如果携带了所有的关键字,则将匹配下一跳或出接口的配置删除。
如果多条静态SRLSP的目的地址相同,公共路径节点的前缀路径信息一致,不需要进行多次配置。
(1) 进入系统视图。
system-view
(2) 配置静态Prefix Segment。
static-sr-mpls prefix prefix-path-name destination ip-address { mask-length | mask } in-label in-label-value [ { nexthop ip-address | outgoing-interface interface-type interface-number } out-label out-label-value ]
指定的下一跳地址不能是本地设备上的公网IP地址。
在SRLSP可能经过的各节点上执行如下配置:
(1) 开启IGP支持SR-MPLS功能
(2) 配置前缀SID
在SRLSP可能经过的各节点上执行如下配置:
(1) 开启IGP支持SR-MPLS功能
(2) 开启IGP邻接标签分配功能
为邻接链路随机分配SID。
(3) (可选)配置邻接SID
为邻接链路分配指定SID。
配置通过IGP扩展通告SID之前,需完成以下任务:
· 确定SRLSP的头节点、中间节点和尾节点。
· 规划每个节点的SID和SRGB/SRLB标签范围。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
开启IGP支持SR-MPLS功能前,需进行以下配置,否则SR-MPLS功能不会生效:
· 当IGP协议为IS-IS时,需确保IS-IS开销值的类型为wide、compatible或wide-compatible。关于IS-IS开销值类型的配置请参见“三层技术-IP路由配置指导”中的“IS-IS”。
· 当IGP协议为OSPF时,需使能OSPF的Opaque LSA发布接收能力。关于OSPF使能Opaque LSA发布接收能力的配置请参见“三层技术-IP路由配置指导”中的“OSPF”。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IS-IS IPv4单播地址族视图。
address-family ipv4
(4) 开启SR-MPLS功能。
segment-routing mpls
缺省情况下,基于MPLS的SR功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 开启SR-MPLS功能。
segment-routing mpls
缺省情况下,基于MPLS的SR功能处于关闭状态。
通过在设备的Lookback接口下配置前缀SID,可以确定SID和IP前缀的绑定关系。前缀SID包含绝对值和索引值两种配置方式。
配置IS-IS前缀SID时,必须按照以下规则执行:
· 当配置前缀SID绝对值时,绝对值的取值即为前缀SID的值,该值必须在SRGB的范围内。
· 当配置前缀SID相对值时,相对值加上SRGB最小值的大小即为前缀SID的值,前缀SID的值必须在SRGB的范围内。
在Anycast使用场景中,当需要使用同一个前缀SID标识一组SR节点时,需要通过指定n-flag-clear参数将Node-SID(前缀SID标志位,置位时,表示前缀SID为到达某一台SR节点的SID)标志位置为0。
配置前缀SID时,需注意以下两点:
· 当配置IS-IS SR前缀SID时,必须在Loopback接口上使能IS-IS进程。
· 当配置OSPF SR前缀SID时,必须保证Loopback接口上使能的OSPF进程和前缀SID关联的进程一致,否则配置不会生效。
(1) 进入系统视图。
system-view
(2) 进入Loopback接口视图。
interface loopback interface-number
(3) 配置前缀SID。
isis prefix-sid { absolute absolute-value | index index-value } [ n-flag-clear | { explicit-null | no-php } ] *
缺省情况下,未配置IS-IS前缀SID。
(1) 进入系统视图。
system-view
(2) 进入Loopback接口视图。
interface loopback interface-number
(3) 配置前缀SID。
ospf process-id prefix-sid { absolute absolute-value | index index-value } [ n-flag-clear | { explicit-null | no-php } ] *
缺省情况下,未配置OSPF前缀SID。
开启邻接标签分配功能时,需确保SR-MPLS处于开启状态,否则该功能不会生效。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IPv4单播地址族视图。
address-family ipv4
(4) 开启邻接标签分配功能。
segment-routing adjacency enable
缺省情况下,基于MPLS的SR邻接标签分配功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 开启邻接标签分配功能。
segment-routing adjacency enable
缺省情况下,基于MPLS的SR邻接标签分配功能处于关闭状态。
开启IGP邻接标签分配功能,设备为IGP邻接链路随机分配Adjacency SID,如果IGP邻接失效(例如链路震荡),为同一邻接链路分配的SID可能与之前的值不同,从而导致Adjacency SID在网络中不断变化和抖动。为了确保分配给邻接链路的SID能够唯一,可以配置本功能为邻接链路分配指定Adjacency SID。
配置Adjacency SID时,必须遵循以下规则:
· 当配置Adjacency SID绝对值时,绝对值的取值即为Adjacency SID的值,该值必须在SRLB的范围内。
· 当配置Adjacency SID相对值时,相对值加上SRLB最小值的大小即为Adjacency SID的值,Adjacency SID的值必须在SRLB的范围内。
开启SR-MPLS功和开启IGP邻接标签分配功能后,本功能才会生效。
执行display mpls label命令,查看SID使用状态。如果配置的Adjacency SID已经被其他协议使用,则该Adjacency SID不可用。此后如果该Adjacency SID的使用状态变为Idle时,则先删除Adjacency SID的配置,再重新配置Adjacency SID,该Adjacency SID才可以被使用。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置Adjacency SID。
isis adjacency-sid { absolute absolute-value | index index-value } [ nexthop nexthop-address ]
缺省情况下,未配置IS-IS Adjacency SID。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置Adjacency SID。
ospf adjacency-sid { absolute absolute-value | index index-value } [ nexthop nexthop-address ]
缺省情况下,未配置OSPF Adjacency SID。
在SRLSP可能经过的各节点上执行如下配置:
(1) 开启BGP支持SR-MPLS功能
(2) 配置BGP SR前缀SID
(3) (可选)配置设备在SR-MPLS组网中作为Egress节点时为倒数第二跳分配的标签类型
配置通过BGP扩展通告SID之前,需完成以下任务:
· 确定SRLSP的头节点、中间节点和尾节点。
· 规划每个节点的前缀SID索引值。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
(4) 开启SR-MPLS功能。
segment-routing mpls
缺省情况下,基于MPLS的SR功能处于关闭状态。
BGP SR前缀SID支持以下两种配置方式:
· 引入路由时不指定路由策略,使用引入的IGP协议通告的SID作为BGP SR前缀SID。
· 引入路由时指定路由策略,在路由策略中配置前缀SID的索引值,以确定SID和IP前缀的绑定关系。
配置BGP SR前缀SID后,为了通过BGP路由交互前缀SID,BGP邻居间必须开启交换带标签路由的能力。
(1) 开启IGP支持SR-MPLS功能。
请参见“1.12.3 开启IGP支持SR-MPLS功能”。
(2) 配置IGP SR的前缀SID。
(3) 进入系统视图。
system-view
(4) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(5) 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
(6) 引入ISIS或OSPF的路由。
import-route { isis | ospf } process-id
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
(4) 引入ISIS或OSPF的路由,并对引入的路由应用路由策略。
import-route { isis | ospf } process-id route-policy route-policy-name
(5) 配置策略中的标签索引值。
a. 退回BGP实例视图。
quit
b. 退回系统视图。
quit
c. 进入该路由策略视图。
route-policy route-policy-name { deny | permit } node node-number
d. 配置标签索引值。
apply label-index index-value
缺省情况下,未配置路由的标签索引值。
在SR-MPLS组网中,请根据实际情况选择Egress节点为倒数第二跳分配的标签类型:
· 如果倒数第二跳节点支持PHP(Penultimate Hop Popping,倒数第二跳弹出)功能,则建议采用隐式空标签;
· 如果在简化Egress节点转发处理的同时,希望Egress节点能够根据标签中的TC等信息决定QoS策略,则建议采用显式空标签;
· 通常情况下不建议使用非空标签。非空标签只适用于一些比较特殊的场景,比如Egress节点上部署了OAM,只有根据标签才能对应到OAM功能实体的情况。当使用非空标签时,Egress节点根据BGP IPv4单播路由中的前缀SID信息为倒数第二跳分配SID。
配置本功能修改Egress分配的标签类型后,已经通过BGP IPv4单播路由建立的SRLSP会被拆除,并根据新的标签类型重新建立。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
(4) 配置设备在SR-MPLS组网中作为Egress节点时为倒数第二跳分配的标签类型。
segment-routing label-advertise { explicit-null | non-null }
缺省情况下,设备在SR-MPLS组网中作为Egress节点时为倒数第二跳分配隐式空标签,标签值为3。
BGP-EPE用来为域间路径分配BGP Peer SID。Peer SID通过BGP LS扩展传递给网络控制器。控制器通过对IGP SID和BGP Peer SID进行合理编排,实现跨域最优路径转发。
在设备上配置BGP-EPE功能后,该设备为相连的BGP对等体/对等体组分配SID,用来标识与本设备相连的特定BGP邻居或链路。
配置BGP-EPE功能时,需要注意:
· 缺省情况下,BGP Peer SID为节点类型。
· 如果开启BGP-EPE功能时未指定路由策略和静态SID,将自动为BGP邻居分配标签。
· 部署BGP-EPE时需要结合MPLS TE或静态SRLSP使用,其中部署MPLS TE隧道方式需采用静态SRLSP,且静态SRLSP的出标签值需要与配置BGP-EPE功能的标签值相同。
通过BGP-EPE功能为指定对等体/对等体组应用路由策略时需要注意:
· 路由策略中只能通过配置apply label-value命令来分配标签值,不支持apply label-index命令分配标签索引值。
· 为BGP对等体/对等体组分配PeerNode SID、PeerAdj SID和PeerNode-Adj SID时,不同的BGP对等体/对等体组不能应用路由策略分配相同的标签。
· 为BGP对等体/对等体组分配PeerSet SID时,不同的BGP对等体/对等体组可以应用路由策略分配相同的标签。
· 仅当为BGP对等体/对等体组分配PeerAdj SID时,可支持策略中配置if-match interface作为过滤条件。
执行display mpls label命令,查看SID使用状态。如果配置的BGP-EPE SID已经被其他协议使用,则该SID不可用。此后如果该SID的使用状态变为Idle时,则先删除BGP-EPE的配置,再重新配置BGP-EPE,该SID才可以被使用。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 开启BGP-EPE功能,并为指定对等体/对等体组应用路由策略。
peer { group-name | ipv4-address [ mask-length ] } egress-engineering [ adjacency | node-adjacency | set ] [ label label-value | route-policy policy-name ]
缺省情况下,BGP-EPE功能处于关闭状态。
(4) (可选)配置路由策略中的标签值。
a. 退回系统视图。
quit
b. 进入路由策略视图。
route-policy route-policy-name { deny | permit } node node-number
c. 配置BGP-EPE功能的标签值。
apply label-value label-value
缺省情况下,未配置标签值。
当一台设备和多台设备建立BGP邻居关系时,可以手工规划邻居组,即将一组BGP邻居规划为一个Set,基于该组分配PeerSet SID。通过PeerSet SID转发流量时,可以在多个邻居间负载分担。
将对等体/对等体组加入BGP-EPE Peer Set组前,对等体/对等体必须开启BGP-EPE功能。
执行display mpls label命令,查看SID使用状态。如果配置的BGP-EPE SID已经被其他协议使用,则该SID不可用。此后如果该SID的使用状态变为Idle时,则先删除BGP-EPE的配置,再重新配置BGP-EPE,该SID才可以被使用。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建BGP-EPE Peer Set组。
egress-engineering peer-set peer-set-name [ label label-value ]
(4) 将对等体/对等体组加入BGP-EPE Peer Set组。
peer { group-name | ipv4-address [ mask-length ] } peer-set peer-set-name
缺省情况下,对等体/对等体组未加入BGP-EPE Peer Set组。
当到达同一目的网络同时存在SRLSP和LDP LSP两种标签转发路径时,设备优先使用LDP LSP转发流量。通过配置本功能,可以指定转发到达该目的网络的流量时优先使用SRLSP路径。
配置本功能时,请开启SR-MPLS功能,并确保SRLSP路径标签为前缀SID。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IPv4单播地址族视图。
address-family ipv4
(4) 配置优先使用SRLSP转发流量。
segment-routing sr-prefer [ prefix-list prefix-list-name ]
缺省情况下,设备优先使用LDP LSP转发流量。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 配置优先使用SRLSP转发流量。
segment-routing sr-prefer [ prefix-list prefix-list-name ]
缺省情况下,设备优先使用LDP LSP转发流量。
(1) 开启MPLS TE能力
在MPLS TE隧道经过的所有节点上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
在MPLS TE隧道的头节点上执行本配置。
(3) 创建Tunnel接口,并指定隧道的目的端地址
在MPLS TE隧道的头节点上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
在MPLS TE隧道的头节点上执行本配置。
(5) 配置静态路由或策略路由,将流量引入MPLS TE隧道。
在MPLS TE隧道的头节点执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
(1) 进入系统视图。
system-view
(2) 配置用于MPLS TE隧道的静态SRLSP。
static-sr-mpls lsp lsp-name out-label out-label-value&<1-n>
(1) 进入系统视图。
system-view
(2) 进入模式为MPLS TE隧道的Tunnel接口视图。
interface tunnel tunnel-number [ mode mpls-te ]
(3) 配置使用静态方式建立MPLS TE隧道。
mpls te signaling static
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道。
本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS TE”。
(4) 指定隧道引用的SRLSP。
mpls te static-sr-mpls lsp-name [ backup ]
缺省情况下,隧道没有引用任何静态SRLSP。
MPLS TE隧道所引用的静态SRLSP,必须已经通过static-sr-mpls lsp命令创建。
只有当主用和备用SRLSP均采用Adjacency方式建立时,才允许通过指定backup参数配置隧道引用备用SRLSP。
在MPLS TE隧道的头节点上执行本配置。
(2) 创建Tunnel接口,并指定隧道的目的端地址
在MPLS TE隧道的头节点上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
在MPLS TE隧道的头节点上执行本配置。
配置采用显式路径SRLSP的MPLS TE隧道之前,需完成以下任务:
· 确定SRLSP的头节点。
· 规划每个节点的SID。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
(1) 进入系统视图。
system-view
(2) 进入显式路径视图。
explicit-path path-name
(3) 配置用于MPLS TE隧道的显式路径SRLSP。
¡ 指定显式路径中到达目的节点时所经过节点的标签。
nextsid [ index index-number ] label label-value type { adjacency | prefix }
对于adjacency和prefix类型的标签节点,显式路径中的label-value是指转发路径上各个节点为下一跳节点分配的标签值。
¡ 指定显式路径中到达目的节点时所经过节点的地址。
nexthop [ index index-number ] ip-address [ exclude | include [ loose | strict ] ]
缺省情况下,显式路径未指定任何节点。
(1) 进入系统视图。
system-view
(2) 进入模式为MPLS TE隧道的Tunnel接口视图。
interface tunnel tunnel-number mode mpls-te
(3) 配置使用Segment Routing方式建立MPLS TE隧道。
mpls te signaling segment-routing
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道。
(4) 指定隧道引用的SRLSP。
mpls te path preference value explicit-path path-name [ no-cspf ]
缺省情况下,隧道使用自动计算的路径建立SRLSP。
(1) 开启MPLS TE能力
在MPLS TE隧道经过的所有节点和各接口上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
(2) 配置PCE发现
在MPLS TE隧道的各节点上执行本配置,可采用静态方式或者OSPF TE方式,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
(3) 建立支持Segment Routing的PCEP会话
在各节点配置PCEP会话状态,配置为active-stateful的方式建立会话,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
(4) 创建Tunnel接口,并指定隧道的目的端地址
在MPLS TE隧道的头节点上执行本配置,配置方法请参见“MPLS配置指导”中的“MPLS TE”。
在MPLS TE隧道的头节点上执行本配置。
(1) 进入系统视图。
system-view
(2) 进入模式为MPLS TE隧道的Tunnel接口视图。
interface tunnel tunnel-number mode mpls-te
(3) 配置使用Segment Routing方式建立MPLS TE隧道。
mpls te signaling segment-routing
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道。
(4) 指定隧道使用PCE计算建立SRLSP。请选择其中一项进行配置。
¡ 指定使用动态PCE方式计算建立SRLSP
mpls te path preference value dynamic [ pce [ ip-address ]&<0-8> ]缺省情况下,使用自动计算的路径建立SRLSP。
¡ 指定使用PCE托管方式计算建立SRLSP
mpls te delegation
缺省情况下,SRLSP托管功能处于关闭状态。
配置SR-MPLS和LDP互通时,需要确保SRLSP的路径标签为前缀SID。
配置SRMS和SRMC设备的SR-MPLS功能时,目前仅支持配置IS-IS的SR-MPLS功能。
SRMS配置任务如下:
(1) 配置SRMS设备的SR-MPLS功能
b. 配置前缀SID
(3) 配置前缀和SID的映射关系
SRMC配置任务如下:
(1) 配置SRMC设备的SR-MPLS功能
b. 配置前缀SID
LDP to SR配置任务如下:
(2) 配置前缀SID
SR over LDP配置任务如下:
(2) 配置前缀SID
配置SR和LDP互通之前,需完成以下任务:
· 确定SRLSP的头节点、中间节点和尾节点。
· 规划每个节点的前缀SID索引值和SRGB标签范围。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
请在SRMS设备上开启本功能。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IS-IS IPv4单播地址族视图。
address-family ipv4
(4) 开启通告本地SID标签映射消息功能。
segment-routing mapping-server advertise-local
缺省情况下,通告本地SID标签映射消息功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 开启通告本地SID标签映射消息功能。
segment-routing mapping-server advertise-local
缺省情况下,通告本地SID标签映射消息功能处于关闭状态。
请在SRMS上配置本功能。
前缀地址必须符合规范且不与本地已配置的映射关系冲突。
批量配置前缀地址和SID映射关系时,请根据组网环境规划前缀和SID的映射个数。
(1) 进入系统视图。
system-view
(2) 进入Segment Routing视图。
segment-routing
(3) 配置前缀和SID的映射关系。
mapping-server prefix-sid-map ip-address mask-length start-value [ range range-value ] [ attached ]
缺省情况下,未配置前缀和SID的映射关系。
如果配置的range-value大于65535,则无法通过IS-IS和OSPF协议发布前缀和SID的映射关系。
请在SRMC设备上开启本功能。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IS-IS IPv4单播地址族视图。
address-family ipv4
(4) 开启接收远端SID标签映射消息功能。
segment-routing mapping-server receive
缺省情况下,接收邻居SID标签映射消息功能处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 开启接收远端SID标签映射消息功能。
segment-routing mapping-server receive
缺省情况下,接收邻居SID标签映射消息功能处于开启状态。
配置BGP SR和LDP互通时,需要确保SRLSP的路径标签为前缀SID。
SR网络中同时开启SR-MPLS功能和LDP功能的节点需要同时作为SRMS和SRMC。
(1) 配置BGP SR
(2) 开启前缀和SID的映射功能
(3) 配置前缀和SID的映射关系
LDP to SR配置任务如下:
(1) 开启BGP支持SR-MPLS功能
(2) 配置BGP SR前缀SID
请在SRMS节点设备上开启本功能。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
(4) 开启前缀和SID的映射功能。
segment-routing prefix-sid-map
缺省情况下,前缀和SID的映射功能处于关闭状态。
静态Segment组网环境下,不支持配置TI-LFA FRR。
在SR-MPLS和LDP共存的网路环境中,需要配置优先使用IS-IS SR或OSPF SR建立的SRLSP转发流量,避免流量通过LDP LSP转发,防止TI-LFA FRR的备份下一跳失效。
如果源节点上等价主路径的下一跳节点不同,则缺省情况下无法通过TI-LFA FRR计算出备份路径。只有将源节点上所有的等价主链路加入同一个SRLG(Shared Risk Link Group,共享风险链路组)才能通过TI-LFA FRR计算出备份路径。
如图1-22所示,源节点Device A到目的节点Device E之间存在三条等价路径Link 1、Link 2和Link 3,且这三条等价路径的下一跳节点不完全相同。这种情况下,如果希望使用TI-LFA FRR计算备份路径,则需要将Link 1、Link 2和Link 3加入同一个SRLG。
图1-22 IS-IS的ECMP场景下使用TI-LFA FRR计算备份路径
TI-LFA FRR配置任务如下:
(1) 开启TI-LFA FRR功能
(2) (可选)配置接口不参与TI-LFA计算
禁止源节点设备上路由的主下一跳出接口参与TI-LFA计算。
(3) (可选)配置防微环功能
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IS-IS IPv4单播地址族视图。
address-family ipv4
(4) 开启IS-IS的LFA快速重路由功能。
fast-reroute lfa [ level-1 | level-2 ]
缺省情况下,IS-IS支持快速重路由功能处于关闭状态。
(5) 开启IS-IS的TI-LFA快速重路由功能。
fast-reroute ti-lfa [ per-prefix ] [ route-policy route-policy-name | host ] [ level-1 | level-2 ]
缺省情况下,IS-IS的TI-LFA FRR功能处于关闭状态。
(6) (可选)配置快速重路由备份路径优选方案的优先级。
fast-reroute tiebreaker { lowest-cost | node-protecting | srlg-disjoint } preference preference [ level-1 | level-2 ]
缺省情况下,最小开销路径优选方案的优先级为20,节点保护优选方案的优先级为40,共享风险链路组优选方案的优先级为10。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 开启OSPF LFA快速重路由功能。
fast-reroute { lfa [ abr-only ] | route-policy route-policy-name }
缺省情况下,OSPF LFA快速重路由功能处于关闭状态。
(4) 开启OSPF的TI-LFA快速重路由功能。
fast-reroute ti-lfa [ per-prefix ] [ route-policy route-policy-name | host ]
缺省情况下,OSPF的TI-LFA FRR功能处于关闭状态。
(5) (可选)配置快速重路由备份路径优选方案的优先级。
fast-reroute tiebreaker { lowest-cost | node-protecting } preference preference
缺省情况下,最小开销路径优选方案的优先级为20,节点保护优选方案的优先级为40。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 禁止开启IS-IS的接口参与TI-LFA计算。
isis fast-reroute ti-lfa disable [ level-1 | level-2 ]
缺省情况下,允许开启IS-IS的接口参与TI-LFA计算。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 禁止开启OSPF的接口参与TI-LFA计算。
ospf fast-reroute ti-lfa disable
缺省情况下,允许开启OSPF的接口参与TI-LFA计算。
防微环功能分为:
· FRR正切防微环功能:仅能解决正切微环的问题。
应用了TI-LFA快速重路由功能的组网环境中,若某节点或者链路发生故障,流量会切换到TI-LFA计算的备份路径。但是,如果此时备份路径上的设备还没有完成收敛,则会在源节点(故障节点或者链路的前一节点)和备份路径上的设备之间形成环路,直到备份路径上的设备完成收敛。
为了解决上述问题,节点或者链路故障以后,首先流量切换到TI-LFA计算的备份路径,然后源节点延迟一段时间收敛,等待备份路径上的设备收敛完成以后,源节点开始收敛。
· SR防微环功能:可以解决正切微环和回切微环的问题。
在网络故障或故障恢复期间,路由都会重新收敛,由于网络节点之间转发状态短暂不一致,各个设备收敛速度不同,可能存在转发微环现象。配置SR的防微环功能后,在IGP收敛期间,设备会按照指定路径转发流量,转发过程不依赖于各设备的路由收敛,从而避免产生环路。
为了保证IGP收敛有足够的时间,可以配置SR防微环延迟时间,在此期间设备按照指定路径转发流量。在网络故障恢复IGP完成收敛后,流量再通过IGP计算的路径转发。
如果同时配置FRR正切防微环功能和SR防微环功能,则SR防微环功能生效。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IS-IS IPv4单播地址族视图。
address-family ipv4
(4) 开启IS-IS的FRR正切防微环功能。
fast-reroute microloop-avoidance enable [ level-1 | level-2 ]
缺省情况下,IS-IS的FRR正切防微环功能处于关闭状态。
(5) (可选)配置FRR正切防微环延迟时间。
fast-reroute microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ]
缺省情况下,FRR正切防微环延迟时间为5000毫秒。
(1) 进入系统视图。
system-view
(2) 进入OSPF视图。
ospf process-id
(3) 开启OSPF的FRR正切防微环功能。
fast-reroute microloop-avoidance enable
缺省情况下,OSPF的FRR正切防微环功能处于关闭状态。
(4) (可选)配置FRR正切防微环延迟时间。
fast-reroute microloop-avoidance rib-update-delay delay-time
缺省情况下,FRR正切防微环延迟时间为5000毫秒。
(1) 进入系统视图。
system-view
(2) 进入IS-IS视图。
isis process-id
(3) 进入IS-IS IPv4单播地址族视图。
address-family ipv4
(4) 开启IS-IS的SR防微环功能。
segment-routing microloop-avoidance enable [ level-1 | level-2 ]
缺省情况下,IS-IS的SR防微环功能处于关闭状态。
(5) (可选)配置IS-IS的SR防微环延迟时间。
segment-routing microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ]
缺省情况下,IS-IS的SR防微环延迟时间为5000毫秒。
在完成上述配置后,在任意视图下执行display命令可以显示配置SR-MPLS后的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-1 SR-MPLS显示和维护
操作 |
命令 |
显示BGP-EPE功能的路径信息 |
display bgp [ instance instance-name ] egress-engineering ipv4 [ ipv4-address ] [ verbose ] |
显示BGP-EPE Peer Set组的信息 |
display bgp [ instance instance-name ] egress-engineering peer-set [ peer-set-name ] |
显示BGP SR的标签值范围 |
display bgp [ instance instance-name ] segment-routing label-range |
显示BGP SR前缀地址和SID的映射信息 |
display bgp [ instance instance-name ] segment-routing prefix-sid-map [ ip-address mask-length | verbose ] |
显示基于IS-IS SR邻接段信息 |
display isis segment-routing adjacency [ process-id ] |
显示IS-IS SR的全局标签段信息 |
display isis segment-routing global-block [ level-1 | level-2 ] [ process-id ] |
显示IS-IS SID标签映射信息 |
display isis segment-routing prefix-sid-map [ active-policy | backup-policy ] [ process-id ] [ verbose ] |
显示静态SRLSP信息或静态配置的邻接段信息 |
display mpls static-sr-mpls { lsp [ lsp-name ] | adjacency [ adjacency-path-name ] } |
显示静态配置的前缀段信息 |
display mpls static-sr-mpls prefix [ path lsp-name | destination ip-address [ mask | mask-length ] ] |
显示OSPF SR的全局标签段信息 |
display ospf [ process-id ] [ area area-id ] segment-routing global-block |
显示OSPF SR的SID标签映射信息。 |
display ospf segment-routing prefix-sid-map [ active-policy | backup-policy ] [ process-id ] [ verbose ] |
显示SR标签段的信息 |
display segment-routing label–block [ protocol { isis | ospf } ] |
显示前缀地址和SID的映射关系 |
display segment-routing mapping-server prefix-sid-map [ ip-address mask-length | verbose ] |
· 设备Router A、Router B、Router C、Router D和Router E运行IS-IS。
· 使用静态SRLSP建立一条Router A到Router D的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量。静态SRLSP经过三个段,#1段:Router A到Router B的邻接段,#2段:Router B到Router C的邻接段,#3段:Router C到Router D的邻接段。
· 使用静态SRLSP建立一条Router A到Router E的MPLS TE隧道,实现两个IP网络通过MPLS TE隧道传输数据流量。静态SRLSP经过三个段,#1段:Router A到Router B的邻接段,#2段:Router B到Router C的前缀段,#3段:Router C到Router E的邻接段。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop0 |
1.1.1.9/32 |
Router B |
Loop0 |
2.2.2.9/32 |
|
GE1/0/1 |
100.1.1.1/24 |
|
GE1/0/1 |
10.1.1.2/24 |
|
GE1/0/2 |
10.1.1.1/24 |
|
GE1/0/2 |
20.1.1.1/24 |
|
|
|
|
GE1/0/3 |
60.1.1.1/24 |
Router C |
Loop0 |
3.3.3.9/32 |
Router D |
Loop0 |
4.4.4.9/32 |
|
GE1/0/1 |
30.1.1.1/24 |
|
GE1/0/1 |
100.1.2.1/24 |
|
GE1/0/2 |
20.1.1.2/24 |
|
GE1/0/2 |
30.1.1.2/24 |
|
GE1/0/3 |
50.1.1.1/24 |
|
|
|
|
GE1/0/4 |
60.1.1.2/24 |
|
|
|
Router E |
Loop0 |
5.5.5.9/32 |
|
|
|
|
GE1/0/1 |
200.1.2.1/24 |
|
|
|
|
GE1/0/2 |
50.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址
按照图1-23配置各接口的IP地址和掩码,具体配置过程略。
(2) 配置IS-IS协议发布接口所在网段的路由,包括Loopback接口,具体配置过程略。
配置完成后,在各设备上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由,包括Loopback接口对应的主机路由。
(3) 配置LSR ID、开启MPLS能力和MPLS TE能力
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.9
[RouterA] mpls te
[RouterA-te] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] mpls enable
[RouterA-GigabitEthernet1/0/2] quit
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.9
[RouterB] mpls te
[RouterB-te] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] mpls enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface gigabitethernet 1/0/3
[RouterB-GigabitEthernet1/0/3] mpls enable
[RouterB-GigabitEthernet1/0/3] quit
# 配置Router C。
<RouterC> system-view
[RouterC] mpls lsr-id 3.3.3.9
[RouterC] mpls te
[RouterC-te] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] mpls enable
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface gigabitethernet 1/0/3
[RouterC-GigabitEthernet1/0/3] mpls enable
[RouterC-GigabitEthernet1/0/3] quit
[RouterC] interface gigabitethernet 1/0/4
[RouterC-GigabitEthernet1/0/4] mpls enable
[RouterC-GigabitEthernet1/0/4] quit
# 配置Router D。
<RouterD> system-view
[RouterD] mpls lsr-id 4.4.4.9
[RouterD] mpls te
[RouterD-te] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] mpls enable
[RouterD-GigabitEthernet1/0/2] quit
# 配置Router E。
<RouterE> system-view
[RouterE] mpls lsr-id 5.5.5.9
[RouterE] mpls te
[RouterE-te] quit
[RouterE] interface gigabitethernet 1/0/2
[RouterE-GigabitEthernet1/0/2] mpls enable
[RouterE-GigabitEthernet1/0/2] quit
(4) 配置节点的邻接路径标签和前缀路径标签
# 配置Router A的邻接标签,为下一跳地址10.1.1.2绑定标签16。
[RouterA] static-sr-mpls adjacency adjacency-1 in-label 16 nexthop 10.1.1.2
# 配置Router B的邻接标签,为下一跳地址20.1.1.2绑定标签21。
[RouterB] static-sr-mpls adjacency adjacency-2 in-label 21 nexthop 20.1.1.2
# 配置Router B的前缀标签,为下一跳地址20.1.1.2、60.1.1.2绑定相同的前缀路径名称、入标签16000、出标签16001,在Router B和Router C之间形成负载分担。
[RouterB] static-sr-mpls prefix prefix-1 destination 5.5.5.9 32 in-label 16000 nexthop 20.1.1.2 out-label 16001
[RouterB] static-sr-mpls prefix prefix-1 destination 5.5.5.9 32 in-label 16000 nexthop 60.1.1.2 out-label 16001
# 配置Router C的邻接标签,为下一跳地址30.1.1.2、50.1.1.2分别绑定标签30、31。
[RouterC] static-sr-mpls adjacency adjacency-1 in-label 30 nexthop 30.1.1.2
[RouterC] static-sr-mpls adjacency adjacency-2 in-label 31 nexthop 50.1.1.2
# 配置Router C的前缀标签,为目的地址5.5.5.9绑定标签16001。
[RouterC] static-sr-mpls prefix prefix-1 destination 5.5.5.9 32 in-label 16001
(5) 创建静态SRLSP
# 配置Router A为静态SRLSP的头节点,static-sr-lsp-1出标签栈为[16,21,30],建立到Router D的静态SRLSP。
[RouterA] static-sr-mpls lsp static-sr-lsp-1 out-label 16 21 30
# 配置Router A为静态SRLSP的头节点,static-sr-lsp-2的出标签栈为[16,16000,31],建立到Router E的静态SRLSP。
[RouterA] static-sr-mpls lsp static-sr-lsp-2 out-label 16 16000 31
(6) 配置MPLS TE隧道
# 在Router A上配置到Router D的MPLS TE隧道Tunnel1:目的地址为Router D的LSR ID(4.4.4.9);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为static-sr-lsp-1。
[RouterA] interface tunnel 1 mode mpls-te
[RouterA-Tunnel1] ip address 6.1.1.1 255.255.255.0
[RouterA-Tunnel1] destination 4.4.4.9
[RouterA-Tunnel1] mpls te signaling static
[RouterA-Tunnel1] mpls te static-sr-mpls static-sr-lsp-1
[RouterA-Tunnel1] quit
# 在Router A上配置到Router E的MPLS TE隧道Tunnel2:目的地址为Router E的LSR ID(5.5.5.9);采用静态SRLSP建立MPLS TE隧道,引用的SRLSP为static-sr-lsp-2。
[RouterA] interface tunnel 2 mode mpls-te
[RouterA-Tunnel2] ip address 7.1.1.1 255.255.255.0
[RouterA-Tunnel2] destination 5.5.5.9
[RouterA-Tunnel2] mpls te signaling static
[RouterA-Tunnel2] mpls te static-sr-mpls static-sr-lsp-2
[RouterA-Tunnel2] quit
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Router A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发,到达网络200.1.2.0/24的流量通过MPLS TE隧道接口Tunnel2转发。
[RouterA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
[RouterA] ip route-static 200.1.2.0 24 tunnel 2 preference 1
# 在Router A上执行display mpls te tunnel-interface命令,可以看到MPLS TE隧道的建立情况。
[RouterA] display mpls te tunnel-interface
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up)
Tunnel Attributes :
LSP ID : 1 Tunnel ID : 0
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 4.4.4.9
Signaling : Static Static CRLSP Name : -
Static SRLSP Name : static-sr-lsp-1/-
Resv Style : -
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : - Tunnel Bandwidth : -
Reserved Bandwidth : -
Setup Priority : 0 Holding Priority : 0
Affinity Attr/Mask : -/-
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : - Record Label : -
FRR Flag : - Backup Bandwidth Flag: -
Backup Bandwidth Flag: - Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : - Auto Created : -
Route Pinning : -
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : - Reoptimization Freq : -
Backup Type : - Backup LSP ID : -
Auto Bandwidth : - Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
Tunnel Name : Tunnel 2
Tunnel State : Up (Main CRLSP up)
Tunnel Attributes :
LSP ID : 1 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.9 Egress LSR ID : 5.5.5.9
Signaling : Static Static CRLSP Name : -
Static SRLSP Name : static-sr-lsp-2/-
Resv Style : -
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : - Tunnel Bandwidth : -
Reserved Bandwidth : -
Setup Priority : 0 Holding Priority : 0
Affinity Attr/Mask : -/-
Explicit Path : -
Backup Explicit Path : -
Metric Type : TE
Record Route : - Record Label : -
FRR Flag : - Bandwidth Protection : -
Backup Bandwidth Flag: - Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : - Auto Created : -
Route Pinning : -
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : - Reoptimization Freq : -
Backup Type : - Backup LSP ID : -
Auto Bandwidth : - Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : -
# 在各设备上执行display mpls lsp或display mpls static-sr-lsp命令,可以看到静态SRLSP的建立情况。
[RouterA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.9/0/46565 StaticCR -/21 GE1/0/2
30
1.1.1.9/1/46565 StaticCR -/16000 GE1/0/2
31
- StaticCR 16/- GE1/0/2
10.1.1.2 Local -/- GE1/0/2
Tunnel0 Local -/- NHLFE1
Tunnel1 Local -/- NHLFE2
[RouterB] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
5.5.5.9/32 StaticCR 16000/16001 GE1/0/2
5.5.5.9/32 StaticCR 16000/16001 GE1/0/3
- StaticCR 21/- GE1/0/2
20.1.1.2 Local -/- GE1/0/2
60.1.1.2 Local -/- GE1/0/3
[RouterC] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
5.5.5.9/32 StaticCR 16001/- -
- StaticCR 30/- GE1/0/1
- StaticCR 31/- GE1/0/3
30.1.1.2 Local -/- GE1/0/1
50.1.1.2 Local -/- GE1/0/3
· 设备Router A、Router B、Router C、Router D运行IS-IS实现互通。
· 在设备的Loopback接口地址之间采用动态方式分配SID,并根据分配的SID建立从Router A到Router D的SRLSP,MPLS TE隧道通过该SRLSP转发流量。
图1-24 通过IS-IS通告SID组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
|
|
|
|
GE1/0/2 |
11.0.0.1/24 |
Router C |
Loop1 |
3.3.3.3/32 |
Router D |
Loop1 |
4.4.4.4/32 |
|
GE1/0/1 |
11.0.0.2/24 |
|
GE1/0/1 |
12.0.0.2/24 |
|
GE1/0/2 |
12.0.0.1/24 |
|
GE1/0/2 |
100.1.2.1/24 |
(1) 请按照图1-24配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型wide
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0000.0000.0001.00
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis enable 1
[RouterA-LoopBack1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0000.0000.0002.00
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis enable 1
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis enable 1
[RouterB-LoopBack1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0000.0000.0003.00
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis enable 1
[RouterC-LoopBack1] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0000.0000.0004.00
[RouterD-isis-1] cost-style wide
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis enable 1
[RouterD-GigabitEthernet1/0/2] quit
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis enable 1
[RouterD-LoopBack1] quit
(3) 配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls te
[RouterA-te] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mpls enable
[RouterA-GigabitEthernet1/0/1] quit
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls te
[RouterB-te] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] mpls enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls te
[RouterC-te] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] mpls enable
[RouterC-GigabitEthernet1/0/2] quit
# 配置Router D。
[RouterD] mpls lsr-id 4.4.4.4
[RouterD] mpls te
[RouterD-te] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] mpls enable
[RouterD-GigabitEthernet1/0/1] quit
(4) 在IS-IS IPv4单播地址族视图下开启SR-MPLS功能。
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] segment-routing mpls
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] segment-routing mpls
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] address-family ipv4
[RouterC-isis-1-ipv4] segment-routing mpls
[RouterC-isis-1-ipv4] quit
[RouterC-isis-1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] address-family ipv4
[RouterD-isis-1-ipv4] segment-routing mpls
[RouterD-isis-1-ipv4] quit
[RouterD-isis-1] quit
(5) 配置各设备的前缀SID索引。
# 配置Router A。
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis prefix-sid index 10
# 配置Router B。
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis prefix-sid index 20
# 配置Router C。
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis prefix-sid index 30
# 配置Router D。
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis prefix-sid index 40
(6) 配置MPLS TE隧道
# 配置用于MPLS TE隧道的静态SRLSP,出标签为源节点Router A为尾节点Router D分配的前缀标签16040。
[RouterA] static-sr-mpls lsp static-sr-lsp-1 out-label 16040
# 在Router A上配置到Router D的MPLS TE隧道Tunnel1:目的地址为Router D的LoopBack口地址4.4.4.4;同时,配置Tunnel1引用静态SRLSP。
[RouterA] interface tunnel 1 mode mpls-te
[RouterA-Tunnel1] ip address 6.1.1.1 255.255.255.0
[RouterA-Tunnel1] destination 4.4.4.4
[RouterA-Tunnel1] mpls te signaling static
[RouterA-Tunnel1] mpls te static-sr-mpls static-sr-lsp-1
[RouterA-Tunnel1] quit
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Router A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[RouterA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 在Router A上执行display isis interface verbose可以看到Loopback接口上的SID配置情况。
[RouterA] display isis interface verbose
Interface information for IS-IS(1)
----------------------------------
Interface: LoopBack1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00002 Up Down 1 1536 L1/L2 --
SNPA address : 0000-0000-0000
IP address : 1.1.1.1
Secondary IP address(es) :
IPv6 link-local address :
Extended circuit ID : 2
CSNP timer value : L1 10 L2 10
Hello timer value : 10
Hello multiplier value : 3
LSP timer value : L12 33
LSP transmit-throttle count : L12 5
Cost : L1 0 L2 0
IPv6 cost : L1 0 L2 0
Priority : L1 64 L2 64
Retransmit timer value : L12 5
MPLS TE status : L1 Disabled L2 Disabled
IPv4 BFD : Disabled
IPv6 BFD : Disabled
IPv4 FRR LFA backup : Enabled
IPv6 FRR LFA backup : Enabled
IPv4 prefix suppression : Disabled
IPv6 prefix suppression : Disabled
IPv4 tag : 0
IPv6 tag : 0
Prefix-SID type : Index
Value : 10
Prefix-SID validity : Valid
# 在Router A上执行display isis route verbose可以查看绑定标签的路由信息。
[RouterA] display isis route verbose
Route information for IS-IS(1)
------------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Dest : 10.0.0.0/24 Int. Cost : 10 Ext. Cost : NULL
Admin Tag : - Src Count : 2 Flag : D/L/-
InLabel : 4294967295 InLabel Flag: -/-/-/-/-/-
NextHop : Interface : ExitIndex :
Direct GE1/0/1 0x00000102
Nib ID : 0x0 OutLabel : 4294967295 OutLabelFlag: -
IPv4 Dest : 11.0.0.0/24 Int. Cost : 20 Ext. Cost : NULL
Admin Tag : - Src Count : 2 Flag : R/-/-
InLabel : 4294967295 InLabel Flag: -/-/-/-/-/-
NextHop : Interface : ExitIndex :
10.0.0.2 GE1/0/1 0x00000102
Nib ID : 0x14000004 OutLabel : 4294967295 OutLabelFlag: -
IPv4 Dest : 12.0.0.0/24 Int. Cost : 30 Ext. Cost : NULL
Admin Tag : - Src Count : 2 Flag : R/-/-
InLabel : 4294967295 InLabel Flag: -/-/-/-/-/-
NextHop : Interface : ExitIndex :
10.0.0.2 GE1/0/1 0x00000102
Nib ID : 0x14000004 OutLabel : 4294967295 OutLabelFlag: -
IPv4 Dest : 1.1.1.1/32 Int. Cost : 0 Ext. Cost : NULL
Admin Tag : - Src Count : 1 Flag : D/L/-
InLabel : 16010 InLabel Flag: -/N/-/-/-/-
NextHop : Interface : ExitIndex :
Direct Loop1 0x00000584
Nib ID : 0x0 OutLabel : 4294967295 OutLabelFlag: -
IPv4 Dest : 2.2.2.2/32 Int. Cost : 10 Ext. Cost : NULL
Admin Tag : - Src Count : 1 Flag : R/-/-
InLabel : 16020 InLabel Flag: -/N/-/-/-/-
NextHop : Interface : ExitIndex :
10.0.0.2 GE1/0/1 0x00000102
Nib ID : 0x14000003 OutLabel : 16020 OutLabelFlag: I
IPv4 Dest : 3.3.3.3/32 Int. Cost : 20 Ext. Cost : NULL
Admin Tag : - Src Count : 1 Flag : R/-/-
InLabel : 16030 InLabel Flag: -/N/-/-/-/-
NextHop : Interface : ExitIndex :
10.0.0.2 GE1/0/1 0x00000102
Nib ID : 0x14000002 OutLabel : 16030 OutLabelFlag: -
IPv4 Dest : 4.4.4.4/32 Int. Cost : 20 Ext. Cost : NULL
Admin Tag : - Src Count : 1 Flag : R/-/-
InLabel : 16040 InLabel Flag: -/N/-/-/-/-
NextHop : Interface : ExitIndex :
10.0.0.2 GE1/0/1 0x00000102
Nib ID : 0x14000002 OutLabel : 16040 OutLabelFlag: -
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
InLabel flags: R-Readvertisement, N-Node SID, P-no PHP
E-Explicit null, V-Value, L-Local
OutLabelFlags: E-Explicit null, I-Implicit null, N-Normal
# 在Router A上执行display mpls lsp可以看到MPLS标签转发路径信息。
[RouterA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
10.0.0.2 Local -/- GE1/0/1
1.1.1.1/32 ISIS 16010/- -
2.2.2.2/32 ISIS 16020/3 GE1/0/1
2.2.2.2/32 ISIS -/3 GE1/0/1
3.3.3.3/32 ISIS 16030/16030 GE1/0/1
3.3.3.3/32 ISIS -/16030 GE1/0/1
4.4.4.4/32 ISIS 16040/16040 GE1/0/1
4.4.4.4/32 ISIS -/16040 GE1/0/1
· 设备Router A、Router B、Router C、Router D运行OSPF实现互通。
· 在设备的Loopback接口地址之间采用动态方式分配SID,并根据分配的SID建立从Router A到Router D的SRLSP,MPLS TE隧道通过该SRLSP转发流量。
图1-25 通过OSPF通告SID组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
|
|
|
|
GE1/0/2 |
11.0.0.1/24 |
Router C |
Loop1 |
3.3.3.3/32 |
Router D |
Loop1 |
4.4.4.4/32 |
|
GE1/0/1 |
11.0.0.2/24 |
|
GE1/0/1 |
12.0.0.2/24 |
|
GE1/0/2 |
12.0.0.1/24 |
|
GE1/0/2 |
100.1.2.1/24 |
(1) 请按照图1-25配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置OSPF协议实现网络层互通
# 配置Router A。
<RouterA> system-view
[RouterA] ospf 1 router-id 1.1.1.1
[RouterA-ospf-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ospf 1 area 0
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] ospf 1 area 0
[RouterA-LoopBack1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] ospf 1 router-id 2.2.2.2
[RouterB-ospf-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] ospf 1 area 0
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] ospf 1 area 0
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] ospf 1 area 0
[RouterB-LoopBack1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] ospf 1 router-id 3.3.3.3
[RouterC-ospf-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] ospf 1 area 0
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] ospf 1 area 0
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] ospf 1 area 0
[RouterC-LoopBack1] quit
# 配置Router D。
<RouterD> system-view
[RouterD] ospf 1 router-id 4.4.4.4
[RouterD-ospf-1] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] ospf 1 area 0
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] ospf 1 area 0
[RouterD-GigabitEthernet1/0/2] quit
[RouterD] interface loopback 1
[RouterD-LoopBack1] ospf 1 area 0
[RouterD-LoopBack1] quit
(3) 配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls te
[RouterA-te] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mpls enable
[RouterA-GigabitEthernet1/0/1] quit
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls te
[RouterB-te] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] mpls enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls te
[RouterC-te] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] mpls enable
[RouterC-GigabitEthernet1/0/2] quit
# 配置Router D。
[RouterD] mpls lsr-id 4.4.4.4
[RouterD] mpls te
[RouterD-te] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] mpls enable
[RouterD-GigabitEthernet1/0/1] quit
(4) 在OSPF视图下开启SR-MPLS功能
# 配置Router A。
[RouterA] ospf 1
[RouterA-ospf-1] segment-routing mpls
[RouterA-ospf-1] quit
# 配置Router B。
[RouterB] ospf 1
[RouterB-ospf-1] segment-routing mpls
[RouterB-ospf-1] quit
# 配置Router C。
[RouterC] ospf 1
[RouterC-ospf-1] segment-routing mpls
[RouterC-ospf-1] quit
# 配置Router D。
[RouterD] ospf 1
[RouterD-ospf-1] segment-routing mpls
[RouterD-ospf-1] quit
(5) 配置各设备的前缀SID索引
# 配置Router A。
[RouterA] interface loopback 1
[RouterA-LoopBack1] ospf 1 prefix-sid index 10
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] interface loopback 1
[RouterB-LoopBack1] ospf 1 prefix-sid index 20
# 配置Router C。
[RouterC] interface loopback 1
[RouterC-LoopBack1] ospf 1 prefix-sid index 30
# 配置Router D。
[RouterD] interface loopback 1
[RouterD-LoopBack1] ospf 1 prefix-sid index 40
(6) 配置MPLS TE隧道
# 配置用于MPLS TE隧道的静态SRLSP,出标签为源节点Router A为尾节点Router D分配的前缀标签16040。
[RouterA] static-sr-mpls lsp static-sr-lsp-1 out-label 16040
# 在Router A上配置到Router D的MPLS TE隧道Tunnel1:目的地址为Router D的LoopBack口地址4.4.4.4;同时,配置Tunnel1引用静态SRLSP。
[RouterA] interface tunnel 1 mode mpls-te
[RouterA-Tunnel1] ip address 6.1.1.1 255.255.255.0
[RouterA-Tunnel1] destination 4.4.4.4
[RouterA-Tunnel1] mpls te signaling static
[RouterA-Tunnel1] mpls te static-sr-mpls static-sr-lsp-1
[RouterA-Tunnel1] quit
(7) 配置静态路由使流量沿MPLS TE隧道转发
# 在Router A上配置静态路由,使得到达网络100.1.2.0/24的流量通过MPLS TE隧道接口Tunnel1转发。
[RouterA] ip route-static 100.1.2.0 24 tunnel 1 preference 1
# 在Router A上查看绑定标签的路由信息。
[RouterA] display ospf routing verbose
OSPF Process 1 with Router ID 1.1.1.1
Routing Table
Topology base (MTID 0)
Routing for network
Destination: 11.0.0.0/24
Priority: Low Type: Transit
AdvRouter: 3.3.3.3 Area: 0.0.0.0
SubProtoID: 0x1 Preference: 10
NextHop: 10.0.0.2 BkNextHop: N/A
IfType: Broadcast BkIfType: N/A
Interface: GE1/0/1 BkInterface: N/A
NibID: 0x13000005 Status: Normal
Cost: 2
InLabel: 4294967295
OutLabel: 4294967295 OutLabel flag: N
Destination: 10.0.0.0/24
Priority: Low Type: Transit
AdvRouter: 1.1.1.1 Area: 0.0.0.0
SubProtoID: 0x1 Preference: 10
NextHop: 0.0.0.0 BkNextHop: N/A
IfType: Broadcast BkIfType: N/A
Interface: GE1/0/1 BkInterface: N/A
NibID: 0x13000001 Status: Direct
Cost: 1
InLabel: 4294967295
OutLabel: 4294967295 OutLabel flag: N
Destination: 4.4.4.4/32
Priority: Medium Type: Stub
AdvRouter: 4.4.4.4 Area: 0.0.0.0
SubProtoID: 0x1 Preference: 10
NextHop: 10.0.0.2 BkNextHop: N/A
IfType: Broadcast BkIfType: N/A
Interface: GE1/0/1 BkInterface: N/A
NibID: 0x13000005 Status: Normal
Cost: 2
InLabel: 16040
OutLabel: 16040 OutLabel flag: N
Destination: 3.3.3.3/32
Priority: Medium Type: Stub
AdvRouter: 3.3.3.3 Area: 0.0.0.0
SubProtoID: 0x1 Preference: 10
NextHop: 10.0.0.2 BkNextHop: N/A
IfType: Broadcast BkIfType: N/A
Interface: GE1/0/1 BkInterface: N/A
NibID: 0x13000005 Status: Normal
Cost: 2
InLabel: 16030
OutLabel: 16030 OutLabel flag: N
Destination: 2.2.2.2/32
Priority: Medium Type: Stub
AdvRouter: 2.2.2.2 Area: 0.0.0.0
SubProtoID: 0x1 Preference: 10
NextHop: 10.0.0.2 BkNextHop: N/A
IfType: Broadcast BkIfType: N/A
Interface: GE1/0/1 BkInterface: N/A
NibID: 0x13000005 Status: Normal
Cost: 1
InLabel: 16020
OutLabel: 16020 OutLabel flag: N
Destination: 1.1.1.1/32
Priority: Medium Type: Stub
AdvRouter: 1.1.1.1 Area: 0.0.0.0
SubProtoID: 0x1 Preference: 10
NextHop: 0.0.0.0 BkNextHop: N/A
IfType: PTP BkIfType: N/A
Interface: Loop1 BkInterface: N/A
NibID: 0x13000002 Status: Direct
Cost: 0
InLabel: 16010
OutLabel: 4294967295 OutLabel flag: N
Total nets: 6
Intra area: 6 Inter area: 0 ASE: 0 NSSA: 0
# 在Router A上查看MPLS标签转发路径信息。
[RouterA] display mpls lsp
FEC Proto In/Out Label Interface/Out NHLFE
10.0.0.2 Local -/- GE1/0/1
1.1.1.1/32 OSPF 16010/- -
2.2.2.2/32 OSPF 16020/3 GE1/0/1
2.2.2.2/32 OSPF -/3 GE1/0/1
3.3.3.3/32 OSPF 16030/16030 GE1/0/1
3.3.3.3/32 OSPF -/16030 GE1/0/1
4.4.4.4/32 OSPF 16040/16040 GE1/0/1
4.4.4.4/32 OSPF -/16040 GE1/0/1
· 设备Router A、Router B、Router C、Router D运行IGP实现互通,这里以IS-IS举例。
· 在设备的Loopback接口地址之间采用动态方式分配SID,并在头节点配置显式路径建立从Router A到Router D的SRLSP,MPLS TE隧道通过该SRLSP转发流量。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
|
|
|
|
GE1/0/2 |
11.0.0.1/24 |
Router C |
Loop1 |
3.3.3.3/32 |
Router D |
Loop1 |
4.4.4.4/32 |
|
GE1/0/1 |
11.0.0.2/24 |
|
GE1/0/1 |
12.0.0.2/24 |
|
GE1/0/2 |
12.0.0.1/24 |
|
GE1/0/2 |
100.1.2.1/24 |
(1) 请按照图1-26配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls te
[RouterA-te] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mpls enable
[RouterA-GigabitEthernet1/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls te
[RouterB-te] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] mpls enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
<RouterC> system-view
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls te
[RouterC-te] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] mpls enable
[RouterC-GigabitEthernet1/0/2] quit
# 配置Router D。
<RouterD> system-view
[RouterD] mpls lsr-id 4.4.4.4
[RouterD] mpls te
[RouterD-te] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] mpls enable
[RouterD-GigabitEthernet1/0/1] quit
(3) 配置IS-IS协议实现网络层互通,开销值类型wide
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0000.0000.0001.00
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] mpls te enable
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis enable 1
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0000.0000.0002.00
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] mpls te enable
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis enable 1
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis enable 1
[RouterB-LoopBack1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0000.0000.0003.00
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] is-level level-1
[RouterC-isis-1] mpls te enable
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis enable 1
[RouterC-LoopBack1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0000.0000.0004.00
[RouterD-isis-1] cost-style wide
[RouterD-isis-1] is-level level-1
[RouterD-isis-1] mpls te enable
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis enable 1
[RouterD-GigabitEthernet1/0/2] quit
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis enable 1
[RouterD-LoopBack1] quit
(4) 在IS-IS IPv4单播地址族视图下开启SR-MPLS功能。
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] segment-routing mpls
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] segment-routing mpls
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] address-family ipv4
[RouterC-isis-1-ipv4] segment-routing mpls
[RouterC-isis-1-ipv4] quit
[RouterC-isis-1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] address-family ipv4
[RouterD-isis-1-ipv4] segment-routing mpls
[RouterD-isis-1-ipv4] quit
[RouterD-isis-1] quit
(5) 配置各设备的前缀SID索引。
# 配置Router A。
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis prefix-sid index 10
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis prefix-sid index 20
[RouterB-LoopBack1] quit
# 配置Router C。
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis prefix-sid index 30
[RouterC-LoopBack1] quit
# 配置Router D。
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis prefix-sid index 40
[RouterD-LoopBack1] quit
(6) 配置显式路径。
# 在Router A上配置到Router D的显式路径1:采用prefix标签方式,逐跳配置标签值,建立SRLSP。
[RouterA] explicit-path 1
[RouterA-explicit-path-1] nextsid label 16020 type prefix
[RouterA-explicit-path-1] nextsid label 16030 type prefix
[RouterA-explicit-path-1] nextsid label 16040 type prefix
[RouterA-explicit-path-1] quit
(7) 配置MPLS TE隧道。
# 在Router A上配置到Router D的MPLS TE隧道Tunnel1:目的地址为Router D的LoopBack口地址4.4.4.4;同时,配置Tunnel1引用显式路径1,使流量沿MPLS TE 隧道转发。
[RouterA] interface tunnel 1 mode mpls-te
[RouterA-Tunnel1] ip address unnumbered interface LoopBack 1
[RouterA-Tunnel1] destination 4.4.4.4
[RouterA-Tunnel1] mpls te signaling segment-routing
[RouterA-Tunnel1] mpls te path preference 1 explicit-path 1
[RouterA-Tunnel1] quit
# 在Router A上执行display mpls lsp可以看到MPLS标签转发路径信息。
[RouterA] display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
10.0.0.2 Local -/- GE1/0/1
Tunnel1 Local -/- NHLFE6
1.1.1.1/32 ISIS 16010/- -
2.2.2.2/32 ISIS 16020/3 GE1/0/1
2.2.2.2/32 ISIS -/3 GE1/0/1
3.3.3.3/32 ISIS 16030/16030 GE1/0/1
3.3.3.3/32 ISIS -/16030 GE1/0/1
4.4.4.4/32 ISIS 16040/16040 GE1/0/1
4.4.4.4/32 ISIS -/16040 GE1/0/1
1.1.1.1/1/17700 SR-TE -/16030 GE1/0/1
16040
# 在Router A上执行display mpls te tunnel-interface可以看到MPLS TE隧道接口信息。
[RouterA] display mpls te tunnel-interface tunnel 1
Tunnel Name : Tunnel 1
Tunnel State : Up (Main CRLSP up.
Main Shared-resource CRLSP down.
Backup CRLSP down.)
Tunnel Attributes :
LSP ID : 17700 Tunnel ID : 1
Admin State : Normal
Ingress LSR ID : 1.1.1.1 Egress LSR ID : 4.4.4.4
Signaling : Segment-Routing Static CRLSP Name : -
Resv Style : SE
Tunnel mode : -
Reverse-LSP name : -
Reverse-LSP LSR ID : - Reverse-LSP Tunnel ID: -
Class Type : CT0 Tunnel Bandwidth : 0 kbps
Reserved Bandwidth : 0 kbps
Setup Priority : - Holding Priority : -
Affinity Attr/Mask : 0/0
Explicit Path : 1
Backup Explicit Path : -
Metric Type : TE
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled Bandwidth Protection : Disabled
Backup Bandwidth Flag: Disabled Backup Bandwidth Type: -
Backup Bandwidth : -
Bypass Tunnel : No Auto Created : No
Route Pinning : Disabled
Retry Limit : 3 Retry Interval : 2 sec
Reoptimization : Disabled Reoptimization Freq : -
Backup Type : None Backup LSP ID : -
Backup Restore Time : -
Auto Bandwidth : Disabled Auto Bandwidth Freq : -
Min Bandwidth : - Max Bandwidth : -
Collected Bandwidth : - Service-Class : -
Traffic Policy : Disable
Path Setup Type : EXPLICIT/-
Last Down Reason : Signal Error
Down Time : 18-11-13 14:34:06:232
# 在Router A上执行display mpls forwarding nhlfe可以看到下一跳标签转发表项信息。到达目的出标签为两层标签,流量通过显示路径1转发。
[RouterA] display mpls forwarding nhlfe
Total NHLFE entries: 3
Flags: T - Forwarded through a tunnel
N - Forwarded through the outgoing interface to the nexthop IP address
B - Backup forwarding information
A - Active forwarding information
M - P2MP forwarding information
NID Tnl-Type Flag OutLabel Forwarding Info
--------------------------------------------------------------------------------
5 LOCAL NA - GE1/0/1 10.0.0.2
6 SRLSP NA 16030 GE1/0/1 10.0.0.2
16040
268435457 TE TA - 6
· 设备Router A、Router B、Router C、Router D运行IGP实现互通,这里以IS-IS举例。
· 设备Router B、Router C、Router D为PCE;Router A作为PCC,静态配置PCE,并向PCE请求计算从Router A到Router D的IS-IS区域路径。
图1-27 通过PCE计算SRLSP组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
|
|
|
|
GE1/0/2 |
11.0.0.1/24 |
Router C |
Loop1 |
3.3.3.3/32 |
Router D |
Loop1 |
4.4.4.4/32 |
|
GE1/0/1 |
11.0.0.2/24 |
|
GE1/0/1 |
12.0.0.2/24 |
|
GE1/0/2 |
12.0.0.1/24 |
|
GE1/0/2 |
100.1.2.1/24 |
(1) 请按照图1-27配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls te
[RouterA-te] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] mpls enable
[RouterA-GigabitEthernet1/0/1] mpls te enable
[RouterA-GigabitEthernet1/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls te
[RouterB-te] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] mpls enable
[RouterB-GigabitEthernet1/0/1] mpls te enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] mpls te enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
<RouterC> system-view
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls te
[RouterC-te] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] mpls te enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] mpls enable
[RouterC-GigabitEthernet1/0/2] mpls te enable
[RouterC-GigabitEthernet1/0/2] quit
# 配置Router D。
<RouterD> system-view
[RouterD] mpls lsr-id 4.4.4.4
[RouterD] mpls te
[RouterD-te] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] mpls enable
[RouterD-GigabitEthernet1/0/1] mpls te enable
[RouterD-GigabitEthernet1/0/1] quit
(3) 配置IS-IS协议实现网络层互通,开销值类型wide
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0000.0000.0001.00
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] mpls te enable
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis enable 1
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0000.0000.0002.00
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] mpls te enable
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis enable 1
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis enable 1
[RouterB-LoopBack1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0000.0000.0003.00
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] mpls te enable
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis enable 1
[RouterC-LoopBack1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0000.0000.0004.00
[RouterD-isis-1] cost-style wide
[RouterD-isis-1] mpls te enable
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis enable 1
[RouterD-GigabitEthernet1/0/2] quit
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis enable 1
[RouterD-LoopBack1] quit
(4) 配置在IS-IS IPv4单播地址族视图下开启SR-MPLS功能。
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] segment-routing mpls
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] segment-routing mpls
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
# 配置Router C。
[RouterC] isis 1
[RouterC-isis-1] address-family ipv4
[RouterC-isis-1-ipv4] segment-routing mpls
[RouterC-isis-1-ipv4] quit
[RouterC-isis-1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] address-family ipv4
[RouterD-isis-1-ipv4] segment-routing mpls
[RouterD-isis-1-ipv4] quit
[RouterD-isis-1] quit
(5) 配置Router B、Router C和Router D为PCE
# 配置Router B。
[RouterB] mpls te
[RouterB-te] pce address 2.2.2.2
# 配置Router C。
[RouterC] mpls te
[RouterC-te] pce address 3.3.3.3
# 配置Router D。
[RouterD] mpls te
[RouterD-te] pce address 4.4.4.4
(6) 配置RouterA作为PCC并使用静态方式指定PCE
# 配置Router A。
[RouterA] mpls te
[RouterA-te] pcep type active-stateful
[RouterA-te] pce static 2.2.2.2
[RouterA-te] pce static 3.3.3.3
[RouterA-te] pce static 4.4.4.4
(7) 配置MPLS TE隧道使用PCE托管方式计算SRLSP
# 配置Router A。
[RouterA] interface tunnel 1 mode mpls-te
[RouterA-Tunnel1] ip address unnumbered interface LoopBack1
[RouterA-Tunnel1] mpls te signaling segment-routing
[RouterA-Tunnel1] mpls te delegation
[RouterA-Tunnel1] destination 4.4.4.4
# 配置完成后,在各路由器上执行display mpls te pce discovery verbose,可以查看到自动发现的PCE。以Router A为例:
[RouterA] display mpls te pce discovery verbose
PCE address: 2.2.2.2
Discovery methods: Static
Path scopes:
Path scope Preference
Compute intra-area paths 7
Act as PCE for inter-area TE LSP computation 6
Capabilities:
Bidirectional path computation
Support for request prioritization
Support for multiple requests per message
PCE address: 3.3.3.3
Discovery methods: Static
Path scopes:
Path scope Preference
Compute intra-area paths 7
Act as PCE for inter-area TE LSP computation 6
Capabilities:
Bidirectional path computation
Support for request prioritization
Support for multiple requests per message
PCE address: 4.4.4.4
Discovery methods: Static
Path scopes:
Path scope Preference
Compute intra-area paths 7
Act as PCE for inter-area TE LSP computation 6
Capabilities:
Bidirectional path computation
Support for request prioritization
Support for multiple requests per message
# 在各路由器上执行display mpls te pce peer verbose,可以查看到建立的PCEP会话,显示会话状态UP。以Router A为例:
[RouterA] display mpls te pce peer verbose
Peer address: 2.2.2.2
TCP connection : 1.1.1.1:36818 -> 2.2.2.2:4189
Peer type : PCE
Session type : Stateless
Session state : UP
Mastership : Normal
Role : Active
Session up time : 0000 days 00 hours 15 minutes
Session ID : Local 0, Peer 0
Keepalive interval : Local 30 sec, Peer 30 sec
Recommended DeadTimer : Local 120 sec, Peer 120 sec
Tolerance:
Min keepalive interval : 10 sec
Max unknown messages : 5
Request timeout : 10 sec
Capability for Initiate : No
Capability for Segment-Routing: No
Peer address: 3.3.3.3
TCP connection : 1.1.1.1:36821 -> 3.3.3.3:4189
Peer type : PCE
Session type : Stateless
Session state : UP
Mastership : Normal
Role : Active
Session up time : 0000 days 00 hours 13 minutes
Session ID : Local 1, Peer 0
Keepalive interval : Local 30 sec, Peer 30 sec
Recommended DeadTimer : Local 120 sec, Peer 120 sec
Tolerance:
Min keepalive interval : 10 sec
Max unknown messages : 5
Request timeout : 10 sec
Capability for Initiate : No
Capability for Segment-Routing: No
Peer address: 4.4.4.4
TCP connection : 1.1.1.1:36822 -> 4.4.4.4:4189
Peer type : PCE
Session type : Stateless
Session state : UP
Mastership : Normal
Role : Active
Session up time : 0000 days 00 hours 13 minutes
Session ID : Local 2, Peer 0
Keepalive interval : Local 30 sec, Peer 30 sec
Recommended DeadTimer : Local 120 sec, Peer 120 sec
Tolerance:
Min keepalive interval : 10 sec
Max unknown messages : 5
Request timeout : 10 sec
Capability for Initiate : No
Capability for Segment-Routing: No
· 在设备的Loopback接口地址之间采用动态方式分配SID,并根据分配的SID建立SRLSP,MPLS TE隧道通过该SRLSP转发流量。
· 同一自治系统内的PE设备之间运行OSPF作为IGP,使能OSPF SR;
· 不同自治系统内的ASBR-PE设备之间运行MPLS TE隧道,开启BGP-EPE功能;
· PE 1与ASBR-PE 1间通过MP IBGP交换标签VPNv4路由;
· PE 2与ASBR-PE 2间通过MP IBGP交换标签VPNv4路由;
· ASBR-PE 1与ASBR-PE 2建立MP-EBGP对等体交换VPNv4路由;
· ASBR上不对接收的VPNv4路由进行Route Target过滤。
图1-28 跨域VPN-OptionB方式SR-MPLS组网图
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
PE 1 |
Loop1 |
2.2.2.9/32 |
PE 2 |
Loop1 |
5.5.5.9/32 |
|
GE1/0/1 |
30.0.0.1/24 |
|
GE1/0/1 |
20.0.0.1/24 |
|
GE1/0/5 |
1.1.1.2/8 |
|
GE1/0/5 |
9.1.1.2/8 |
ASBR-PE 1 |
Loop1 |
3.3.3.9/32 |
ASBR-PE 2 |
Loop1 |
4.4.4.9/32 |
|
GE1/0/5 |
1.1.1.1/8 |
|
GE1/0/5 |
9.1.1.1/8 |
|
GE1/0/4 |
11.0.0.2/8 |
|
GE1/0/4 |
11.0.0.1/8 |
(1) 配置各接口的IP地址。
按照图1-28配置各接口的IP地址和掩码,部分配置过程略。
(2) 配置PE 1
# 在PE 1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE1> system-view
[PE1] ospf 1 router-id 2.2.2.9
[PE1-ospf-1] quit
[PE1] interface gigabitethernet 1/0/5
[PE1-GigabitEthernet1/0/5] ip address 1.1.1.2 255.0.0.0
[PE1-GigabitEthernet1/0/5] ospf 1 area 0
[PE1-GigabitEthernet1/0/5] mpls enable
[PE1-GigabitEthernet1/0/5] quit
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 2.2.2.9 32
[PE1-LoopBack1] ospf 1 area 0
[PE1-LoopBack1] quit
[PE1] mpls lsr-id 2.2.2.9
[PE1] mpls te
[PE1-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE1] ospf 1
[PE1-ospf-1] segment-routing mpls
[PE1-ospf-1] quit
[PE1] interface loopback 1
[PE1-LoopBack1] ospf 1 prefix-sid index 20
[PE1-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置RD和Route Target属性。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 11:11
[PE1-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE1-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE1-vpn-instance-vpn1] quit
# 配置接口GigabitEthernet1/0/1与VPN实例vpn1绑定,并配置该接口的IP地址。
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[PE1-GigabitEthernet1/0/1] ip address 30.0.0.1 24
[PE1-GigabitEthernet1/0/1] quit
# 在PE 1上运行BGP。
[PE1] bgp 100
# 配置IBGP对等体3.3.3.9为VPNv4对等体。
[PE1-bgp-default] peer 3.3.3.9 as-number 100
[PE1-bgp-default] peer 3.3.3.9 connect-interface loopback 1
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] peer 3.3.3.9 enable
[PE1-bgp-default-vpnv4] quit
# 将直连路由引入vpn1的VPN路由表。
[PE1-bgp-default] ip vpn-instance vpn1
[PE1-bgp-default-vpn1] address-family ipv4 unicast
[PE1-bgp-default-ipv4-vpn1] import-route direct
(3) 配置ASBR-PE 1
# 在ASBR-PE1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<ASBR-PE1> system-view
[ASBR-PE1] ospf 1 router-id 3.3.3.9
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface gigabitethernet 1/0/4
[ASBR-PE1-GigabitEthernet1/0/4] mpls enable
[ASBR-PE1-GigabitEthernet1/0/4] quit
[ASBR-PE1] interface gigabitethernet 1/0/5
[ASBR-PE1-GigabitEthernet1/0/5] ospf 1 area 0
[ASBR-PE1-GigabitEthernet1/0/5] mpls enable
[ASBR-PE1-GigabitEthernet1/0/5] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ip address 3.3.3.9 32
[ASBR-PE1-LoopBack1] ospf 1 area 0
[ASBR-PE1-LoopBack1] quit
[ASBR-PE1] mpls lsr-id 3.3.3.9
[ASBR-PE1] mpls te
[ASBR-PE1-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE1] ospf 1
[ASBR-PE1-ospf-1] segment-routing mpls
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ospf 1 prefix-sid index 30
[ASBR-PE1-LoopBack1] quit
# 创建路由策略,配置标签值。
[ASBR-PE1] route-policy epe permit node 1
[ASBR-PE1-route-policy-epe-1] apply label-value 245555
[ASBR-PE1-route-policy-epe-1] quit
# 在ASBR-PE 1上运行BGP。
[ASBR-PE1] bgp 100
[ASBR-PE1-bgp-default] peer 2.2.2.9 as-number 100
[ASBR-PE1-bgp-default] peer 2.2.2.9 connect-interface loopback 1
[ASBR-PE1-bgp-default] peer 11.0.0.1 as-number 600
[ASBR-PE1-bgp-default] peer 11.0.0.1 connect-interface gigabitethernet 1/0/4
# 不对接收的VPNv4路由进行Route target过滤。
[ASBR-PE1-bgp-default] address-family vpnv4
[ASBR-PE1-bgp-default-vpnv4] undo policy vpn-target
# 将IBGP对等体2.2.2.9和EBGP对等体11.0.0.1都配置为VPNv4对等体。
[ASBR-PE1-bgp-default-vpnv4] peer 11.0.0.1 enable
[ASBR-PE1-bgp-default-vpnv4] peer 2.2.2.9 enable
[ASBR-PE1-bgp-default-vpnv4] quit
# 配置开启BGP-EPE功能,指定策略为EBGP邻居11.0.0.1分配标签。
[ASBR-PE1-bgp-default] peer 11.0.0.1 egress-engineering route-policy epe
[ASBR-PE1-bgp-default] quit
[ASBR-PE1-bgp] quit
(4) 配置ASBR-PE 2
# 在ASBR-PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
<ASBR-PE2> system-view
[ASBR-PE2] ospf 1 router-id 4.4.4.9
[ASBR-PE2-ospf-1] quit
[ASBR-PE2] interface gigabitethernet 1/0/4
[ASBR-PE2-GigabitEthernet1/0/4] mpls enable
[ASBR-PE2-GigabitEthernet1/0/4] quit
[ASBR-PE2] interface gigabitethernet 1/0/5
[ASBR-PE2-GigabitEthernet1/0/5] ospf 1 area 0
[ASBR-PE2-GigabitEthernet1/0/5] mpls enable
[ASBR-PE2-GigabitEthernet1/0/5] quit
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ip address 4.4.4.9 32
[ASBR-PE2-LoopBack1] ospf 1 area 0
[ASBR-PE2-LoopBack1] quit
[ASBR-PE2] mpls lsr-id 4.4.4.9
[ASBR-PE2] mpls te
[ASBR-PE2-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE1] ospf 1
[ASBR-PE1-ospf-1] segment-routing mpls
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ospf 1 prefix-sid index 40
[ASBR-PE1-LoopBack1] quit
# 创建路由策略,配置标签值。
[ASBR-PE2] route-policy epe permit node 1
[ASBR-PE2-route-policy-epe-1] apply label-value 246666
[ASBR-PE2-route-policy-epe-1] quit
# 在ASBR-PE 2上运行BGP。
[ASBR-PE2] bgp 600
[ASBR-PE2-bgp-default] peer 5.5.5.9 as-number 600
[ASBR-PE2-bgp-default] peer 5.5.5.9 connect-interface loopback 1
[ASBR-PE2-bgp-default] peer 11.0.0.2 as-number 100
[ASBR-PE2-bgp-default] peer 11.0.0.2 connect-interface gigabitethernet 1/0/4
# 不对接收的VPNv4路由进行Route target过滤。
[ASBR-PE2-bgp-default] address-family vpnv4
[ASBR-PE2-bgp-default-vpnv4] undo policy vpn-target
# 将IBGP对等体5.5.5.9和EBGP对等体11.0.0.2都配置为VPNv4对等体。
[ASBR-PE2-bgp-default-vpnv4] peer 11.0.0.2 enable
[ASBR-PE2-bgp-default-vpnv4] peer 5.5.5.9 enable
[ASBR-PE2-bgp-default-vpnv4] quit
# 配置开启BGP-EPE功能,指定策略为EBGP邻居11.0.0.2分配标签。
[ASBR-PE2-bgp-default] peer 11.0.0.2 egress-engineering route-policy epe
(5) 配置PE 2
# 在PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE2> system-view
[PE2] ospf 1 router-id 5.5.5.9
[PE2-ospf-1] quit
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] ospf 1 area 0
[PE2-GigabitEthernet1/0/1] mpls enable
[PE2-GigabitEthernet1/0/1] quit
[PE2] interface gigabitethernet 1/0/5
[PE2-GigabitEthernet1/0/5] ospf 1 area 0
[PE2-GigabitEthernet1/0/5] mpls enable
[PE2-GigabitEthernet1/0/5] quit
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 5.5.5.9 32
[PE2-LoopBack1] ospf 1 area 0
[PE2-LoopBack1] quit
[PE2] mpls lsr-id 5.5.5.9
[PE2] mpls te
[PE2-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE2] ospf 1
[PE2-ospf-1] segment-routing mpls
[PE2] interface loopback 1
[PE2-LoopBack1] ospf 1 prefix-sid index 50
[PE2-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置RD和Route Target属性。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 11:11
[PE2-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE2-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE2-vpn-instance-vpn1] quit
# 配置接口GigabitEthernet1/0/1与VPN实例vpn1绑定,并配置该接口的IP地址。
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[PE2-GigabitEthernet1/0/1] ip address 20.0.0.1 24
[PE2-GigabitEthernet1/0/1] quit
# 在PE 2上运行BGP。
[PE2] bgp 600
# 配置IBGP对等体4.4.4.9为VPNv4对等体。
[PE2-bgp-default] peer 4.4.4.9 as-number 600
[PE2-bgp-default] peer 4.4.4.9 connect-interface loopback 1
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] peer 4.4.4.9 enable
[PE2-bgp-default-vpnv4] quit
# 将直连路由引入VPN1的VPN路由表。
[PE2-bgp-default] ip vpn-instance vpn1
[PE2-bgp-default-vpn1] address-family ipv4 unicast
[PE2-bgp-default-ipv4-vpn1] import-route direct
(6) 配置MPLS TE隧道
# ASBR-PE 1配置用于MPLS TE隧道的静态SRLSP,出标签为节点ASBR-PE 1为ASBR-PE 2分配的BGP SR邻居标签245555。
<ASBR-PE1> system-view
[ASBR-PE1] static-sr-mpls lsp static-sr-lsp-1 out-label 245555
# 在ASBR-PE 1上配置到ASBR-PE2的MPLS TE隧道Tunnel1:目的地址为ASBR-PE2的直连口地址11.0.0.1;同时,配置Tunnel1引用静态SRLSP。
[ASBR-PE1] interface tunnel 1 mode mpls-te
[ASBR-PE1-Tunnel1] ip address 6.1.1.1 255.255.255.0
[ASBR-PE1-Tunnel1] destination 11.0.0.1
[ASBR-PE1-Tunnel1] mpls te signaling static
[ASBR-PE1-Tunnel1] mpls te static-sr-mpls static-sr-lsp-1
[ASBR-PE1-Tunnel1] quit
# ASBR-PE 2配置用于MPLS TE隧道的静态SRLSP,出标签为节点ASBR-PE 2为ASBR-PE 1分配的BGP SR邻居标签246666。
<ASBR-PE2> system-view
[ASBR-PE2] static-sr-mpls lsp static-sr-lsp-2 out-label 246666
# 在ASBR-PE 2上配置到ASBR-PE 1的MPLS TE隧道Tunnel1:目的地址为ASBR-PE 2的直连口地址11.0.0.2;同时,配置Tunnel1引用静态SRLSP。
[ASBR-PE2] interface tunnel 1 mode mpls-te
[ASBR-PE2-Tunnel1] ip address 7.1.1.1 255.255.255.0
[ASBR-PE2-Tunnel1] destination 11.0.0.2
[ASBR-PE2-Tunnel1] mpls te signaling static
[ASBR-PE2-Tunnel1] mpls te static-sr-mpls static-sr-lsp-2
[ASBR-PE2-Tunnel1] quit
完成上述配置后,在CE 1和CE 2上执行display ip routing-table命令可以查看到到达对方的路由,且CE 1和CE 2互相可以ping通。
# 在ASBR-PE 1上查看MPLS标签转发路径信息。
[ASBR-PE1] display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
3.3.3.9/1/53168 StaticCR -/- NHLFE1
11.0.0.1 BGP -/- GE1/0/4
2.2.2.9/1151 BGP 1151/1151 -
11.0.0.1/1149 BGP 1150/1149 -
11.0.0.1 BGP 245555/- NHLFE1
1.1.1.2 Local -/- GE1/0/5
11.0.0.1 Local -/- GE1/0/4
Tunnel1 Local -/- NHLFE4
2.2.2.9/32 OSPF 16020/3 GE1/0/5
2.2.2.9/32 OSPF -/3 GE1/0/5
3.3.3.9/32 OSPF 16030/- -
· 在设备的Loopback接口地址之间采用动态方式分配SID,并根据分配的SID建立SRLSP,MPLS TE隧道通过该SRLSP转发流量。
· 同一自治系统内的PE设备之间运行OSPF作为IGP,使能OSPF SR;
· PE 1与ASBR-PE 1间通过IBGP交换标签IPv4路由;
· PE 2与ASBR-PE 2间通过IBGP交换标签IPv4路由;
· PE 1与PE 2建立MP-EBGP对等体交换VPNv4路由;
· ASBR-PE 1与ASBR-PE 2间通过EBGP交换标签IPv4路由,使能BGP SR。
图1-29 跨域VPN-OptionC方式SR-MPLS组网图一
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
|
PE 1 |
Loop1 |
2.2.2.9/32 |
PE 2 |
Loop1 |
5.5.5.9/32 |
|
GE1/0/1 |
30.0.0.1/24 |
|
GE1/0/1 |
20.0.0.1/24 |
|
GE1/0/5 |
1.1.1.2/8 |
|
GE1/0/5 |
9.1.1.2/8 |
ASBR-PE 1 |
Loop1 |
3.3.3.9/32 |
ASBR-PE 2 |
Loop1 |
4.4.4.9/32 |
|
GE1/0/5 |
1.1.1.1/8 |
|
GE1/0/5 |
9.1.1.1/8 |
|
GE1/0/4 |
11.0.0.2/8 |
|
GE1/0/4 |
11.0.0.1/8 |
CE 1 |
GE1/0/1 |
30.0.0.2/24 |
CE 2 |
GE1/0/1 |
20.0.0.2/24 |
(1) 配置各接口的IP地址。
按照图1-29配置各接口的IP地址和掩码,部分配置过程略。
(2) 配置CE 1
# 配置接口GigabitEthernet1/0/1的IP地址。
<CE1> system-view
[CE1] interface gigabitethernet 1/0/1
[CE1-GigabitEthernet1/0/1] ip address 30.0.0.2 24
[CE1-GigabitEthernet1/0/1] quit
# 配置CE 1与PE 1建立EBGP对等体,并引入VPN路由。
[CE1] bgp 65001
[CE1-bgp-default] peer 30.0.0.1 as-number 100
[CE1-bgp-default] address-family ipv4 unicast
[CE1-bgp-default-ipv4] peer 30.0.0.1 enable
[CE1-bgp-default-ipv4] import-route direct
[CE1-bgp-default-ipv4] quit
[CE1-bgp-default] quit
(3) 配置PE 1
# 在PE 1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE1> system-view
[PE1] ospf 1 router-id 2.2.2.9
[PE1-ospf-1] quit
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] mpls enable
[PE1-GigabitEthernet1/0/1] quit
[PE1] interface gigabitethernet 1/0/5
[PE1-GigabitEthernet1/0/5] ospf 1 area 0
[PE1-GigabitEthernet1/0/5] mpls enable
[PE1-GigabitEthernet1/0/5] quit
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 2.2.2.9 32
[PE1-LoopBack1] ospf 1 area 0
[PE1-LoopBack1] quit
[PE1] mpls lsr-id 2.2.2.9
[PE1] mpls te
[PE1-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE1] ospf 1
[PE1-ospf-1] segment-routing mpls
[PE1-ospf-1] quit
[PE1] interface loopback 1
[PE1-LoopBack1] ospf 1 prefix-sid index 20
[PE1-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置RD和Route Target属性。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 11:11
[PE1-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE1-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE1-vpn-instance-vpn1] quit
# 配置接口GigabitEthernet1/0/1与VPN实例vpn1绑定,并配置该接口的IP地址。
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[PE1-GigabitEthernet1/0/1] ip address 30.0.0.1 24
[PE1-GigabitEthernet1/0/1] quit
# 在PE 1上运行BGP。
[PE1] bgp 100
# 配置PE 1向IBGP对等体3.3.3.9发布标签路由及从3.3.3.9接收标签路由的能力。
[PE1-bgp-default] peer 3.3.3.9 as-number 100
[PE1-bgp-default] peer 3.3.3.9 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] peer 3.3.3.9 enable
[PE1-bgp-default-ipv4] peer 3.3.3.9 label-route-capability
# 开启SR-MPLS功能。
[PE1-bgp-default-ipv4] segment-routing mpls
[PE1-bgp-default-ipv4] quit
# 配置PE 1到EBGP对等体5.5.5.9的最大跳数为10。
[PE1-bgp-default] peer 5.5.5.9 as-number 600
[PE1-bgp-default] peer 5.5.5.9 connect-interface loopback 1
[PE1-bgp-default] peer 5.5.5.9 ebgp-max-hop 10
# 配置对等体5.5.5.9作为VPNv4对等体。
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] peer 5.5.5.9 enable
[PE1-bgp-default-vpnv4] quit
# 配置PE 1与CE 1建立EBGP对等体,将学习到的BGP路由添加到VPN实例的路由表中。
[PE1-bgp-default] ip vpn-instance vpn1
[PE1-bgp-default-vpn1] peer 30.0.0.2 as-number 65001
[PE1-bgp-default-vpn1] address-family ipv4 unicast
[PE1-bgp-default-ipv4-vpn1] peer 30.0.0.2 enable
(4) 配置ASBR-PE 1
# 在ASBR-PE1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
<ASBR-PE1> system-view
[ASBR-PE1] ospf 1 router-id 3.3.3.9
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface gigabitethernet 1/0/4
[ASBR-PE1-GigabitEthernet1/0/4] mpls enable
[ASBR-PE1-GigabitEthernet1/0/4] quit
[ASBR-PE1] interface gigabitethernet 1/0/5
[ASBR-PE1-GigabitEthernet1/0/5] ospf 1 area 0
[ASBR-PE1-GigabitEthernet1/0/5] mpls enable
[ASBR-PE1-GigabitEthernet1/0/5] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ip address 3.3.3.9 32
[ASBR-PE1-LoopBack1] ospf 1 area 0
[ASBR-PE1-LoopBack1] quit
[ASBR-PE1] mpls lsr-id 3.3.3.9
[ASBR-PE1] mpls te
[ASBR-PE1-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE1] ospf 1
[ASBR-PE1-ospf-1] segment-routing mpls
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ospf 1 prefix-sid index 30
[ASBR-PE1-LoopBack1] quit
# 创建路由策略,配置前缀标签索引。
[ASBR-PE1] ip prefix-list 1 permit 2.2.2.9 32
[ASBR-PE1] route-policy policy1 permit node 1
[ASBR-PE1-route-policy-policy1-1] if-match ip address prefix-list 1
[ASBR-PE1-route-policy-policy1-1] apply label-index 20
[ASBR-PE1-route-policy-policy1-1] quit
# 在ASBR-PE 1上运行BGP,向IBGP对等体2.2.2.9发布标签路由及从2.2.2.9接收标签路由的能力。
[ASBR-PE1] bgp 100
[ASBR-PE1-bgp-default] peer 2.2.2.9 as-number 100
[ASBR-PE1-bgp-default] peer 2.2.2.9 connect-interface loopback 1
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] peer 2.2.2.9 enable
[ASBR-PE1-bgp-default-ipv4] peer 2.2.2.9 label-route-capability
# 引入OSPF进程1的路由应用已配置的路由策略。
[ASBR-PE1-bgp-default-ipv4] import-route ospf 1 route-policy policy1
# 开启SR-MPLS功能。
[ASBR-PE1-bgp-default-ipv4] segment-routing mpls
[ASBR-PE1-bgp-default-ipv4] quit
# 向EBGP对等体11.0.0.1发布标签路由及从11.0.0.1接收标签路由的能力。
[ASBR-PE1-bgp-default] peer 11.0.0.1 as-number 600
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] peer 11.0.0.1 enable
[ASBR-PE1-bgp-default-ipv4] peer 11.0.0.1 label-route-capability
(5) 配置ASBR-PE 2
# 在ASBR-PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
<ASBR-PE2> system-view
[ASBR-PE2] ospf 1 router-id 4.4.4.9
[ASBR-PE2-ospf-1] quit
[ASBR-PE2] interface gigabitethernet 1/0/4
[ASBR-PE2-GigabitEthernet1/0/4] mpls enable
[ASBR-PE2-GigabitEthernet1/0/4] quit
[ASBR-PE2] interface gigabitethernet 1/0/5
[ASBR-PE2-GigabitEthernet1/0/5] ospf 1 area 0
[ASBR-PE2-GigabitEthernet1/0/5] mpls enable
[ASBR-PE2-GigabitEthernet1/0/5] quit
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ip address 4.4.4.9 32
[ASBR-PE2-LoopBack1] ospf 1 area 0
[ASBR-PE2-LoopBack1] quit
[ASBR-PE2] mpls lsr-id 4.4.4.9
[ASBR-PE2] mpls te
[ASBR-PE2-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE2] ospf 1
[ASBR-PE2-ospf-1] segment-routing mpls
[ASBR-PE2-ospf-1] quit
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ospf 1 prefix-sid index 40
[ASBR-PE2-LoopBack1] quit
# 创建路由策略,配置前缀标签索引。
[ASBR-PE2] ip prefix-list 1 permit 5.5.5.9 32
[ASBR-PE2] route-policy policy1 permit node 1
[ASBR-PE2-route-policy-policy1-1] if-match ip address prefix-list 1
[ASBR-PE2-route-policy-policy1-1] apply label-index 50
[ASBR-PE2-route-policy-policy1-1] quit
# 在ASBR-PE 2上运行BGP,向IBGP对等体5.5.5.9发布标签路由及从5.5.5.9接收标签路由的能力。
[ASBR-PE2] bgp 600
[ASBR-PE2-bgp-default] peer 5.5.5.9 as-number 600
[ASBR-PE2-bgp-default] peer 5.5.5.9 connect-interface loopback 1
[ASBR-PE2-bgp-default] address-family ipv4 unicast
[ASBR-PE2-bgp-default-ipv4] peer 5.5.5.9 enable
[ASBR-PE2-bgp-default-ipv4] peer 5.5.5.9 label-route-capability
# 引入OSPF进程1的路由应用已配置的路由策略。
[ASBR-PE2-bgp-default-ipv4] import-route ospf 1 route-policy policy1
# 开启SR-MPLS功能。
[ASBR-PE2-bgp-default-ipv4] segment-routing mpls
[ASBR-PE2-bgp-default-ipv4] quit
# 向EBGP对等体11.0.0.2发布标签路由及从11.0.0.2接收标签路由的能力。
[ASBR-PE2-bgp-default] peer 11.0.0.2 as-number 100
[ASBR-PE2-bgp-default] address-family ipv4 unicast
[ASBR-PE2-bgp-default-ipv4] peer 11.0.0.2 enable
[ASBR-PE2-bgp-default-ipv4] peer 11.0.0.2 label-route-capability
(6) 配置PE 2
# 在PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE2> system-view
[PE2] ospf 1 router-id 5.5.5.9
[PE2-ospf-1] quit
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] mpls enable
[PE2-GigabitEthernet1/0/1] quit
[PE2] interface gigabitethernet 1/0/5
[PE2-GigabitEthernet1/0/5] ospf 1 area 0
[PE2-GigabitEthernet1/0/5] mpls enable
[PE2-GigabitEthernet1/0/5] quit
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 5.5.5.9 32
[PE2-LoopBack1] ospf 1 area 0
[PE2-LoopBack1] quit
[PE2] mpls lsr-id 5.5.5.9
[PE2] mpls te
[PE2-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE2] ospf 1
[PE2-ospf-1] segment-routing mpls
[PE2-ospf-1] quit
[PE2] interface loopback 1
[PE2-LoopBack1] ospf 1 prefix-sid index 50
[PE2-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置RD和Route Target属性。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 11:11
[PE2-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE2-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE2-vpn-instance-vpn1] quit
# 配置接口GigabitEthernet1/0/1与VPN实例vpn1绑定,并配置该接口的IP地址。
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[PE2-GigabitEthernet1/0/1] ip address 20.0.0.1 24
[PE2-GigabitEthernet1/0/1] quit
# 在PE 2上运行BGP。
[PE2] bgp 600
# 配置PE 2向IBGP对等体4.4.4.9发布标签路由及从4.4.4.9接收标签路由的能力。
[PE2-bgp-default] peer 4.4.4.9 as-number 600
[PE2-bgp-default] peer 4.4.4.9 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] peer 4.4.4.9 enable
[PE2-bgp-default-ipv4] peer 4.4.4.9 label-route-capability
# 开启SR-MPLS功能。
[PE2-bgp-default-ipv4] segment-routing mpls
[PE2-bgp-default-ipv4] quit
# 配置PE 2到EBGP对等体2.2.2.9的最大跳数为10。
[PE2-bgp-default] peer 2.2.2.9 as-number 100
[PE2-bgp-default] peer 2.2.2.9 connect-interface loopback 1
[PE2-bgp-default] peer 2.2.2.9 ebgp-max-hop 10
# 配置对等体2.2.2.9作为VPNv4对等体。
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] peer 2.2.2.9 enable
[PE2-bgp-default-vpnv4] quit
# 配置PE 2与CE 2建立EBGP对等体,将学习到的BGP路由添加到VPN实例的路由表中。
[PE2-bgp-default] ip vpn-instance vpn1
[PE2-bgp-default-vpn1] peer 20.0.0.2 as-number 65002
[PE2-bgp-default-vpn1] address-family ipv4 unicast
[PE2-bgp-default-ipv4-vpn1] peer 20.0.0.2 enable
(7) 配置CE 2
# 配置接口GigabitEthernet1/0/1的IP地址。
<CE2> system-view
[CE2] interface gigabitethernet 1/0/1
[CE2-GigabitEthernet1/0/1] ip address 20.0.0.2 24
[CE2-GigabitEthernet1/0/1] quit
# 配置CE 2与PE 2建立EBGP对等体,并引入VPN路由。
[CE2] bgp 65002
[CE2-bgp-default] peer 20.0.0.1 as-number 600
[CE2-bgp-default] address-family ipv4 unicast
[CE2-bgp-default-ipv4] peer 20.0.0.1 enable
[CE2-bgp-default-ipv4] import-route direct
配置完成后,在CE 1和CE 2上执行display ip routing-table命令可以查看到到达对方的路由,且CE 1和CE 2互相可以ping通。
# 在PE1上查看MPLS标签转发路径信息。
[PE1] display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
2.2.2.9/32 BGP -/16020 NHLFE1
5.5.5.9/32 BGP -/16050 NHLFE1
5.5.5.9 BGP -/- GE1/0/5
1.1.1.1 Local -/- GE1/0/5
2.2.2.9/32 OSPF 16020/- -
3.3.3.9/32 OSPF 16030/3 GE1/0/5
3.3.3.9/32 OSPF -/3 GE1/0/5
· 在设备的Loopback接口地址之间采用动态方式分配SID,并根据分配的SID建立SRLSP,MPLS TE隧道通过该SRLSP转发流量。
· 同一自治系统内的PE设备之间运行OSPF作为IGP,使能OSPF SR;
· PE 1与ASBR-PE 1间通过IBGP交换标签IPv4路由,使能BGP SR;
· PE 2与ASBR-PE 2间通过IBGP交换标签IPv4路由,使能BGP SR;
· PE 1与PE 2建立MP-EBGP对等体交换VPNv4路由;
· ASBR-PE 1与ASBR-PE 2间通过EBGP交换标签IPv4路由,使能BGP SR。
图1-30 跨域VPN-OptionC方式SR-MPLS组网图二
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop1 |
2.2.2.9/32 |
PE 2 |
Loop1 |
5.5.5.9/32 |
|
GE1/0/1 |
30.0.0.1/24 |
|
GE1/0/1 |
20.0.0.1/24 |
|
GE1/0/5 |
1.1.1.2/8 |
|
GE1/0/5 |
9.1.1.2/8 |
ASBR-PE 1 |
Loop1 |
3.3.3.9/32 |
ASBR-PE 2 |
Loop1 |
4.4.4.9/32 |
|
GE1/0/5 |
1.1.1.1/8 |
|
GE1/0/5 |
9.1.1.1/8 |
|
GE1/0/4 |
11.0.0.2/8 |
|
GE1/0/4 |
11.0.0.1/8 |
CE 1 |
GE1/0/1 |
30.0.0.2/24 |
CE 2 |
GE1/0/1 |
20.0.0.2/24 |
(1) 配置各接口的IP地址
按照图1-30配置各接口的IP地址和掩码,部分配置过程略。
(2) 配置CE 1
# 配置接口GigabitEthernet1/0/1的IP地址。
<CE1> system-view
[CE1] interface gigabitethernet 1/0/1
[CE1-GigabitEthernet1/0/1] ip address 30.0.0.2 24
[CE1-GigabitEthernet1/0/1] quit
# 配置CE 1与PE 1建立EBGP对等体,并引入VPN路由。
[CE1] bgp 65001
[CE1-bgp-default] peer 30.0.0.1 as-number 100
[CE1-bgp-default] address-family ipv4 unicast
[CE1-bgp-default-ipv4] peer 30.0.0.1 enable
[CE1-bgp-default-ipv4] import-route direct
[CE1-bgp-default-ipv4] quit
[CE1-bgp-default] quit
(3) 配置PE 1
# 在PE 1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE1> system-view
[PE1] ospf 1 router-id 2.2.2.9
[PE1-ospf-1] quit
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] ospf 1 area 0
[PE1-GigabitEthernet1/0/1] mpls enable
[PE1-GigabitEthernet1/0/1] quit
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 2.2.2.9 32
[PE1-LoopBack1] ospf 1 area 0
[PE1-LoopBack1] quit
[PE1] mpls lsr-id 2.2.2.9
[PE1] mpls te
[PE1-te] quit
# 配置接口GigabitEthernet1/0/5,在接口上运行OSPF,并使能MPLS。
[PE1] interface gigabitethernet 1/0/5
[PE1-GigabitEthernet1/0/5] ip address 1.1.1.2 255.0.0.0
[PE1-GigabitEthernet1/0/5] ospf 1 area 0
[PE1-GigabitEthernet1/0/5] mpls enable
[PE1-GigabitEthernet1/0/5] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE1] ospf 1
[PE1-ospf-1] segment-routing mpls
[PE1-ospf-1] quit
[PE1] interface loopback 1
[PE1-LoopBack1] ospf 1 prefix-sid index 20
[PE1-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置RD和Route Target属性。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 11:11
[PE1-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE1-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE1-vpn-instance-vpn1] quit
# 配置接口GigabitEthernet1/0/1与VPN实例vpn1绑定,并配置该接口的IP地址。
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[PE1-GigabitEthernet1/0/1] ip address 30.0.0.1 24
[PE1-GigabitEthernet1/0/1] quit
# 创建路由策略,配置前缀标签索引。
[PE1] route-policy policy1 permit node 1
[PE1-route-policy-policy1-1] apply label-index 20
[PE1-route-policy-policy1-1] quit
# 在PE 1上运行BGP。
[PE1] bgp 100
# 配置PE 1向IBGP对等体3.3.3.9发布标签路由及从3.3.3.9接收标签路由的能力。
[PE1-bgp-default] peer 3.3.3.9 as-number 100
[PE1-bgp-default] peer 3.3.3.9 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] peer 3.3.3.9 enable
[PE1-bgp-default-ipv4] peer 3.3.3.9 label-route-capability
# 开启SR-MPLS功能。
[PE1-bgp-default-ipv4] segment-routing mpls
# 引入Loopback1的路由并应用已配置的路由策略。
[PE1-bgp-default-ipv4] network 2.2.2.9 32 route-policy policy1
[PE1-bgp-default-ipv4] quit
# 配置PE 1到EBGP对等体5.5.5.9的最大跳数为10。
[PE1-bgp-default] peer 5.5.5.9 as-number 600
[PE1-bgp-default] peer 5.5.5.9 connect-interface loopback 1
[PE1-bgp-default] peer 5.5.5.9 ebgp-max-hop 10
# 配置对等体5.5.5.9作为VPNv4对等体。
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] peer 5.5.5.9 enable
[PE1-bgp-default-vpnv4] quit
# 配置PE 1与CE 1建立EBGP对等体,将学习到的BGP路由添加到VPN实例的路由表中。
[PE1-bgp-default] ip vpn-instance vpn1
[PE1-bgp-default-vpn1] peer 30.0.0.2 as-number 65001
[PE1-bgp-default-vpn1] address-family ipv4 unicast
[PE1-bgp-default-ipv4-vpn1] peer 30.0.0.2 enable
(4) 配置ASBR-PE 1
# 在ASBR-PE 1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<ASBR-PE1> system-view
[ASBR-PE1] ospf 1 router-id 3.3.3.9
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface gigabitethernet 1/0/4
[ASBR-PE1-GigabitEthernet1/0/4] mpls enable
[ASBR-PE1-GigabitEthernet1/0/4] quit
[ASBR-PE1] interface gigabitethernet 1/0/5
[ASBR-PE1-GigabitEthernet1/0/5] ospf 1 area 0
[ASBR-PE1-GigabitEthernet1/0/5] mpls enable
[ASBR-PE1-GigabitEthernet1/0/5] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ip address 3.3.3.9 32
[ASBR-PE1-LoopBack1] ospf 1 area 0
[ASBR-PE1-LoopBack1] quit
[ASBR-PE1] mpls lsr-id 3.3.3.9
[ASBR-PE1] mpls te
[ASBR-PE1-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE1] ospf 1
[ASBR-PE1-ospf-1] segment-routing mpls
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface loopback 1
[ASBR-PE1-LoopBack1] ospf 1 prefix-sid index 30
[ASBR-PE1-LoopBack1] quit
# 在ASBR-PE 1上运行BGP,向IBGP对等体2.2.2.9发布标签路由及从2.2.2.9接收标签路由的能力。
[ASBR-PE1] bgp 100
[ASBR-PE1-bgp-default] peer 2.2.2.9 as-number 100
[ASBR-PE1-bgp-default] peer 2.2.2.9 connect-interface loopback 1
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] peer 2.2.2.9 enable
[ASBR-PE1-bgp-default-ipv4] peer 2.2.2.9 label-route-capability
# 开启SR-MPLS功能。
[ASBR-PE1-bgp-default-ipv4] segment-routing mpls
[ASBR-PE1-bgp-default-ipv4] quit
#向EBGP对等体11.0.0.1发布标签路由及从11.0.0.1接收标签路由的能力。
[ASBR-PE1-bgp-default] peer 11.0.0.1 as-number 600
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] peer 11.0.0.1 enable
[ASBR-PE1-bgp-default-ipv4] peer 11.0.0.1 label-route-capability
(5) 配置ASBR-PE 2
# 在ASBR-PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
<ASBR-PE2> system-view
[ASBR-PE2] ospf 1 router-id 4.4.4.9
[ASBR-PE2-ospf-1] quit
[ASBR-PE2] interface gigabitethernet 1/0/4
[ASBR-PE2-GigabitEthernet1/0/4] mpls enable
[ASBR-PE2-GigabitEthernet1/0/4] quit
[ASBR-PE2] interface gigabitethernet 1/0/5
[ASBR-PE2-GigabitEthernet1/0/5] ospf 1 area 0
[ASBR-PE2-GigabitEthernet1/0/5] mpls enable
[ASBR-PE2-GigabitEthernet1/0/5] quit
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ip address 4.4.4.9 32
[ASBR-PE2-LoopBack1] ospf 1 area 0
[ASBR-PE2-LoopBack1] quit
[ASBR-PE2] mpls lsr-id 4.4.4.9
[ASBR-PE2] mpls te
[ASBR-PE2-te] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE2] ospf 1
[ASBR-PE2-ospf-1] segment-routing mpls
[ASBR-PE2-ospf-1] quit
[ASBR-PE2] interface loopback 1
[ASBR-PE2-LoopBack1] ospf 1 prefix-sid index 40
[ASBR-PE2-LoopBack1] quit
# 在ASBR-PE 2上运行BGP,向IBGP对等体5.5.5.9发布标签路由及从5.5.5.9接收标签路由的能力。
[ASBR-PE2] bgp 600
[ASBR-PE2-bgp-default] peer 5.5.5.9 as-number 600
[ASBR-PE2-bgp-default] peer 5.5.5.9 connect-interface loopback 1
[ASBR-PE2-bgp-default] address-family ipv4 unicast
[ASBR-PE2-bgp-default-ipv4] peer 5.5.5.9 enable
[ASBR-PE2-bgp-default-ipv4] peer 5.5.5.9 label-route-capability
# 开启SR-MPLS功能。
[ASBR-PE2-bgp-default-ipv4] segment-routing mpls
[ASBR-PE2-bgp-default-ipv4] quit
# 向EBGP对等体11.0.0.2发布标签路由及从11.0.0.2接收标签路由的能力。
[ASBR-PE2-bgp-default] peer 11.0.0.2 as-number 100
[ASBR-PE2-bgp-default] address-family ipv4 unicast
[ASBR-PE2-bgp-default-ipv4] peer 11.0.0.2 enable
[ASBR-PE2-bgp-default-ipv4] peer 11.0.0.2 label-route-capability
(6) 配置PE 2
# 在PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE2> system-view
[PE2] ospf 1 router-id 5.5.5.9
[PE2-ospf-1] quit
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] ospf 1 area 0
[PE2-GigabitEthernet1/0/1] mpls enable
[PE2-GigabitEthernet1/0/1] quit
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 5.5.5.9 32
[PE2-LoopBack1] ospf 1 area 0
[PE2-LoopBack1] quit
[PE2] mpls lsr-id 5.5.5.9
[PE2] mpls te
[PE2-te] quit
# 配置接口GigabitEthernet1/0/5,在接口上运行OSPF,并使能MPLS。
[PE2] interface gigabitethernet 1/0/5
[PE2-GigabitEthernet1/0/5] ip address 9.1.1.2 255.0.0.0
[PE2-GigabitEthernet1/0/5] ospf 1 area 0
[PE2-GigabitEthernet1/0/5] mpls enable
[PE2-GigabitEthernet1/0/5] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE2] ospf 1
[PE2-ospf-1] segment-routing mpls
[PE2-ospf-1] quit
[PE2] interface loopback 1
[PE2-LoopBack1] ospf 1 prefix-sid index 50
[PE2-LoopBack1] quit
# 创建VPN实例,名称为vpn1,为其配置RD和Route Target属性。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 11:11
[PE2-vpn-instance-vpn1] vpn-target 1:1 2:2 3:3 import-extcommunity
[PE2-vpn-instance-vpn1] vpn-target 3:3 export-extcommunity
[PE2-vpn-instance-vpn1] quit
# 配置接口GigabitEthernet1/0/1与VPN实例vpn1绑定,并配置该接口的IP地址。
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[PE2-GigabitEthernet1/0/1] ip address 20.0.0.1 24
[PE2-GigabitEthernet1/0/1] quit
# 创建路由策略,配置前缀标签索引。
[PE2] route-policy policy1 permit node 1
[PE2-route-policy-policy1-1] apply label-index 50
[PE2-route-policy-policy1-1] quit
# 在PE 2上运行BGP,配置PE 2向IBGP对等体4.4.4.9发布标签路由及从4.4.4.9接收标签路由的能力。
[PE2] bgp 600
[PE2-bgp-default] peer 4.4.4.9 as-number 600
[PE2-bgp-default] peer 4.4.4.9 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] peer 4.4.4.9 enable
[PE2-bgp-default-ipv4] peer 4.4.4.9 label-route-capability
# 开启SR-MPLS功能。
[PE2-bgp-default-ipv4] segment-routing mpls
# 引入Loopback1的路由并应用已配置的路由策略。
[PE2-bgp-default-ipv4] network 5.5.5.9 32 route-policy policy1
[PE2-bgp-default-ipv4] quit
# 配置PE 2到EBGP对等体2.2.2.9的最大跳数为10。
[PE2-bgp-default] peer 2.2.2.9 as-number 100
[PE2-bgp-default] peer 2.2.2.9 connect-interface loopback 1
[PE2-bgp-default] peer 2.2.2.9 ebgp-max-hop 10
# 配置对等体2.2.2.9作为VPNv4对等体。
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] peer 2.2.2.9 enable
[PE2-bgp-default-vpnv4] quit
# 配置PE 2与CE 2建立EBGP对等体,将学习到的BGP路由添加到VPN实例的路由表中。
[PE2-bgp-default] ip vpn-instance vpn1
[PE2-bgp-default-vpn1] peer 20.0.0.2 as-number 65002
[PE2-bgp-default-vpn1] address-family ipv4 unicast
[PE2-bgp-default-ipv4-vpn1] peer 20.0.0.2 enable
(7) 配置CE 2
# 配置接口GigabitEthernet1/0/1的IP地址。
<CE2> system-view
[CE2] interface gigabitethernet 1/0/1
[CE2-GigabitEthernet1/0/1] ip address 20.0.0.2 24
[CE2-GigabitEthernet1/0/1] quit
# 配置CE 2与PE 2建立EBGP对等体,并引入VPN路由。
[CE2] bgp 65002
[CE2-bgp-default] peer 20.0.0.1 as-number 600
[CE2-bgp-default] address-family ipv4 unicast
[CE2-bgp-default-ipv4] peer 20.0.0.1 enable
[CE2-bgp-default-ipv4] import-route direct
[CE2-bgp-default-ipv4] quit
[CE2-bgp-default] quit
配置完成后,在CE 1和CE 2上执行display ip routing-table命令可以查看到到达对方的路由,且CE 1和CE 2互相可以ping通。
# 在PE1上查看MPLS标签转发路径信息。
[PE1] display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
2.2.2.9/32 BGP 3/- -
5.5.5.9/32 BGP -/16050 NHLFE1
5.5.5.9 BGP -/- GE1/0/5
1.1.1.1 Local -/- GE1/0/5
2.2.2.9/32 OSPF 16020/- -
3.3.3.9/32 OSPF 16030/3 GE1/0/5
3.3.3.9/32 OSPF -/3 GE1/0/5
· 在设备的Loopback接口地址之间采用动态方式分配SID,并根据分配的SID建立SRLSP,建立多段MPLS TE隧道通过该SRLSP转发流量。
· 同一自治系统内的PE设备之间运行OSPF作为IGP,使能OSPF SR;
· PE 1与ASBR-PE1、ASBR-PE2间通过IBGP交换标签IPv4路由;
· PE 2与ASBR-PE3、ASBR-PE4间通过IBGP交换标签IPv4路由;
· ASBR-PE 1与ASBR-PE 3间通过Loopback口建立EBGP交换标签IPv4路由,并使能BGP SR;
· ASBR-PE 2与ASBR-PE 4间通过Loopback口建立EBGP交换标签IPv4路由,并使能BGP SR。
图1-31 跨域VPN-OptionC方式SR-MPLS组网图三
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE1 |
Loop0 |
1.1.1.1/32 |
PE2 |
Loop0 |
6.6.6.1/32 |
|
GE1/0/1 |
11.0.0.1/24 |
|
GE1/0/1 |
21.0.0.1/24 |
|
GE1/0/2 |
12.0.0.1/24 |
|
GE1/0/2 |
22.0.0.1/24 |
ASBR-PE1 |
Loop0 |
2.2.2.1/32 |
ASBR-PE3 |
Loop0 |
4.4.4.1/32 |
|
GE1/0/1 |
11.0.0.2/24 |
|
GE1/0/1 |
21.0.0.2/24 |
|
GE1/0/3 |
13.0.0.1/24 |
|
GE1/0/3 |
23.0.0.1/24 |
|
GE1/0/4 |
14.0.0.1/24 |
|
GE1/0/4 |
14.0.0.2/24 |
ASBR-PE2 |
Loop0 |
3.3.3.1/32 |
ASBR-PE4 |
Loop0 |
5.5.5.1/32 |
|
GE1/0/2 |
12.0.0.2/24 |
|
GE1/0/2 |
22.0.0.2/24 |
|
GE1/0/3 |
13.0.0.2/24 |
|
GE1/0/3 |
23.0.0.2/24 |
|
GE1/0/4 |
24.0.0.1/24 |
|
GE1/0/4 |
24.0.0.2/24 |
(1) 配置各接口的IP地址
按照图1-31配置各接口的IP地址和掩码,部分配置过程略。
(2) 配置PE 1
# 在PE 1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.1 32
[PE1-LoopBack0] ospf 1 area 100
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.1
[PE1] mpls te
[PE1-te] quit
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] ospf 1 area 100
[PE1-GigabitEthernet1/0/1] mpls enable
[PE1-GigabitEthernet1/0/1] mpls te enable
[PE1-GigabitEthernet1/0/1] quit
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] ospf 1 area 100
[PE1-GigabitEthernet1/0/2] mpls enable
[PE1-GigabitEthernet1/0/2] mpls te enable
[PE1-GigabitEthernet1/0/2] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE1] ospf 1
[PE1-ospf-1] segment-routing mpls
[PE1-ospf-1] quit
[PE1] interface loopback 0
[PE1-LoopBack0] ospf 1 prefix-sid index 10
[PE1-LoopBack0] quit
# 在PE 1上运行BGP。
[PE1] bgp 100
# 配置IBGP对等体组1,将对等体2.2.2.1和3.3.3.1加入对等体组1,并使能对等体组1交换带标签路由的能力。
[PE1-bgp-default] group 1
[PE1-bgp-default] peer 1 connect-interface loopback 0
[PE1-bgp-default] peer 2.2.2.1 group 1
[PE1-bgp-default] peer 3.3.3.1 group 1
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] peer 1 enable
[PE1-bgp-default-ipv4] peer 1 label-route-capability
(3) 配置ASBR-PE 1
# 在ASBR-PE 1上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<ASBR-PE1> system-view
[ASBR-PE1] interface loopback 0
[ASBR-PE1-LoopBack0] ip address 2.2.2.1 32
[ASBR-PE1-LoopBack0] ospf 1 area 100
[ASBR-PE1-LoopBack0] quit
[ASBR-PE1] mpls lsr-id 2.2.2.1
[ASBR-PE1] mpls te
[ASBR-PE1-te] quit
[ASBR-PE1] interface gigabitethernet 1/0/1
[ASBR-PE1-GigabitEthernet1/0/1] ospf 1 area 100
[ASBR-PE1-GigabitEthernet1/0/1] mpls enable
[ASBR-PE1-GigabitEthernet1/0/1] mpls te enable
[ASBR-PE1-GigabitEthernet1/0/1] quit
[ASBR-PE1] interface gigabitethernet 1/0/3
[ASBR-PE1-GigabitEthernet1/0/3] ospf 1 area 100
[ASBR-PE1-GigabitEthernet1/0/3] mpls enable
[ASBR-PE1-GigabitEthernet1/0/3] mpls te enable
[ASBR-PE1-GigabitEthernet1/0/3] quit
[ASBR-PE1] interface gigabitethernet 1/0/4
[ASBR-PE1-GigabitEthernet1/0/4] mpls enable
[ASBR-PE1-GigabitEthernet1/0/4] mpls te enable
[ASBR-PE1-GigabitEthernet1/0/4] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE1] ospf 1
[ASBR-PE1-ospf-1] segment-routing mpls
[ASBR-PE1-ospf-1] quit
[ASBR-PE1] interface loopback 0
[ASBR-PE1-LoopBack0] ospf 1 prefix-sid index 20
[ASBR-PE1-LoopBack0] quit
# 创建路由策略,配置前缀标签索引。
[ASBR-PE1]ip prefix-list 1 permit 1.1.1.1 32
[ASBR-PE1] route-policy policy1 permit node 1
[ASBR-PE1-route-policy-policy1-1] if-match ip address prefix-list 1
[ASBR-PE1-route-policy-policy1-1] apply label-index 10
[ASBR-PE1-route-policy-policy1-1] quit
# 在ASBR-PE 1上运行BGP。
[ASBR-PE1] bgp 100
# 配置IBGP对等体组1,将对等体1.1.1.1和3.3.3.1加入对等体组1,并使能对等体组1交换带标签路由的能力。
[ASBR-PE1-bgp-default] group 1
[ASBR-PE1-bgp-default] peer 1 connect-interface loopback 0
[ASBR-PE1-bgp-default] peer 1.1.1.1 group 1
[ASBR-PE1-bgp-default] peer 3.3.3.1 group 1
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] peer 1 enable
[ASBR-PE1-bgp-default-ipv4] peer 1 label-route-capability
# 引入OSPF进程1的路由同时应用已配置的路由策略。
[ASBR-PE1-bgp-default-ipv4] import-route ospf 1 route-policy policy1
# 开启SR-MPLS功能。
[ASBR-PE1-bgp-default-ipv4] segment-routing mpls
[ASBR-PE1-bgp-default-ipv4] quit
# 配置直连EBGP,向EBGP对等体14.0.0.2只发布本地Loopback 0的路由。
[ASBR-PE1-bgp-default] peer 14.0.0.2 as-number 600
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] network 2.2.2.1 32 route-policy policy2
[ASBR-PE1-bgp-default-ipv4] peer 14.0.0.2 enable
[ASBR-PE1-bgp-default-ipv4] peer 14.0.0.2 route-policy policy2 export
[ASBR-PE1-bgp-default-ipv4] quit
# 与ASBR-PE 3通过Loopback口建立多跳EBGP邻居,使能对等体4.4.4.1交换带标签路由的能力,并从对等体4.4.4.1为接收的路由分配首选值100。
[ASBR-PE1-bgp-default] peer 4.4.4.1 as-number 600
[ASBR-PE1-bgp-default] peer 4.4.4.1 connect-interface loopback 0
[ASBR-PE1-bgp-default] peer 4.4.4.1 ebgp-max-hop 10
[ASBR-PE1-bgp-default] address-family ipv4 unicast
[ASBR-PE1-bgp-default-ipv4] peer 4.4.4.1 enable
[ASBR-PE1-bgp-default-ipv4] peer 4.4.4.1 label-route-capability
[ASBR-PE1-bgp-default-ipv4] peer 4.4.4.1 preferred-value 100
[ASBR-PE1-bgp-default-ipv4] quit
# 配置BGP-EPE功能,指定策略为邻居4.4.4.1分配标签。
[ASBR-PE1-bgp-default] peer 4.4.4.1 egress-engineering route-policy epe
[ASBR-PE1-bgp-default] quit
[ASBR-PE1-bgp] quit
# 创建路由策略policy 2和policy epe,配置标签索引20和标签值245555。
[ASBR-PE1]ip prefix-list 2 permit 2.2.2.1 32
[ASBR-PE1] route-policy policy2 permit node 1
[ASBR-PE1-route-policy-policy2-1] if-match ip address prefix-list 2
[ASBR-PE1-route-policy-policy2-1] apply label-index 20
[ASBR-PE1-route-policy-policy2-1] quit
[ASBR-PE1] route-policy epe permit node 1
[ASBR-PE1-route-policy-epe-1] apply label-value 245555
[ASBR-PE1-route-policy-epe-1] quit
(4) 配置ASBR-PE 2
ASBR-PE 2的配置与ASBR-PE 1类似,具体配置过程略。
(5) 配置ASBR-PE 3
# 在ASBR-PE 3上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力。
<ASBR-PE3> system-view
[ASBR-PE3] interface loopback 0
[ASBR-PE3-LoopBack0] ip address 4.4.4.1 32
[ASBR-PE3-LoopBack0] ospf 1 area 200
[ASBR-PE3-LoopBack0] quit
[ASBR-PE3] mpls lsr-id 4.4.4.1
[ASBR-PE3] mpls te
[ASBR-PE3-te] quit
[ASBR-PE3] interface gigabitethernet 1/0/1
[ASBR-PE3-GigabitEthernet1/0/1] ospf 1 area 200
[ASBR-PE3-GigabitEthernet1/0/1] mpls enable
[ASBR-PE3-GigabitEthernet1/0/1] mpls te enable
[ASBR-PE3-GigabitEthernet1/0/1] quit
[ASBR-PE3] interface gigabitethernet 1/0/3
[ASBR-PE3-GigabitEthernet1/0/3] ospf 1 area 200
[ASBR-PE3-GigabitEthernet1/0/3] mpls enable
[ASBR-PE3-GigabitEthernet1/0/3] mpls te enable
[ASBR-PE3-GigabitEthernet1/0/3] quit
[ASBR-PE3] interface gigabitethernet 1/0/4
[ASBR-PE3-GigabitEthernet1/0/4] mpls enable
[ASBR-PE3-GigabitEthernet1/0/4] mpls te enable
[ASBR-PE3-GigabitEthernet1/0/4] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[ASBR-PE3] ospf 1
[ASBR-PE3-ospf-1] segment-routing mpls
[ASBR-PE3-ospf-1] quit
[ASBR-PE3] interface loopback 0
[ASBR-PE3-LoopBack0] ospf 1 prefix-sid index 40
[ASBR-PE3-LoopBack0] quit
# 创建路由策略,配置前缀标签索引。
[ASBR-PE3]ip prefix-list 1 permit 6.6.6.1 32
[ASBR-PE3] route-policy policy1 permit node 1
[ASBR-PE3-route-policy-policy1-1] if-match ip address prefix-list 1
[ASBR-PE3-route-policy-policy1-1] apply label-index 60
[ASBR-PE3-route-policy-policy1-1] quit
# 在ASBR-PE 3上运行BGP。
[ASBR-PE3] bgp 600
# 配置IBGP对等体组1,将对等体5.5.5.1和6.6.6.1加入对等体组1,并使能对等体组1交换带标签路由的能力。
[ASBR-PE3-bgp-default] group 1
[ASBR-PE3-bgp-default] peer 1 connect-interface loopback 0
[ASBR-PE3-bgp-default] peer 5.5.5.1 group 1
[ASBR-PE3-bgp-default] peer 6.6.6.1 group 1
[ASBR-PE3-bgp-default] address-family ipv4 unicast
[ASBR-PE3-bgp-default-ipv4] peer 1 enable
[ASBR-PE3-bgp-default-ipv4] peer 1 label-route-capability
# 引入OSPF进程1的路由同时应用已配置的路由策略。
[ASBR-PE3-bgp-default-ipv4] import-route ospf 1 route-policy policy1
# 开启SR-MPLS功能。
[ASBR-PE3-bgp-default-ipv4] segment-routing mpls
[ASBR-PE3-bgp-default-ipv4] quit
# 配置直连EBGP,向EBGP对等体14.0.0.1只发布本地Loopback0的路由。
[ASBR-PE3-bgp-default] peer 14.0.0.1 as-number 100
[ASBR-PE3-bgp-default] address-family ipv4 unicast
[ASBR-PE3-bgp-default-ipv4] network 4.4.4.1 32 route-policy policy2
[ASBR-PE3-bgp-default-ipv4] peer 14.0.0.1 enable
[ASBR-PE3-bgp-default-ipv4] peer 14.0.0.1 route-policy policy2 export
[ASBR-PE3-bgp-default-ipv4] quit
# 与ASBR-PE 1通过Loopback口建立多跳EBGP邻居,使能对等体2.2.2.1交换带标签路由的能力,并从对等体2.2.2.1为接收的路由分配首选值100。
[ASBR-PE3-bgp-default] peer 2.2.2.1 as-number 100
[ASBR-PE3-bgp-default] peer 2.2.2.1 connect-interface loopback 0
[ASBR-PE3-bgp-default] peer 2.2.2.1 ebgp-max-hop 10
[ASBR-PE3-bgp-default] address-family ipv4 unicast
[ASBR-PE3-bgp-default-ipv4] peer 2.2.2.1 enable
[ASBR-PE3-bgp-default-ipv4] peer 2.2.2.1 label-route-capability
[ASBR-PE3-bgp-default-ipv4] peer 2.2.2.1 preferred-value 100
[ASBR-PE3-bgp-default-ipv4] quit
# 将EBGP邻居2.2.2.1配置为BGP-EPE能力,指定策略为邻居分配标签。
[ASBR-PE3-bgp-default] peer 2.2.2.1 egress-engineering route-policy epe
[ASBR-PE3-bgp-default] quit
[ASBR-PE3-bgp] quit
# 创建路由策略policy 2和policy epe,配置标签索引40和标签值246666。
[ASBR-PE3]ip prefix-list 2 permit 4.4.4.1 32
[ASBR-PE3] route-policy policy2 permit node 1
[ASBR-PE3-route-policy-policy2-1] if-match ip address prefix-list 2
[ASBR-PE3-route-policy-policy2-1] apply label-index 40
[ASBR-PE3-route-policy-policy2-1] quit
[ASBR-PE3] route-policy epe permit node 1
[ASBR-PE3-route-policy-epe-1] apply label-value 246666
[ASBR-PE3-route-policy-epe-1] quit
(6) 配置ASBR-PE 4
ASBR-PE 4的配置与ASBR-PE 3类似,具体配置过程略。
(7) 配置PE 2
# 在PE 2上运行OSPF,配置节点的MPLS LSR ID、开启MPLS能力和MPLS TE能力
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 6.6.6.1 32
[PE2-LoopBack0] ospf 1 area 200
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 6.6.6.1
[PE2] mpls te
[PE2-te] quit
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] ospf 1 area 200
[PE2-GigabitEthernet1/0/1] mpls enable
[PE2-GigabitEthernet1/0/1] mpls te enable
[PE2-GigabitEthernet1/0/1] quit
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] ospf 1 area 200
[PE2-GigabitEthernet1/0/2] mpls enable
[PE2-GigabitEthernet1/0/2] mpls te enable
[PE2-GigabitEthernet1/0/2] quit
# 在OSPF视图下开启SR-MPLS功能,并配置前缀SID索引。
[PE2] ospf 1
[PE2-ospf-1] segment-routing mpls
[PE2-ospf-1] quit
[PE2] interface loopback 0
[PE2-LoopBack0] ospf 1 prefix-sid index 60
[PE2-LoopBack0] quit
# 在PE 2上运行BGP。
[PE2] bgp 600
# 配置IBGP对等体组1,将对等体4.4.4.1和5.5.5.1加入对等体组1,并使能对等体组1交换带标签路由的能力。
[PE2-bgp-default] group 1
[PE2-bgp-default] peer 1 connect-interface loopback 0
[PE2-bgp-default] peer 4.4.4.1 group 1
[PE2-bgp-default] peer 5.5.5.1 group 1
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] peer 1 enable
[PE2-bgp-default-ipv4] peer 1 label-route-capability
(8) 配置多段MPLS TE隧道
# 在PE1上配置到ASBR-PE 1、ASBR-PE 2的MPLS TE隧道。
[PE1] static-sr-mpls lsp sr-lsp-20 out-label 16020
[PE1] static-sr-mpls lsp sr-lsp-30 out-label 16030
[PE1] interface tunnel 0 mode mpls-te
[PE1-Tunnel0] ip address unnumbered interface LoopBack0
[PE1-Tunnel0] destination 2.2.2.1
[PE1-Tunnel0] mpls te signaling static
[PE1-Tunnel0] mpls te static-sr-mpls sr-lsp-20
[PE1-Tunnel0] quit
[PE1] interface tunnel 1 mode mpls-te
[PE1-Tunnel1] ip address unnumbered interface LoopBack0
[PE1-Tunnel1] destination 3.3.3.1
[PE1-Tunnel1] mpls te signaling static
[PE1-Tunnel1] mpls te static-sr-mpls sr-lsp-30
[PE1-Tunnel1] quit
# 在ASBR-PE 1上配置到PE 1、ASBR-PE 3的MPLS TE隧道。
[ASBR-PE1] static-sr-mpls lsp sr-lsp-10 out-label 16010
[ASBR-PE1] static-sr-mpls lsp sr-lsp-40 out-label 245555
[ASBR-PE1] interface tunnel 0 mode mpls-te
[ASBR-PE1-Tunnel0] ip address unnumbered interface LoopBack0
[ASBR-PE1-Tunnel0] destination 1.1.1.1
[ASBR-PE1-Tunnel0] mpls te signaling static
[ASBR-PE1-Tunnel0] mpls te static-sr-mpls sr-lsp-10
[ASBR-PE1-Tunnel0] quit
[ASBR-PE1] interface tunnel 1 mode mpls-te
[ASBR-PE1-Tunnel1] ip address unnumbered interface LoopBack0
[ASBR-PE1-Tunnel1] destination 4.4.4.1
[ASBR-PE1-Tunnel1] mpls te signaling static
[ASBR-PE1-Tunnel1] mpls te static-sr-mpls sr-lsp-40
[ASBR-PE1-Tunnel1] quit
# 在ASBR-PE 3上配置到PE 2、ASBR-PE 1的MPLS TE隧道。
[ASBR-PE3] static-sr-mpls lsp sr-lsp-60 out-label 16060
[ASBR-PE3] static-sr-mpls lsp sr-lsp-40 out-label 246666
[ASBR-PE3] interface tunnel 0 mode mpls-te
[ASBR-PE3-Tunnel0] ip address unnumbered interface LoopBack0
[ASBR-PE3-Tunnel0] destination 6.6.6.1
[ASBR-PE3-Tunnel0] mpls te signaling static
[ASBR-PE3-Tunnel0] mpls te static-sr-mpls sr-lsp-60
[ASBR-PE3-Tunnel0] quit
[ASBR-PE3] interface tunnel 1 mode mpls-te
[ASBR-PE3-Tunnel1] ip address unnumbered interface LoopBack0
[ASBR-PE3-Tunnel1] destination 2.2.2.1
[ASBR-PE3-Tunnel1] mpls te signaling static
[ASBR-PE3-Tunnel1] mpls te static-sr-mpls sr-lsp-40
[ASBR-PE3-Tunnel1] quit
# PE 2、ASBR-PE 2和ASBR-P E4上的MPLS TE隧道配置与PE 1、ASBR-PE 1和ASBR-PE 3类似,具体配置过程略。
配置完成后,在PE 1和PE 2上执行display ip routing-table命令可以查看到到达对方的路由,且PE 1和PE 2互相可以ping通。
#在PE 1上查看MPLS标签转发路径信息。
[PE1] display mpls lsp
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
1.1.1.1/0/35940 StaticCR -/3 GE1/0/1
1.1.1.1/1/35940 StaticCR -/3 GE1/0/1
1.1.1.1/32 BGP -/16010 NHLFE4
4.4.4.1/32 BGP -/16040 NHLFE4
5.5.5.1/32 BGP -/16050 NHLFE4
6.6.6.1/32 BGP -/16060 NHLFE4
11.0.0.2 Local -/- GE1/0/1
12.0.0.3 Local -/- GE1/0/2
Tunnel0 Local -/- NHLFE4
Tunnel1 Local -/- NHLFE8
1.1.1.1/32 OSPF 16010/- -
2.2.2.1/32 OSPF 16020/3 GE1/0/1
2.2.2.1/32 OSPF -/3 GE1/0/1
3.3.3.1/32 OSPF 16030/3 GE1/0/2
3.3.3.1/32 OSPF -/3 GE1/0/2
Router A和Router B间建立SR-MPLS网络,Router B和Router C间建立LDP网络,实现Router A和Router C间互访。具体需求如下:
· Router A、Router B和Router C运行IS-IS实现三层互通。
· Router A和Router B间通过IS-IS SR建立SRLSP,Router B和Router C间通过LDP动态建立LSP。
· Router B作为SRMS,将LDP网络的前缀地址映射为SR网络的SID,并通告给Router A。
图1-32 SR-MPLS to LDP网络互通组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
Router C |
Loop1 |
3.3.3.3/32 |
|
GE1/0/2 |
11.0.0.1/24 |
|
GE1/0/1 |
11.0.0.2/24 |
|
|
|
(1) 请按照图1-32配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型为wide
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0000.0000.0001.00
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis enable 1
[RouterA-LoopBack1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0000.0000.0002.00
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis enable 1
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis enable 1
[RouterB-LoopBack1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0000.0000.0003.00
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis enable 1
[RouterC-LoopBack1] quit
(3) 配置节点的MPLS LSR ID
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.1
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.2
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.3
(4) 配置节点的LDP功能
# 配置Router B。
[RouterB] mpls ldp
[RouterB-ldp] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] mpls ldp enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
[RouterC] mpls ldp
[RouterC-ldp] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] mpls ldp enable
[RouterC-GigabitEthernet1/0/1] quit
(5) 开启IS-IS SR功能
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] segment-routing mpls
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置前缀SID索引。
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis prefix-sid index 10
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] segment-routing mpls
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
(6) 配置SRMS
# 在Router B上开启通告本地SID标签映射消息功能。
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] segment-routing mapping-server advertise-local
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
# 在Router B上配置前缀和SID的映射关系。
[RouterB] segment-routing
[RouterB-segment-routing] mapping-server prefix-sid-map 3.3.3.3 32 100
[RouterB-segment-routing] quit
# 在Router A上查看IS-IS SR到达Router C的出标签,IS-IS SR已经为Router C分配了SID。
[RouterA] display mpls lsp protocol isis
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
3.3.3.3/32 ISIS 16100/16100 GE1/0/1
3.3.3.3/32 ISIS -/16100 GE1/0/1
Router A和Router B间建立SR-MPLS网络,Router B和Router C间建立LDP网络,实现Router A和Router C间互访。具体需求如下:
· Router A、Router B和Router C运行OSPF实现三层互通。
· Router A和Router B间通过OSPF SR建立SRLSP,Router B和Router C间通过LDP动态建立LSP。
· Router B作为SRMS,将LDP网络的前缀地址映射为SR网络的SID,并通告给Router A。
图1-33 SR-MPLS to LDP网络互通组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
Router C |
Loop1 |
3.3.3.3/32 |
|
GE1/0/2 |
11.0.0.1/24 |
|
GE1/0/1 |
11.0.0.2/24 |
|
|
|
(1) 请按照图1-33配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置OSPF协议实现网络层互通
# 配置Router A。
<RouterA> system-view
[RouterA] ospf 1 router-id 1.1.1.1
[RouterA-ospf-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ospf 1 area 0
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] ospf 1 area 0
[RouterA-LoopBack1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] ospf 1 router-id 2.2.2.2
[RouterB-ospf-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] ospf 1 area 0
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] ospf 1 area 0
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] ospf 1 area 0
[RouterB-LoopBack1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] ospf 1 router-id 3.3.3.3
[RouterC-ospf-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] ospf 1 area 0
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] ospf 1 area 0
[RouterC-LoopBack1] quit
(3) 配置节点的MPLS LSR ID
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.1
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.2
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.3
(4) 配置节点的LDP功能
# 配置Router B。
[RouterB] mpls ldp
[RouterB-ldp] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] mpls ldp enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
[RouterC] mpls ldp
[RouterC-ldp] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] mpls ldp enable
[RouterC-GigabitEthernet1/0/1] quit
(5) 开启OSPF SR功能
# 配置Router A。
[RouterA] ospf 1
[RouterA-ospf-1] segment-routing mpls
[RouterA-ospf-1] quit
# 配置前缀SID索引。
[RouterA] interface loopback 1
[RouterA-LoopBack1] ospf 1 prefix-sid index 10
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] ospf 1
[RouterB-ospf-1] segment-routing mpls
[RouterB-ospf-1] quit
(6) 配置SRMS
# 在Router B上开启通告本地SID标签映射消息功能。
[RouterB] ospf 1
[RouterB-ospf-1] segment-routing mapping-server advertise-local
[RouterB-ospf-1] quit
# 在Router B上配置前缀和SID的映射关系。
[RouterB] segment-routing
[RouterB-segment-routing] mapping-server prefix-sid-map 3.3.3.3 32 100
[RouterB-segment-routing] quit
# 在Router A上查看OSPF SR到达Router C的出标签,OSPF SR已经为Router C分配了SID。
[RouterA] display mpls lsp protocol ospf
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
3.3.3.3/32 OSPF 16100/16100 GE1/0/1
3.3.3.3/32 OSPF -/16100 GE1/0/1
· 设备Router A、Router B、Router C、Router D和Router E运行IS-IS实现互通。
· 设备Router B、Router C、Router D均配置LDP;Router A、Router B、Router D和Router E配置IS-IS SR功能。
· 当Router A通过SRLSP将流量转发给Router E时,需要在Router B和Router D上完成SR-MPLS和LDP标签的连接。
图1-34 SR-MPLS over LDP网络互通组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop1 |
1.1.1.1/32 |
Router B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
10.0.0.1/24 |
|
GE1/0/1 |
10.0.0.2/24 |
Router C |
Loop1 |
3.3.3.3/32 |
|
GE1/0/2 |
11.0.0.1/24 |
|
GE1/0/1 |
11.0.0.2/24 |
Router D |
Loop1 |
4.4.4.4/32 |
|
GE1/0/2 |
12.0.0.1/24 |
|
GE1/0/1 |
12.0.0.2/24 |
Router E |
Loop1 |
5.5.5.5/32 |
|
GE1/0/2 |
13.0.0.1/24 |
|
GE1/0/1 |
13.0.0.2/24 |
|
|
|
(1) 请按照图1-34配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型为wide
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0000.0000.0001.00
[RouterA-isis-1] cost-style wide
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis enable 1
[RouterA-LoopBack1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0000.0000.0002.00
[RouterB-isis-1] cost-style wide
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis enable 1
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis enable 1
[RouterB-LoopBack1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0000.0000.0003.00
[RouterC-isis-1] cost-style wide
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis enable 1
[RouterC-LoopBack1] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0000.0000.0004.00
[RouterD-isis-1] cost-style wide
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis enable 1
[RouterD-GigabitEthernet1/0/2] quit
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis enable 1
[RouterD-LoopBack1] quit
# 配置Router E。
<RouterE> system-view
[RouterE] isis 1
[RouterE-isis-1] network-entity 00.0000.0000.0005.00
[RouterE-isis-1] cost-style wide
[RouterE-isis-1] quit
[RouterE] interface gigabitethernet 1/0/1
[RouterE-GigabitEthernet1/0/1] isis enable 1
[RouterE-GigabitEthernet1/0/1] quit
[RouterE] interface loopback 1
[RouterE-LoopBack1] isis enable 1
[RouterE-LoopBack1] quit
(3) 配置节点的MPLS LSR ID
# 配置Router A。
[RouterA] mpls lsr-id 1.1.1.1
# 配置Router B。
[RouterB] mpls lsr-id 2.2.2.2
# 配置Router C。
[RouterC] mpls lsr-id 3.3.3.3
# 配置Router D。
[RouterD] mpls lsr-id 4.4.4.4
# 配置Router E。
[RouterE] mpls lsr-id 5.5.5.5
(4) 配置节点的LDP功能
# 配置Router B。
[RouterB] mpls ldp
[RouterB-ldp] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] mpls enable
[RouterB-GigabitEthernet1/0/2] mpls ldp enable
[RouterB-GigabitEthernet1/0/2] quit
# 配置Router C。
[RouterC] mpls ldp
[RouterC-ldp] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mpls enable
[RouterC-GigabitEthernet1/0/1] mpls ldp enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] mpls enable
[RouterC-GigabitEthernet1/0/2] mpls ldp enable
[RouterC-GigabitEthernet1/0/2] quit
# 配置Router D。
[RouterD] mpls ldp
[RouterD-ldp] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] mpls enable
[RouterD-GigabitEthernet1/0/1] mpls ldp enable
[RouterD-GigabitEthernet1/0/1] quit
(5) 开启IS-IS SR功能
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] segment-routing mpls
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置Router B。
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] segment-routing mpls
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
# 配置Router D。
[RouterD] isis 1
[RouterD-isis-1] address-family ipv4
[RouterD-isis-1-ipv4] segment-routing mpls
[RouterD-isis-1-ipv4] quit
[RouterD-isis-1] quit
# 配置Router E。
[RouterE] isis 1
[RouterE-isis-1] address-family ipv4
[RouterE-isis-1-ipv4] segment-routing mpls
[RouterE-isis-1-ipv4] quit
[RouterE-isis-1] quit
(6) 配置Router A、Router B、Router D和Router E的前缀SID索引
# 配置Router A。
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis prefix-sid index 10
[RouterA-LoopBack1] quit
# 配置Router B。
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis prefix-sid index 20
[RouterB-LoopBack1] quit
# 配置Router D。
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis prefix-sid index 40
[RouterD-LoopBack1] quit
# 配置Router E。
[RouterE] interface loopback 1
[RouterE-LoopBack1] isis prefix-sid index 50
[RouterE-LoopBack1] quit
# 在Router B上查看LDP标签分配情况。
[RouterB] display mpls ldp lsp
Status Flags: * - stale, L - liberal, B - backup, N/A - unavailable
FECs: 5 Ingress: 3 Transit: 3 Egress: 2
FEC In/Out Label Nexthop OutInterface
1.1.1.1/32 2173/-
-/2173(L)
2.2.2.2/32 3/-
-/2175(L)
3.3.3.3/32 -/3 11.0.0.2 GE1/0/2
2175/3 11.0.0.2 GE1/0/2
4.4.4.4/32 -/2174 11.0.0.2 GE1/0/2
2174/2174 11.0.0.2 GE1/0/2
5.5.5.5/32 -/2172 11.0.0.2 GE1/0/2
2172/2172 11.0.0.2 GE1/0/2
# 在Router B上查看IS-IS SR到达Router D和Router E的出标签关联上了LDP标签。
[RouterB] display mpls lsp protocol isis
FEC Proto In/Out Label Interface/Out NHLFE
1.1.1.1/32 ISIS 16010/3 GE1/0/1
1.1.1.1/32 ISIS -/3 GE1/0/1
2.2.2.2/32 ISIS 16020/- -
4.4.4.4/32 ISIS 16040/2174 GE1/0/2
4.4.4.4/32 ISIS -/2174 GE1/0/2
5.5.5.5/32 ISIS 16050/2172 GE1/0/2
5.5.5.5/32 ISIS -/2172 GE1/0/2
· 设备Device A、Device B和Device C运行IS-IS实现互通。
· Device A、Device B和Device C配置IS-IS SR功能。
· 当设备Device A和Device B之间链路Link A故障,链路Link B上存在环路,流量无法通过Device C转发到目的节点Device B。通过部署TI-LFA FRR消除环路,同时使流量可以快速切换到链路Link B。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Device A |
Loop1 |
1.1.1.1/32 |
Device B |
Loop1 |
2.2.2.2/32 |
|
GE1/0/1 |
12.12.12.1/24 |
|
GE1/0/1 |
24.24.24.1/24 |
|
GE1/0/2 |
13.13.13.1/24 |
|
GE1/0/2 |
13.13.13.2/24 |
Device C |
Loop1 |
3.3.3.3/32 |
|
|
|
|
GE1/0/1 |
12.12.12.2/24 |
|
|
|
|
GE1/0/2 |
24.24.24.2/24 |
|
|
|
(1) 请按照图1-35配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型为wide
# 配置Device A。
<DeviceA> system-view
[DeviceA] isis 1
[DeviceA-isis-1] network-entity 00.0000.0000.0001.00
[DeviceA-isis-1] cost-style wide
[DeviceA-isis-1] quit
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] isis enable 1
[DeviceA-GigabitEthernet1/0/1] isis cost 10
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] isis enable 1
[DeviceA-GigabitEthernet1/0/2] isis cost 10
[DeviceA-GigabitEthernet1/0/2] quit
[DeviceA] interface loopback 1
[DeviceA-LoopBack1] isis enable 1
[DeviceA-LoopBack1] quit
# 配置Device B。
<DeviceB> system-view
[DeviceB] isis 1
[DeviceB-isis-1] network-entity 00.0000.0000.0002.00
[DeviceB-isis-1] cost-style wide
[DeviceB-isis-1] quit
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] isis enable 1
[DeviceB-GigabitEthernet1/0/1] isis cost 20
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] isis enable 1
[DeviceB-GigabitEthernet1/0/2] isis cost 10
[DeviceB-GigabitEthernet1/0/2] quit
[DeviceB] interface loopback 1
[DeviceB-LoopBack1] isis enable 1
[DeviceB-LoopBack1] quit
# 配置Device C。
<DeviceC> system-view
[DeviceC] isis 1
[DeviceC-isis-1] network-entity 00.0000.0000.0003.00
[DeviceC-isis-1] cost-style wide
[DeviceC-isis-1] quit
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] isis enable 1
[DeviceC-GigabitEthernet1/0/1] isis cost 10
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] isis enable 1
[DeviceC-GigabitEthernet1/0/2] isis cost 20
[DeviceC-GigabitEthernet1/0/2] quit
[DeviceC] interface loopback 1
[DeviceC-LoopBack1] isis enable 1
[DeviceC-LoopBack1] quit
(3) 配置MPLS TE
# 配置Device A。
[DeviceA] mpls lsr-id 1.1.1.1
[DeviceA] mpls te
[DeviceA-te] quit
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] mpls enable
[DeviceA-GigabitEthernet1/0/1] mpls te enable
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] mpls enable
[DeviceA-GigabitEthernet1/0/2] mpls te enable
[DeviceA-GigabitEthernet1/0/2] quit
# 配置Device B。
[DeviceB] mpls lsr-id 2.2.2.2
[DeviceB] mpls te
[DeviceB-te] quit
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] mpls enable
[DeviceB-GigabitEthernet1/0/1] mpls te enable
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] mpls enable
[DeviceB-GigabitEthernet1/0/2] mpls te enable
[DeviceB-GigabitEthernet1/0/2] quit
# 配置Device C。
[DeviceC] mpls lsr-id 3.3.3.3
[DeviceC] mpls te
[DeviceC-te] quit
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] mpls enable
[DeviceC-GigabitEthernet1/0/1] mpls te enable
[DeviceC-GigabitEthernet1/0/1] quit
[DeviceC] interface gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] mpls enable
[DeviceC-GigabitEthernet1/0/2] mpls te enable
[DeviceC-GigabitEthernet1/0/2] quit
(4) 开启IS-IS SR功能,并开启邻接标签分配功能
# 配置Device A。
[DeviceA] isis 1
[DeviceA-isis-1] address-family ipv4
[DeviceA-isis-1-ipv4] segment-routing mpls
[DeviceA-isis-1-ipv4] segment-routing adjacency enable
[DeviceA-isis-1-ipv4] quit
[DeviceA-isis-1] quit
# 配置Device B。
[DeviceB] isis 1
[DeviceB-isis-1] address-family ipv4
[DeviceB-isis-1-ipv4] segment-routing mpls
[DeviceB-isis-1-ipv4] segment-routing adjacency enable
[DeviceB-isis-1-ipv4] quit
[DeviceB-isis-1] quit
# 配置Device C。
[DeviceC] isis 1
[DeviceC-isis-1] address-family ipv4
[DeviceC-isis-1-ipv4] segment-routing mpls
[DeviceC-isis-1-ipv4] segment-routing adjacency enable
[DeviceC-isis-1-ipv4] quit
[DeviceC-isis-1] quit
(5) 配置Device A、Device B和Device C的前缀SID索引
# 配置Device A。
[DeviceA] interface loopback 1
[DeviceA-LoopBack1] isis prefix-sid index 10
[DeviceA-LoopBack1] quit
# 配置Device B。
[DeviceB] interface loopback 1
[DeviceB-LoopBack1] isis prefix-sid index 20
[DeviceB-LoopBack1] quit
# 配置Device C。
[DeviceC] interface loopback 1
[DeviceC-LoopBack1] isis prefix-sid index 30
[DeviceC-LoopBack1] quit
(6) 配置IS-IS TI-LFA FRR
# 配置Device A。
[DeviceA] isis 1
[DeviceA-isis-1] address-family ipv4
[DeviceA-isis-1-ipv4] fast-reroute lfa
[DeviceA-isis-1-ipv4] fast-reroute ti-lfa
[DeviceA-isis-1-ipv4] fast-reroute microloop-avoidance enable
[DeviceA-isis-1-ipv4] segment-routing microloop-avoidance enable
[DeviceA-isis-1-ipv4] quit
[DeviceA-isis-1] quit
# 配置Device B。
[DeviceB] isis 1
[DeviceB-isis-1] address-family ipv4
[DeviceB-isis-1-ipv4] fast-reroute lfa
[DeviceB-isis-1-ipv4] fast-reroute ti-lfa
[DeviceB-isis-1-ipv4] fast-reroute microloop-avoidance enable
[DeviceB-isis-1-ipv4] segment-routing microloop-avoidance enable
[DeviceB-isis-1-ipv4] quit
[DeviceB-isis-1] quit
# 配置Device C。
[DeviceC] isis 1
[DeviceC-isis-1] address-family ipv4
[DeviceC-isis-1-ipv4] fast-reroute lfa
[DeviceC-isis-1-ipv4] fast-reroute ti-lfa
[DeviceC-isis-1-ipv4] fast-reroute microloop-avoidance enable
[DeviceC-isis-1-ipv4] segment-routing microloop-avoidance enable
[DeviceC-isis-1-ipv4] quit
[DeviceC-isis-1] quit
# 在Device A上查看2.2.2.2/32路由,可以看到TI-LFA备份下一跳信息。
[DeviceA] display isis route ipv4 2.2.2.2 32 verbose level-1 1
Route information for IS-IS(1)
-----------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Dest : 2.2.2.2/32 Int. Cost : 10 Ext. Cost : NULL
Admin Tag : - Src Count : 1 Flag : R/L/-
InLabel : 16020 InLabel Flag: -/N/-/-/-/-
NextHop : Interface : ExitIndex :
13.13.13.2 GE1/0/2 0x00000103
Nib ID : 0x14000005 OutLabel : 16020 OutLabelFlag: I
LabelSrc : SR
TI-LFA:
Interface : GE1/0/1
BkNextHop : 12.12.12.2 LsIndex : 0x00000002
Backup label stack(top->bottom): {16030, 2175}
Route label: 16020
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
InLabel flags: R-Readvertisement, N-Node SID, P-no PHP
E-Explicit null, V-Value, L-Local
OutLabelFlags: E-Explicit null, I-Implicit null, N-Nomal, P-SR label prefer
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!