01-MPLS SR配置
本章节下载: 01-MPLS SR配置 (783.23 KB)
目 录
1.11.1 MPLS TE隧道采用静态SRLSP配置任务简介
1.12.1 配置MPLS TE隧道采用显式路径SRLSP配置任务简介
1.13 配置MPLS TE隧道采用PCE计算建立SRLSP
1.13.1 MPLS TE隧道采用PCE计算建立SRLSP配置任务简介
1.13.2 配置MPLS TE隧道采用PCE计算SRLSP
1.17.1 MPLS SR to LDP配置举例(IS-IS)
1.17.2 MPLS SR over LDP网络互通配置举例
SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。MPLS SR(Segment Routing with MPLS,MPLS段路由)是指在MPLS网络中使用SR、将标签作为SID对报文进行转发。
MPLS SR具有以下优点:
· 直接应用现有的MPLS框架进行转发,无需对网络进行改造。MPLS网络架构的详细介绍,请参见“MPLS配置指导”中的“MPLS基础”。
· 通过对现有的IGP协议和BGP协议进行扩展和优化,可以直接利用IGP协议和BGP协议来进行标签的分发。
· 能够更加简单地实现MPLS TE等网络功能,解决了现有网络为实现上述功能而带来的部署路由协议过多、部署过程复杂等问题。
SR主要涉及如下概念:
· SR节点:开启MPLS SR功能的设备通常被称为SR节点。其中,负责为进入MPLS SR网络的报文添加标签的入口节点称为源节点;负责剥离报文中标签、并将报文转发给目的网络的出口节点称为尾节点。
· 段:用来指明节点对入报文所执行的操作。
· SID:段标识,在MPLS SR中为MPLS标签。
· 分段类型:根据SID分配形式不同,SR的分段类型有如下两种:
¡ Prefix Segment:前缀类型的段,按目的IP地址前缀为网络的节点分配SID并建立转发表项。
¡ Adjacency Segment:邻接类型的段,为节点的不同邻接链路分别分配SID。
· SRLSP(Segment Routing Label Switched Path,基于段路由的LSP):以标签作为SID对报文进行段路由转发,报文所经过的路径称为SRLSP。
· SRGB(Segment Routing Global Block,分段路由全局标签段):专门用于MPLS SR前缀类型SID(Prefix SID)的全局标签范围,各个节点的SRGB范围可以不同,SRGB的标签范围由标签段基值和Range确定,其中标签段基值表示SRGB标签段的最小值,Range表示标签数目。目前,MPLS为SRGB预留的标签段为16000~24000。
· SRLB(Segment Routing Local Block,分段路由本地标签段):专门用于MPLS SR邻接类型SID(Adjacency SID)的本地标签范围,各个节点的SRLB范围相同,SRLB的标签范围由标签段基值和Range确定,其中标签段基值表示SRLB标签段的最小值,Range表示标签数目。目前,MPLS为SRLB预留的标签段固定为15000~15999。
要想通过SRLSP转发报文,需要完成以下工作:
(1) 进行标签分配,为报文转发路径中的每个节点和链路规划标签信息,可以使用动态分配SID方式。
(2) 建立标签转发表项,运行MPLS SR的设备组成的分段路由域内的设备根据分配的标签信息形成本地的标签转发表项。
(3) 建立SRLSP,SRLSP可以手工配置,也可以通过IGP协议动态建立或通过控制器下发。
完成上述步骤后,SRLSP即可用来转发流量。当源节点接收到用户网络的报文后,会为报文封装所经过路径上的标签信息,并通过SRLSP将报文转发给尾节点;尾节点从SRLSP接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。
如果将SRLSP与上层应用关联,如MPLS TE,则可以实现通过SRLSP来转发MPLS TE流量。
静态配置Segment的方式为:
· Prefix Segment:在每台SR节点上为目的IP地址前缀手工指定入标签、出标签和下一跳。
· Adjacency Segment:在每台SR节点上为与邻接设备相连的链路手工指定入标签和下一跳对应关系。
对IGP协议(如IS-IS)进行扩展后,可以在IGP协议报文中通告SID。动态分配和通告SID的方式为:
· Prefix SID
· Adjacency SID
每个SR节点均手工为自己的Loopback地址指定SID,该SID用来标识特定的SR节点。运行MPLS SR的设备组成的分段路由域内,通过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:开启了邻接标签分配功能的SR节点自动为邻接链路分配SID。
· 手工指定Adjacency SID:
¡ 绝对值方式:直接指定Adjacency SID。
¡ 索引值方式:为邻接链路分配Index。SR节点的SRLB基值+Index即为该节点为邻接链路分配的Adjacency SID。
对BGP协议进行扩展后,BGP对等体之间可以通过协议报文通告Prefix SID。BGP在引入路由时通过路由策略为不同前缀地址分配SID,该SID用来表示特定的SR节点。运行MPLS SR的设备组成的分段路由域内,通过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对等体分配标签来控制跨域的流量从特定的BGP邻居或链路进行转发。
在设备上配置BGP-EPE功能后,该设备为相连的BGP对等体/对等体组分配SID,用来标识与本设备相连的特定BGP邻居或链路。
通常把这些段叫做BGP peering segments或BGP peering SIDs,BGP peering segments分为以下三种:
· PeerNode segment/SID:节点类型,通常用于为以直连口建立BGP会话的邻居分配SID。
· PeerAdj segment/SID:邻接类型,通常用于为以非直连口(环回口)建立BGP会话的邻居分配SID。
· PeerSet segment/SID:Set类型,通常用于与BGP邻居之间存在多条等价链路的情况,为不同链路分配SID。
通过BGP-EPE功能为邻居分配的SID仅具有本地意义,不会向其他设备通告,因此不受BGP对等体间交换路由信息类型的影响。通常应用于跨域VPN-Option B方式组网。
通过Prefix SID建立的标签转发表项可以分为:
· 静态标签转发表项:设备根据手工指定的入标签、出标签以及下一跳的对应关系形成本地的标签转发表项;
· 动态标签转发表项:设备通过IGP协议将本地SRGB和为本地Loopback接口地址分配的Prefix SID的索引值在分段路由域内进行泛洪。分段路由域内的其他设备根据收到的信息计算出本地的标签转发表项,入标签为本地SRGB标签段基值+Index,出标签为下一跳的SRGB基值+Index。
图1-1 根据Prefix SID建立标签转发表项
如图1-1所示,以动态分配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-2 根据BGP Prefix SID建立标签转发表项
如图1-2所示,网络管理员将索引值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-3 配置BGP-EPE功能建立标签转发表项
如图1-3所示,在Device B上开启BGP-EPE功能,分别为EBGP邻居Device C和Device D分配BGP peering SID。通过BGP-EPE功能为邻居分配的标签仅具有本地意义,不再向邻居进行通告。
当采用Adjacency方式时,设备为与邻接设备相连的链路动态分配入标签。该标签值只在本地有效,不同设备上的Adjacency SID可以相同。
图1-4 根据Adjacency SID建立标签转发表项
如图1-4所示,设备之间运行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建立方式包括:
· 根据IGP协议动态建立:SR节点通过IGP协议搜集MPLS SR网络中的前缀SID信息,并根据该信息及IGP网络拓扑信息,计算出到达MPLS SR网络中各个SR节点的最短路径,并在该路径上建立SRLSP。
· 控制器下发:由控制器下发配置,在设备上创建SRLSP。该方式的详细介绍请参见控制器相关资料。
根据SID分配方式的不同,MPLS SR报文转发过程主要分为以下几种:
· Prefix方式:在源节点将为尾节点分配的Prefix SID封装到报文中,各中间节点查找标签转发表项进行转发。
· Adjacency方式:在源节点将所有经过节点为邻接链路分配的Adjacency SID组成的标签栈封装到报文中,各中间节点根据标签栈最外层标签查找下一跳邻居,并在转发报文时删除标签栈最外层标签。
· Prefix/Adjacency方式:采用Prefix和Adjacency组合方式进行报文转发。
如图1-5所示,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-5 Prefix方式报文转发过程示意图
如图1-6所示,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-6 Prefix方式报文跨AS转发过程示意图
如图1-7所示,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-7 BGP-EPE功能报文跨AS转发过程示意图
如图1-8所示,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-8 Adjacency方式报文转发过程示意图
如图1-9所示,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-9 Adjacency/Prefix组合方式报文转发过程示意图
在MPLS SR和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网络中代替不支持MPLS SR的LDP设备发布SID。在SRMS上配置前缀地址与SID的映射关系,并且发布给SRMC。
· SRMC(Segment Routing Mapping Client,段路由映射客户端):SR网络中接收SRMS发布的前缀地址与SID的映射关系,创建MPLS SR标签转发表。
如图1-10所示,Device B、Device C和Device D运行LDP协议,Device D为目的地址3.3.3.3/32分发标签,Device B、Device C上形成LDP标签转发表项;Device A和Device B运行MPLS SR功能,SRLSP和LDP LSP映射关系建立过程如下:
(1) Device B作为SRMS,为Device D上的Loopback地址3.3.3.3/32分配索引值201,同时向Device A发布Mapping TLV。
(2) Device A作为SRMC,接收通告信息,形成MPLS SR标签转发表。
(3) Device B上建立SRLSP与LDP LSP的映射关系。
图1-10 SR to LDP报文转发过程示意图
当Device A通过SRLSP将报文转发到Device D时,报文转发过程如下:
(4) 源节点Device A为报文封装标签16201,发送给中间节点Device B。
(5) 中间节点Device B根据报文的入标签16201,查找MPLS SR标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效LDP出标签20,将出标签20作为SR的出标签,发送报文给下一个中间节点Device C继续转发。
(6) Device C收到报文后,根据报文的入标签20查找对应的LDP标签转发表项,删除报文中的标签,将报文发送给尾节点Device D。
(7) 报文到达尾节点Device D后,按IP继续转发即可。
如图1-11所示,Device A、Device B和Device C运行LDP协议,为目的地址3.3.3.3/32分发标签,形成LDP标签转发表项。Device C和Device D运行MPLS SR功能,MPLS SR标签与LDP标签关联过程如下:
(1) 网络管理员将索引值201分配给Device D上的Loopback地址3.3.3.3/32,Device D通过IGP协议报文将该索引值以及本地SRGB通告出去。
(2) Device C收到通告信息后,形成MPLS SR标签转发表。
(3) Device C上MPLS SR标签与LDP标签关联。
图1-11 LDP to SR报文转发过程示意图
当Device A通过LDP LSP将报文转发到Device D时,报文转发过程如下:
(4) Device A接收到不带标签的报文,根据LDP标签转发表项为报文添加标签,并将报文转发给下一跳Device B,出标签为20。
(5) Device B收到报文后根据LDP标签转发表项将报文转发给下一跳Device C,出标签为30。
(6) Device C收到报文后,根据报文的入标签30查找对应的LDP标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效MPLS SR出标签16201,将出标签16201作为LDP的出标签,发送报文给尾节点Device D。
(7) 报文到达尾节点Device D后,Device D删除报文中的标签16201,按IP继续转发即可。
SR网络需要跨越LDP网络交互数据,这种组网被称为SR over LDP。在SR over LDP组网环境下,需要在边界设备上将一个协议的无效出标签替换为另一个协议的有效出标签,完成标签的连接。SR over LDP组网主要包含如下两种情况:
· MPLS SR到LDP标签连接:当MPLS SR出标签不存在时,如果存在有效的LDP出标签,则将LDP出标签作为SR出标签。
· LDP到MPLS SR标签连接:当LDP出标签不存在时,如果存在有效的MPLS SR出标签,则将MPLS SR出标签作为LDP出标签。
图1-12 SR over LDP网络互通示意图
如图1-12所示,Device A、Device B、Device D和Device E运行MPLS SR功能,网络管理员将索引值201分配给Device E上的Loopback地址3.3.3.3/32,Device E通过IGP协议报文将该索引值以及本地SRGB通告出去,Device A、Device B、Device D收到通告信息后,形成MPLS SR标签转发表;Device B、Device C和Device D运行LDP协议,为目的地址3.3.3.3/32分发标签,形成LDP标签转发表项。当Device A通过SRLSP将报文转发到Device E时,报文转发过程如下:
(2) 源节点Device A为报文封装标签16201,发送给中间节点Device B。
(3) 中间节点Device B根据报文的入标签16201,查找MPLS SR标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效LDP出标签20,将出标签20作为SR的出标签,发送报文给下一个中间节点Device C继续转发。
(4) Device C收到报文后根据LDP标签转发表项将报文转发给下一跳Device D,出标签为30。
(5) Device D收到报文后,根据报文的入标签30查找对应的LDP标签转发表项,发现出标签不存在,此时设备上存在关于目的地址3.3.3.3/32的有效MPLS SR出标签16201,将出标签16201作为LDP的出标签,发送报文给尾节点Device E。
(6) 报文到达尾节点Device E后,Device E删除报文中的标签16201,按IP继续转发即可。
TI-LFA FRR(Topology-Independent Loop-free Alternate Fast Reroute,拓扑无关无环备份快速重路由)能为Segment Routing隧道提供链路及节点的保护。当某处链路或节点故障时,流量会快速切换到备份路径,继续转发。从而最大程度上避免流量的丢失。
基于Segment Routing的TI-LFA FRR技术有如下优势:
· 满足IP FRR快速收敛的基本要求。
· 原则上,对流量的保护不受组网环境的限制。
· 算法复杂度适中。
· 选择收敛后的路径作为备份路由转发路径,相比其他FRR技术,转发过程中设备不会有正在收敛的中间态。
TI-LFA FRR主要涉及以下概念:
· P空间:以保护链路源端为根节点建立SPF(Shortest Path First,最短路径优先)树,所有从根节点不经过保护链路可达的节点集合称为P空间。P空间内的节点被称为P节点。
· 扩展P空间:以保护链路源端的所有邻居为根节点分别建立SPF树,所有从根节点不经过保护链路可达的节点集合称为扩展P空间。P空间在扩展P空间范围内。
· Q空间:以目的节点为根节点建立反向SPF树,所有从根节点不经过保护链路可达的节点集合称为Q空间。Q空间内的节点被称为Q节点。
· TI-LFA算法:在实际组网环境中,P空间和Q空间既没有交集,也没有直连的邻居,设备无法计算出备份路径,不能满足可靠性要求。而TI-LFA算法可以根据保护链路计算出扩展P空间、Q空间、收敛后的SPF树、Repair List和备份出接口,形成TI-LFA备份下一跳保护。
TI-LFA流量保护分为以下两种类型:
· 链路保护:当需要保护的对象是经过特定链路的流量时,流量保护类型为链路保护。
· 节点保护:当需要保护的对象是经过特定设备的流量时,流量保护类型为节点保护。
节点保护优先级高于链路保护。
如图1-14所示,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-14中,Repair List为P 2的节点标签16030,加上P 2到P 3的邻接标签2168,以及P 3到P 4的邻接标签2178。
(5) 计算备份出接口:PE 1到P 1链路故障后的下一跳出接口。
图1-14 TI-LFA典型组网图
TI-LFA备份路径计算完成之后,如果主路径发生故障,就可以根据备份路径进行转发,避免流量丢失。
如图1-15所示,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-15 TI-LFA FRR备份路径转发流程图
如图1-16所示,当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-17所示,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。
与MPLS SR相关的协议规范有:
· 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
表1-1 SRLSP转发IP流量配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置Segment |
静态配置Segment |
二者必选其一 |
|
配置通过IGP扩展通告SID |
|||
配置优先使用SRLSP转发流量 |
可选 |
||
配置SR和LDP互通 |
可选 |
||
配置TI-LFA FRR |
可选 |
表1-2 MPLS TE隧道采用静态SRLSP转发流量配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置Segment |
静态配置Segment |
四者必选其一 |
|
配置通过IGP扩展通告SID |
|||
配置通过BGP分配SID |
|
||
配置通过BGP-EPE功能分配SID |
|
||
配置MPLS TE隧道采用静态SRLSP |
必选 |
||
配置SR和LDP互通 |
可选 |
||
配置TI-LFA FRR |
可选 |
表1-3 MPLS TE隧道采用显式路径SRLSP转发流量配置任务简介
配置任务 |
说明 |
详细配置 |
配置通过IGP扩展通告SID |
必选 |
|
配置MPLS TE隧道采用显式路径SRLSP |
可选 |
|
配置SR和LDP互通 |
可选 |
|
配置TI-LFA FRR |
可选 |
表1-4 MPLS TE隧道采用显式路径SRLSP转发流量配置任务简介
配置任务 |
说明 |
详细配置 |
配置MPLS TE隧道采用PCE计算建立SRLSP |
可选 |
|
配置SR和LDP互通 |
可选 |
|
配置TI-LFA FRR |
可选 |
在静态配置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存在公共路径,公共路径节点的邻接路径信息一致,不需要进行多次配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态Adjacency Segment |
static-sr-mpls adjacency adjacency-path-name in-label label-value { nexthop ip-address | outgoing-interface interface-type interface-number } |
指定的下一跳地址不能是本地设备上的公网IP地址 |
指定的下一跳或出接口必须与路由表中最优路由的下一跳或出接口保持一致,同一台设备上,如果最优路由有多个下一跳或者出接口,那么就能配置多个到该目的地址的前缀路径用于负载分担,但是需要注意的是到达同一目的地址前缀路径的名称、入标签值需要保持一致。
本命令需要在静态SRLSP的所有节点上执行。
如果多条静态SRLSP的目的地址相同,公共路径节点的前缀路径信息一致,不需要进行多次配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态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-5 通过IGP扩展通告前缀SID
配置任务 |
说明 |
详细配置 |
开启IGP支持MPLS SR功能 |
必选 |
|
配置前缀SID |
必选 |
|
配置基于MPLS的SRGB的标签范围 |
必选 |
在SRLSP可能经过的各节点上执行如下配置:
表1-6 通过IGP扩展通告邻接SID
配置任务 |
说明 |
详细配置 |
开启IGP支持MPLS SR功能 |
必选 |
|
开启IGP邻接标签分配功能 |
必选 |
|
配置邻接SID |
可选 |
配置通过IGP扩展通告SID之前,需完成以下任务:
· 确定SRLSP的头节点、中间节点和尾节点。
· 规划每个节点的前缀SID索引值和SRGB标签范围。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
开启IGP支持MPLS SR功能前,需进行以下配置,否则MPLS SR功能不会生效:
当IGP协议为IS-IS时,需确保IS-IS开销值的类型为wide、compatible或wide-compatible。关于IS-IS开销值类型的配置请参见“三层技术-IP路由配置指导”中的“IS-IS”。
表1-7 配置IS-IS支持MPLS SR功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IS-IS IPv4单播地址族视图 |
address-family ipv4 |
- |
开启MPLS SR功能 |
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进程。
表1-8 配置IS-IS SR前缀SID
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Loopback接口视图 |
interface loopback interface-number |
- |
配置前缀SID |
isis [ process-id process-id ] prefix-sid { absolute absolute-value | index index-value } [ n-flag-clear ] [ explicit-null ] |
缺省情况下,未配置IS-IS前缀SID |
开启邻接标签分配功能时,需确保MPLS SR处于开启状态,否则该功能不会生效。
表1-9 配置IS-IS SR邻接标签分配功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IPv4单播地址族视图 |
address-family ipv4 |
- |
开启邻接标签分配功能 |
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的范围内。
开启MPLS SR功和开启IGP邻接标签分配功能后,本功能才会生效。
执行display mpls label命令,查看SID使用状态。如果配置的Adjacency SID已经被其他协议使用,则该Adjacency SID不可用。此后如果该Adjacency SID的使用状态变为Idle时,则先删除Adjacency SID的配置,再重新配置Adjacency SID,该Adjacency SID才可以被使用。
表1-10 配置IS-IS Adjacency SID
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Adjacency SID |
isis adjacency-sid { absolute absolute-value | index index-value } [ nexthop nexthop-address ] |
缺省情况下,未配置IS-IS Adjacency SID |
配置SRGB的范围时,若已配置前缀SID,需确保配置的SRGB标签范围包含已配置的前缀SID值,否则SRGB配置失败。
MPLS为SRGB预留的标签范围为16000~24000,配置的SRGB值必须在本范围内。
表1-11 配置IS-IS SR的SRGB的标签范围
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
配置基于MPLS的SRGB的标签范围 |
segment-routing global-block minivalue maxivalue |
缺省情况下,基于MPLS的SRGB的最小标签值为16000,最大标签值为24000 |
在SRLSP可能经过的各节点上执行如下配置:
表1-12 通过BGP扩展通告SID
配置任务 |
说明 |
详细配置 |
开启BGP支持MPLS SR功能 |
必选 |
|
配置BGP SR前缀SID |
必选 |
配置通过BGP扩展通告SID之前,需完成以下任务:
· 确定SRLSP的头节点、中间节点和尾节点。
· 规划每个节点的前缀SID索引值。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP实例视图 |
bgp as-number [ instance instance-name ] |
- |
进入BGP IPv4单播地址族视图 |
address-family ipv4 [ unicast ] |
- |
开启MPLS SR功能 |
segment-routing mpls |
缺省情况下,基于MPLS的SR功能处于关闭状态 |
BGP引入路由时配置策略,策略配置前缀SID,可以确定SID和IP前缀的绑定关系。
当配置BGP SR前缀SID时,BGP邻居间必须开启交换带标签路由的能力。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP实例视图 |
bgp as-number [ instance instance-name ] |
- |
进入BGP IPv4单播地址族视图 |
address-family ipv4 [ unicast ] |
- |
引入ISIS的路由,并对引入的路由应用路由策略 |
import-route isis process-id route-policy route-policy-name |
- |
退回BGP实例视图 |
quit |
- |
退回系统视图 |
quit |
- |
进入该路由策略视图 |
route-policy route-policy-name { deny | permit } node node-number |
- |
配置标签索引值 |
apply label-index index-value |
缺省情况下,未配置路由的标签索引值 |
在设备上配置BGP-EPE功能后,该设备为相连的BGP对等体/对等体组分配SID,用来标识与本设备相连的特定BGP邻居或链路。
配置BGP-EPE功能时,需要注意:
· 缺省情况下,BGP peering SID为节点类型。
· 如果开启BGP-EPE功能时未指定路由策略,将自动为BGP邻居分配标签。
· 部署BGP-EPE时需要同时部署MPLS TE隧道采用静态SRLSP,且静态SRLSP的出标签值需要与配置BGP-EPE功能的标签值相同。
通过BGP-EPE功能为指定对等体/对等体组应用路由策略时需要注意:
· 不能通过路由策略为不同的BGP对等体/对等体组分配相同的标签值。
· 仅当为BGP对等体/对等体组分配Set类型的BGP peering SID时,不同的BGP对等体/对等体组可以应用相同的路由策略。
· 仅当EBGP会话通过环回口建立时支持策略中配置if-match interface作为过滤条件。
执行display mpls label命令,查看SID使用状态。如果配置的BGP-EPE SID已经被其他协议使用,则该SID不可用。此后如果该SID的使用状态变为Idle时,则先删除BGP-EPE的配置,再重新配置BGP-EPE,该SID才可以被使用。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP实例视图 |
bgp as-number [ instance instance-name ] |
- |
开启BGP-EPE功能,并为指定对等体/对等体组应用路由策略 |
peer { group-name | ipv4-address [ mask-length ] } egress-engineering [ adjacency | set ] [ route-policy policy-name ] |
缺省情况下,BGP-EPE功能处于关闭状态 |
退回系统视图 |
quit |
- |
进入路由策略视图 |
route-policy route-policy-name { deny | permit } node node-number |
- |
配置BGP-EPE功能的标签值 |
apply label-value label-value |
缺省情况下,未配置标签值 |
当到达同一目的网络同时存在SRLSP和LDP LSP两种标签转发路径时,设备优先使用LDP LSP转发流量。通过配置本功能,可以指定转发到达该目的网络的流量时优先使用SRLSP路径。
配置本功能时,请开启MPLS SR功能,并确保SRLSP路径标签为前缀SID。
表1-13 配置优先使用IS-IS SR建立的SRLSP转发流量
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
配置优先使用SRLSP转发流量 |
segment-routing sr-prefer [ prefix-list prefix-list-name ] |
缺省情况下,设备优先使用LDP LSP转发流量 |
配置MPLS TE隧道采用静态SRLSP前需要在MPLS TE隧道经过的所有节点上开启MPLS TE能力,最后再配置静态路由或策略路由,将流量引入MPLS TE隧道。配置方法请参见“MPLS配置指导”中的“MPLS TE”。
表1-14 MPLS TE隧道采用静态SRLSP配置
配置任务 |
说明 |
详细配置 |
配置用于MPLS TE的静态SRLSP |
必选 |
|
配置MPLS TE隧道采用静态SRLSP |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置用于MPLS TE隧道的静态SRLSP |
static-sr-mpls lsp lsp-name out-label out-label-value&<1-9> |
- |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number [ mode mpls-te ] |
- |
配置使用静态方式建立MPLS TE隧道 |
mpls te signaling static |
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道 本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS TE” |
指定隧道引用的SRLSP |
mpls te static-sr-mpls lsp-name [ backup ] |
缺省情况下,隧道没有引用任何静态SRLSP MPLS TE隧道所引用的静态SRLSP,必须已经通过static-sr-mpls lsp命令创建 只有当主用和备用SRLSP均采用Adjacency方式建立时,才允许通过指定backup参数配置隧道引用备用SRLSP |
表1-15 MPLS TE隧道采用显式路径SRLSP
配置任务 |
说明 |
详细配置 |
配置用于MPLS TE的显式路径SRLSP |
必选 |
|
配置MPLS TE隧道采用显式路径SRLSP |
必选 |
配置采用显式路径SRLSP的MPLS TE隧道之前,需完成以下任务:
· 确定SRLSP的头节点。
· 规划每个节点的SID。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入显式路径视图 |
explicit-path path-name |
- |
配置用于MPLS TE隧道的显式路径SRLSP |
· 指定显式路径中到达目的节点时所经过节点的标签 · 指定显式路径中到达目的节点时所经过节点的地址 |
缺省情况下,显式路径未指定任何节点 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number mode mpls-te |
- |
配置使用Segment Routing方式建立MPLS TE隧道 |
mpls te signaling segment-routing |
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道 |
指定隧道引用的SRLSP |
mpls te path preference value explicit-path path-name [ no-cspf ] |
缺省情况下,隧道使用自动计算的路径建立SRLSP |
配置MPLS TE隧道采用PCE计算建立SRLSP前需要在MPLS TE隧道经过的所有节点和各接口上开启MPLS TE能力,配置PCE发现,并建立支持Segment Routing的PCEP会话。
表1-16 配置MPLS TE隧道采用PCE计算建立SRLSP
配置任务 |
说明 |
详细配置 |
配置MPLS TE隧道采用PCE计算SRLSP |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入模式为MPLS TE隧道的Tunnel接口视图 |
interface tunnel tunnel-number mode mpls-te |
- |
配置使用Segment Routing方式建立MPLS TE隧道 |
mpls te signaling segment-routing |
缺省情况下,MPLS TE使用RSVP-TE信令协议建立隧道 |
指定隧道使用PCE计算建立SRLSP。 |
mpls te path preference value dynamic [ pce [ ip-address ]&<0-8> ] |
缺省情况下,使用自动计算的路径建立SRLSP |
配置MPLS SR和LDP互通时,需要确保SRLSP的路径标签为前缀SID。
配置SRMS和SRMC设备的MPLS SR功能时,目前仅支持配置IS-IS的MPLS SR功能。
表1-17 SRMS配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置SRMS设备的MPLS SR功能 |
开启IGP支持MPLS SR功能 |
必选 |
|
配置前缀SID |
必选 |
||
配置基于MPLS的SRGB的标签范围 |
必选 |
||
开启通告本地SID标签映射消息功能 |
必选 |
||
配置前缀和SID的映射关系 |
必选 |
表1-18 SRMC配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置SRMC设备的MPLS SR功能 |
开启IGP支持MPLS SR功能 |
必选 |
|
配置前缀SID |
必选 |
||
配置基于MPLS的SRGB的标签范围 |
必选 |
||
开启接收远端SID标签映射消息功能 |
必选 |
表1-19 LDP to SR配置任务简介
配置任务 |
说明 |
详细配置 |
开启IGP支持MPLS SR功能 |
必选 |
|
配置前缀SID |
必选 |
|
配置基于MPLS的SRGB的标签范围 |
必选 |
表1-20 SR over LDP配置任务简介
配置任务 |
说明 |
详细配置 |
开启IGP支持MPLS SR功能 |
必选 |
|
配置前缀SID |
必选 |
|
配置基于MPLS的SRGB的标签范围 |
必选 |
配置SR和LDP互通之前,需完成以下任务:
· 确定SRLSP的头节点、中间节点和尾节点。
· 规划每个节点的前缀SID索引值和SRGB标签范围。
· 在参与MPLS转发的各个节点和接口上开启MPLS能力,配置方法请参见“MPLS配置指导”中的“MPLS基础”。
请在SRMS设备上开启本功能。
表1-21 开启IS-IS通告本地SID标签映射消息功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IS-IS IPv4单播地址族视图 |
address-family ipv4 |
- |
开启通告本地SID标签映射消息功能 |
segment-routing mapping-server advertise-local |
缺省情况下,通告本地SID标签映射消息功能处于关闭状态 |
请在SRMS上配置本功能。
前缀地址必须符合规范且不与本地已配置的映射关系冲突。
批量配置前缀地址和SID映射关系时,请根据组网环境规划前缀和SID的映射个数。
表1-22 配置前缀和SID的映射关系
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Segment Routing视图 |
segment-routing |
- |
配置前缀和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-23 开启IS-IS接收远端SID标签映射消息功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IS-IS IPv4单播地址族视图 |
address-family ipv4 |
- |
开启接收远端SID标签映射消息功能 |
segment-routing mapping-server receive |
缺省情况下,接收邻居SID标签映射消息功能处于开启状态 |
在MPLS SR和LDP共存的网路环境中,需要配置优先使用IS-IS SR建立的SRLSP转发流量,避免流量通过LDP LSP转发,防止TI-LFA FRR的备份下一跳失效。
表1-24 TI-LFA FRR配置任务简介
配置任务 |
说明 |
详细配置 |
开启TI-LFA FRR功能 |
必选 |
|
配置接口不参与TI-LFA计算 |
可选 |
|
配置防微环功能 |
可选 |
表1-25 开启ISIS的TI-LFA FRR功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IS-IS IPv4单播地址族视图 |
address-family ipv4 |
- |
开启IS-IS的LFA快速重路由功能 |
fast-reroute lfa [ level-1 | level-2 ] |
缺省情况下,IS-IS支持快速重路由功能处于关闭状态 |
开启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功能处于关闭状态 |
禁止源节点设备上路由的主下一跳出接口参与TI-LFA计算
表1-26 配置接口不参与TI-LFA计算
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
禁止开启IS-IS的接口参与TI-LFA计算 |
isis fast-reroute ti-lfa disable [ level-1 | level-2 ] |
缺省情况下,允许开启IS-IS的接口参与TI-LFA计算 |
防微环功能分为:
· FRR正切防微环功能:仅能解决正切微环的问题。
应用了TI-LFA快速重路由功能的组网环境中,若某节点或者链路发生故障,流量会切换到TI-LFA计算的备份路径。但是,如果此时备份路径上的设备还没有完成收敛,则会在源节点(故障节点或者链路的前一节点)和备份路径上的设备之间形成环路,直到备份路径上的设备完成收敛。
为了解决上述问题,节点或者链路故障以后,首先流量切换到TI-LFA计算的备份路径,然后源节点延迟一段时间收敛,等待备份路径上的设备收敛完成以后,源节点开始收敛。
· SR防微环功能:可以解决正切微环和回切微环的问题。
在网络故障或故障恢复期间,路由都会重新收敛,由于网络节点之间转发状态短暂不一致,各个设备收敛速度不同,可能存在转发微环现象。配置SR的防微环功能后,在IGP收敛期间,设备会按照指定路径转发流量,转发过程不依赖于各设备的路由收敛,从而避免产生环路。
为了保证IGP收敛有足够的时间,可以配置SR防微环延迟时间,在此期间设备按照指定路径转发流量。在网络故障恢复IGP完成收敛后,流量再通过IGP计算的路径转发。
如果同时配置FRR正切防微环功能和SR防微环功能,则SR防微环功能生效。
表1-27 配置IS-IS的FRR正切防微环功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IS-IS IPv4单播地址族视图 |
address-family ipv4 |
- |
开启IS-IS的正切防微环功能 |
fast-reroute microloop-avoidance enable [ level-1 | level-2 ] |
缺省情况下,IS-IS的正切防微环功能处于关闭状态 |
(可选)配置正切防微环延迟时间 |
fast-reroute microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ] |
缺省情况下,正切防微环延迟时间为5000毫秒 |
表1-28 配置IS-IS的SR防微环功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis process-id |
- |
进入IS-IS IPv4单播地址族视图 |
address-family ipv4 |
- |
开启IS-IS的SR防微环功能 |
segment-routing microloop-avoidance enable [ level-1 | level-2 ] |
缺省情况下,IS-IS的SR防微环功能处于关闭状态 |
(可选)配置IS-IS的SR防微环延迟时间 |
segment-routing microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ] |
缺省情况下,IS-IS的SR防微环延迟时间为5000毫秒 |
在完成上述配置后,在任意视图下执行display命令可以显示配置MPLS SR后的运行情况,用户可以通过查看显示信息验证配置的效果。
表1-29 MPLS SR显示和维护
操作 |
命令 |
显示基于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 ] |
显示前缀地址和SID的映射关系 |
display segment-routing mapping-server prefix-sid-map [ ip-address mask-length | verbose ] |
Switch A和Switch B间建立MPLS SR网络,Switch B和Switch C间建立LDP网络,实现Switch A和Switch C间互访。具体需求如下:
· Switch A、Switch B和Switch C运行IS-IS实现三层互通。
· Switch A和Switch B间通过IS-IS SR建立SRLSP,Switch B和Switch C间通过LDP动态建立LSP。
· Switch B作为SRMS,将LDP网络的前缀地址映射为SR网络的SID,并通告给Switch A。
图1-18 MPLS SR to LDP网络互通组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop1 |
1.1.1.1/32 |
Switch B |
Loop1 |
2.2.2.2/32 |
|
Vlan-Int100 |
10.0.0.1/24 |
|
Vlan-Int100 |
10.0.0.2/24 |
Switch C |
Loop1 |
3.3.3.3/32 |
|
Vlan-Int200 |
11.0.0.1/24 |
|
Vlan-Int200 |
11.0.0.2/24 |
|
|
|
(1) 请按照图1-18配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型为wide
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0000.0000.0001.00
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] quit
[SwitchA] interface loopback 1
[SwitchA-LoopBack1] isis enable 1
[SwitchA-LoopBack1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0000.0000.0002.00
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] isis enable 1
[SwitchB-Vlan-interface100] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis enable 1
[SwitchB-Vlan-interface200] quit
[SwitchB] interface loopback 1
[SwitchB-LoopBack1] isis enable 1
[SwitchB-LoopBack1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0000.0000.0003.00
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis enable 1
[SwitchC-Vlan-interface200] quit
[SwitchC] interface loopback 1
[SwitchC-LoopBack1] isis enable 1
[SwitchC-LoopBack1] quit
(3) 配置节点的MPLS LSR ID
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.3
(4) 配置节点的LDP功能
# 配置Switch B。
[SwitchB] mpls ldp
[SwitchB-ldp] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mpls enable
[SwitchB-Vlan-interface200] mpls ldp enable
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
[SwitchC] mpls ldp
[SwitchC-ldp] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] mpls enable
[SwitchC-Vlan-interface200] mpls ldp enable
[SwitchC-Vlan-interface200] quit
(5) 开启IS-IS SR功能
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] address-family ipv4
[SwitchA-isis-1-ipv4] segment-routing mpls
[SwitchA-isis-1-ipv4] quit
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] address-family ipv4
[SwitchB-isis-1-ipv4] segment-routing mpls
[SwitchB-isis-1-ipv4] quit
[SwitchB-isis-1] quit
(6) 配置SRMS
# 在Switch B上开启通告本地SID标签映射消息功能。
[SwitchB] isis 1
[SwitchB-isis-1] address-family ipv4
[SwitchB-isis-1-ipv4] segment-routing mapping-server advertise-local
[SwitchB-isis-1-ipv4] quit
[SwitchB-isis-1] quit
# 在Switch B上配置前缀和SID的映射关系。
[SwitchB] segment-routing
[SwitchB-segment-routing] mapping-server prefix-sid-map 3.3.3.3 32 100
[SwitchB-segment-routing] quit
# 在Switch A上查看IS-IS SR到达Switch C的出标签,IS-IS SR已经为Switch C分配了SID。
[SwitchA] display mpls lsp protocol isis
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
3.3.3.3/32 ISIS 16100/16100 Vlan100
3.3.3.3/32 ISIS -/16100 Vlan100
· 设备Switch A、Switch B、Switch C、Switch D和Switch E运行IS-IS实现互通。
· 设备Switch B、Switch C、Switch D均配置LDP;Switch A、Switch B、Switch D和Switch E配置IS-IS SR功能。
· 当Switch A通过SRLSP将流量转发给Switch E时,需要在Switch B和Switch D上完成MPLS SR和LDP标签的连接。
图1-19 MPLS SR over LDP网络互通组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop1 |
1.1.1.1/32 |
Switch B |
Loop1 |
2.2.2.2/32 |
|
Vlan-Int100 |
10.0.0.1/24 |
|
Vlan-Int100 |
10.0.0.2/24 |
Switch C |
Loop1 |
3.3.3.3/32 |
|
Vlan-Int200 |
11.0.0.1/24 |
|
Vlan-Int100 |
12.0.0.1/24 |
Switch D |
Loop1 |
4.4.4.4/32 |
|
Vlan-Int200 |
11.0.0.2/24 |
|
Vlan-Int100 |
12.0.0.2/24 |
Switch E |
Loop1 |
5.5.5.5/32 |
|
Vlan-Int200 |
13.0.0.1/24 |
|
Vlan-Int200 |
13.0.0.2/24 |
|
|
|
(1) 请按照图1-19配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型为wide
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0000.0000.0001.00
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] quit
[SwitchA] interface loopback 1
[SwitchA-LoopBack1] isis enable 1
[SwitchA-LoopBack1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0000.0000.0002.00
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] isis enable 1
[SwitchB-Vlan-interface100] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis enable 1
[SwitchB-Vlan-interface200] quit
[SwitchB] interface loopback 1
[SwitchB-LoopBack1] isis enable 1
[SwitchB-LoopBack1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0000.0000.0003.00
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis enable 1
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis enable 1
[SwitchC-Vlan-interface200] quit
[SwitchC] interface loopback 1
[SwitchC-LoopBack1] isis enable 1
[SwitchC-LoopBack1] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 00.0000.0000.0004.00
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 100
[SwitchD-Vlan-interface100] isis enable 1
[SwitchD-Vlan-interface100] quit
[SwitchD] interface vlan-interface 200
[SwitchD-Vlan-interface200] isis enable 1
[SwitchD-Vlan-interface200] quit
[SwitchD] interface loopback 1
[SwitchD-LoopBack1] isis enable 1
[SwitchD-LoopBack1] quit
# 配置Switch E。
<SwitchE> system-view
[SwitchE] isis 1
[SwitchE-isis-1] network-entity 00.0000.0000.0005.00
[SwitchE-isis-1] cost-style wide
[SwitchE-isis-1] quit
[SwitchE] interface vlan-interface 200
[SwitchE-Vlan-interface200] isis enable 1
[SwitchE-Vlan-interface200] quit
[SwitchE] interface loopback 1
[SwitchE-LoopBack1] isis enable 1
[SwitchE-LoopBack1] quit
(3) 配置节点的MPLS LSR ID
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.3
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.4
# 配置Switch E。
[SwitchE] mpls lsr-id 5.5.5.5
(4) 配置节点的LDP功能
# 配置Switch B。
[SwitchB] mpls ldp
[SwitchB-ldp] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mpls enable
[SwitchB-Vlan-interface200] mpls ldp enable
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
[SwitchC] mpls ldp
[SwitchC-ldp] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] mpls enable
[SwitchC-Vlan-interface100] mpls ldp enable
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] mpls enable
[SwitchC-Vlan-interface200] mpls ldp enable
[SwitchC-Vlan-interface200] quit
# 配置Switch D。
[SwitchD] mpls ldp
[SwitchD-ldp] quit
[SwitchD] interface vlan-interface 100
[SwitchD-Vlan-interface1001] mpls enable
[SwitchD-Vlan-interface100] mpls ldp enable
[SwitchD-Vlan-interface100] quit
(5) 开启IS-IS SR功能
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] address-family ipv4
[SwitchA-isis-1-ipv4] segment-routing mpls
[SwitchA-isis-1-ipv4] quit
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] address-family ipv4
[SwitchB-isis-1-ipv4] segment-routing mpls
[SwitchB-isis-1-ipv4] quit
[SwitchB-isis-1] quit
# 配置Switch D。
[SwitchD] isis 1
[SwitchD-isis-1] address-family ipv4
[SwitchD-isis-1-ipv4] segment-routing mpls
[SwitchD-isis-1-ipv4] quit
[SwitchD-isis-1] quit
# 配置Switch E。
[SwitchE] isis 1
[SwitchE-isis-1] address-family ipv4
[SwitchE-isis-1-ipv4] segment-routing mpls
[SwitchE-isis-1-ipv4] quit
[SwitchE-isis-1] quit
(6) 配置Switch A、Switch B、Switch D和Switch E的前缀SID索引
# 配置Switch A。
[SwitchA] interface loopback 1
[SwitchA-LoopBack1] isis prefix-sid index 10
[SwitchA-LoopBack1] quit
# 配置Switch B。
[SwitchB] interface loopback 1
[SwitchB-LoopBack1] isis prefix-sid index 20
[SwitchB-LoopBack1] quit
# 配置Switch D。
[SwitchD] interface loopback 1
[SwitchD-LoopBack1] isis prefix-sid index 40
[SwitchD-LoopBack1] quit
# 配置Switch E。
[SwitchE] interface loopback 1
[SwitchE-LoopBack1] isis prefix-sid index 50
[SwitchE-LoopBack1] quit
# 在Switch B上查看LDP标签分配情况。
[SwitchB] 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/LSINDEX
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 Vlan200
2175/3 11.0.0.2 Vlan200
4.4.4.4/32 -/2174 11.0.0.2 Vlan200
2174/2174 11.0.0.2 Vlan200
5.5.5.5/32 -/2172 11.0.0.2 Vlan200
2172/2172 11.0.0.2 Vlan200
# 在Switch B上查看IS-IS SR到达Switch D和Switch E的出标签关联上了LDP标签。
[SwitchB] display mpls lsp protocol isis
FEC Proto In/Out Label Out Inter/NHLFE/LSINDEX
1.1.1.1/32 ISIS 16010/3 Vlan100
1.1.1.1/32 ISIS -/3 Vlan100
2.2.2.2/32 ISIS 16020/- -
4.4.4.4/32 ISIS 16040/2174 Vlan200
4.4.4.4/32 ISIS -/2174 Vlan200
5.5.5.5/32 ISIS 16050/2172 Vlan200
5.5.5.5/32 ISIS -/2172 Vlan200
· 设备Switch A、Switch B和Switch C运行IS-IS实现互通。
· Switch A、Switch B和Switch C配置IS-IS SR功能。
· 当设备Switch A和Switch B之间链路Link A故障,链路Link B上存在环路,流量无法通过Switch C转发到目的节点Switch B。通过部署TI-LFA FRR消除环路,同时使流量可以快速切换到链路Link B。
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Loop1 |
1.1.1.1/32 |
Switch B |
Loop1 |
2.2.2.2/32 |
|
Vlan-Int100 |
12.12.12.1/24 |
|
Vlan-Int101 |
24.24.24.1/24 |
|
Vlan-Int200 |
13.13.13.1/24 |
|
Vlan-Int200 |
13.13.13.2/24 |
Switch C |
Loop1 |
3.3.3.3/32 |
|
|
|
|
Vlan-Int100 |
12.12.12.2/24 |
|
|
|
|
Vlan-Int101 |
24.24.24.2/24 |
|
|
|
(1) 请按照图1-20配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置IS-IS协议实现网络层互通,开销值类型为wide
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0000.0000.0001.00
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] isis cost 10
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] isis enable 1
[SwitchA-Vlan-interface200] isis cost 10
[SwitchA-Vlan-interface200] quit
[SwitchA] interface loopback 1
[SwitchA-LoopBack1] isis enable 1
[SwitchA-LoopBack1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0000.0000.0002.00
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] isis enable 1
[SwitchB-Vlan-interface101] isis cost 20
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis enable 1
[SwitchB-Vlan-interface200] isis cost 10
[SwitchB-Vlan-interface200] quit
[SwitchB] interface loopback 1
[SwitchB-LoopBack1] isis enable 1
[SwitchB-LoopBack1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0000.0000.0003.00
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis enable 1
[SwitchC-Vlan-interface100] isis cost 10
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 101
[SwitchC-Vlan-interface101] isis enable 1
[SwitchC-Vlan-interface101] isis cost 20
[SwitchC-Vlan-interface101] quit
[SwitchC] interface loopback 1
[SwitchC-LoopBack1] isis enable 1
[SwitchC-LoopBack1] quit
(3) 配置MPLS TE
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls te
[SwitchA-te] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] mpls enable
[SwitchA-Vlan-interface100] mpls te enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] mpls enable
[SwitchA-Vlan-interface200] mpls te enable
[SwitchA-Vlan-interface200] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls te
[SwitchB-te] quit
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] mpls enable
[SwitchB-Vlan-interface101] mpls te enable
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] mpls enable
[SwitchB-Vlan-interface200] mpls te enable
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.3
[SwitchC] mpls te
[SwitchC-te] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] mpls enable
[SwitchC-Vlan-interface100] mpls te enable
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 101
[SwitchC-Vlan-interface101] mpls enable
[SwitchC-Vlan-interface101] mpls te enable
[SwitchC-Vlan-interface101] quit
(4) 开启IS-IS SR功能,并开启邻接标签分配功能
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] address-family ipv4
[SwitchA-isis-1-ipv4] segment-routing mpls
[SwitchA-isis-1-ipv4] segment-routing adjacency enable
[SwitchA-isis-1-ipv4] quit
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] address-family ipv4
[SwitchB-isis-1-ipv4] segment-routing mpls
[SwitchB-isis-1-ipv4] segment-routing adjacency enable
[SwitchB-isis-1-ipv4] quit
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] address-family ipv4
[SwitchC-isis-1-ipv4] segment-routing mpls
[SwitchC-isis-1-ipv4] segment-routing adjacency enable
[SwitchC-isis-1-ipv4] quit
[SwitchC-isis-1] quit
(5) 配置Switch A、Switch B和Switch C的前缀SID索引
# 配置Switch A。
[SwitchA] interface loopback 1
[SwitchA-LoopBack1] isis prefix-sid index 10
[SwitchA-LoopBack1] quit
# 配置Switch B。
[SwitchB] interface loopback 1
[SwitchB-LoopBack1] isis prefix-sid index 20
[SwitchB-LoopBack1] quit
# 配置Switch C。
[SwitchC] interface loopback 1
[SwitchC-LoopBack1] isis prefix-sid index 30
[SwitchC-LoopBack1] quit
(6) 配置IS-IS TI-LFA FRR
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] address-family ipv4
[SwitchA-isis-1-ipv4] fast-reroute lfa
[SwitchA-isis-1-ipv4] fast-reroute ti-lfa
[SwitchA-isis-1-ipv4] fast-reroute microloop-avoidance enable
[SwitchA-isis-1-ipv4] segment-routing microloop-avoidance enable
[SwitchA-isis-1-ipv4] quit
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] address-family ipv4
[SwitchB-isis-1-ipv4] fast-reroute lfa
[SwitchB-isis-1-ipv4] fast-reroute ti-lfa
[SwitchB-isis-1-ipv4] fast-reroute microloop-avoidance enable
[SwitchB-isis-1-ipv4] segment-routing microloop-avoidance enable
[SwitchB-isis-1-ipv4] quit
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] address-family ipv4
[SwitchC-isis-1-ipv4] fast-reroute lfa
[SwitchC-isis-1-ipv4] fast-reroute ti-lfa
[SwitchC-isis-1-ipv4] fast-reroute microloop-avoidance enable
[SwitchC-isis-1-ipv4] segment-routing microloop-avoidance enable
[SwitchC-isis-1-ipv4] quit
[SwitchC-isis-1] quit
# 在Switch A上查看2.2.2.2/32路由,可以看到TI-LFA备份下一跳信息。
[SwitchA] 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 Vlan200 0x00000103
Nib ID : 0x14000005 OutLabel : 16020 OutLabelFlag: I
LabelSrc : SR
TI-LFA:
Interface : Vlan100
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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!