实验内容
通过思科的xrv镜像在EVE环境下学习SR-TE Policy,实验我用的6.6.3的镜像,后面几个实验也会用这个镜像。
实验镜像下载地址:链接:https://pan.baidu.com/s/1rmyaeOnjZCH57hTaOo1BDw
提取码:xibz
用户名/密码:admin/admin
拿走不谢!
拓扑图
这次只用到PE1,PE2,P1-4,六台设备。
Loopback IP:PE1(1.1.1.1),P1(2.2.2.2),P2(3.3.3.3),P3(4.4.4.4),P4(5.5.5.5),PE2(6.6.6.6)
实验设备的配置:配置 https://download.csdn.net/download/qq_33681684/85132999
配置流程:
- 配置SRGB
- 在IGP(is-is)中使能segment routing和Node ID
- 配置SR-TE Policy,这次只配置了显性路径
SRGB&SRLB
SRGB
IOS XR中的默认SRGB大小为8000,从标签值16000开始。默认范围是16000到23999。假设每个路由器有一个loopbakc接口前缀,整网可以分配具有8000个路由器的网络前缀SID— prefix SID。
例如:考虑一个SRGB范围从16000到23999,前缀1.1.1.65/32(prefix-SID索引为65)被分配标签值16065 。
为了保持配置简单明了,思科官方文档建议您使用相同范围的SRGB。
**注意:**定义非默认SRGB范围时,可能存在标签冲突(例如,如果标签已经存在)在新的SRGB范围内进行静态或动态分配)。下面的系统日志消息表明标签冲突:
%ROUTING-ISIS-4-SRGB_ALLOC_FAIL : SRGB allocation failed: ‘SRGB reservation not
successful for [16000,80000], SRGB (16000 80000, SRGB_ALLOC_CONFIG_PENDING, 0x2)
(So far 16 attempts). Make sure label range is free’
要删除此冲突,必须reload路由器以释放当前分配的标签并分配新的SRGB。
SRLB
SRLB是为手动分配数据而保留的一系列标签值本地段,例如邻接段标识符(adj SID)、第2层邻接SID、绑定SID(BSID)。这些标签具有局部意义,仅在分配标签的节点上有效。
默认SRLB的大小为1000,从标签值15000开始;因此,默认的SRLB范围从15000到15999 。
同样定义非默认SRLB范围时,可能存在标签冲突(例如,如果标签已经存在)在新的SRLB范围内进行静态或动态分配)。在这种情况下,新的SRLB范围将已接受,但未应用(待定状态)。以前的SRLB范围(激活)将继续使用。
要删除此冲突,必须reload路由器以释放当前分配的标签并分配新的SRLB。
IOS XR中的标签分配原则
在IOS XR中,本地标签分配由标签交换数据库(LSD)管理。MPLS应用必须注册为LSD的客户端才能分配标签。大多数MPLS应用程序(例如:LDP、RSVP、L2VPN,BGP[LU,VPN],IS和OSPF[Adj SID],SR-TE[Binding SID])使用LSD动态分配的标签。
对于支持Segment Routing的IOS XR软件版本,LSD保留默认的SRLB标签范围(15000至15999)和默认SRGB标签范围(16000至23999),即使未启用Segment Routing 。
LSD分配原则:
- Special use: 0-15
- MPLS static: 16 to 14,999
- SRLB (preserved): 15,000 to 15,999
- SRGB (preserved): 16,000 to 23,999
- Dynamic: 24,000 to max
本次实验采用默认SRLB和SRGB,因此不用这里再做配置
Segment Routing for IS-IS
enable SR for IS-IS
本次实验只是模拟了简单的IS-IS单区域IPv4情况。
IS-IS必须配置metric-style wide,以支持扩展TLV 。
IS-IS IPv4地址簇视图下segment-routing mpls,激活segment-routing还必须满足以下几个条件:
- 在所有接口上启用MPLS转发,其中IS-IS处于活动状态;
- prefix-SIDs 能够在本地被学习到,在转发平面被编排;
- 本地配置的prefix-SIDs被通告出去。
在IS-IS的Loopback接口配置prefix-SID
在Loopback下配置prefix-SID以节点的环回地址作为前缀的接口。前缀段控制着沿途的流量到达目的地的最短路径。
本次实验以基于SRGB+index的方式配置prefix-SID,即
PE1(prefix-sid index 1),P1(prefix-sid index 2),P2(prefix-sid index 3),P3(prefix-sid index 4),P4(prefix-sid index 5)PE2(prefix-sid index 6)。
配置Adjacency SID
adj-SID可以从动态标签范围动态分配,也可以在SRLB范围自定义。
adj-SID分配是不可预知的并且没有连贯性,在路由器或进程重启后会重新分配,
本次实验adj-SID动态分配
以PE1为例,isis配置:
isis配置完后,状态up
PE1扩散的LSP包含了:prefix-sid,adj-sid,SRGB,SLGB这些信息。
SR-TE Policy
SR-TE Policy用于引导流量,SR-TE Policy的路径是由一个SID列表表示。每个段都是从源到目标的端到端路径,并指示网络中的路由器
遵循指定的路径,而不是遵循IGP计算的最短路径。如果一个数据包被引导在SR-TE策略中,头端将SID列表的路径压入标签。网络的其余部分执行标签转发弹出的动作。
SR-TE Policy 被标识为有序列表(head-end, color, end-point):
- head-end –SR-TE策略的实例化位置
- color –区分同一节点对的两个或多个策略的数值(头端-终点)
- end-point ——SR-TE Policy的目的地
每一个SR-TE Policy都有一个color值,相同端点之间的policy其color值是唯一的。
一个SR-TE Policy有一个或多个候选路径,候选路径可以是一个SID列表或加权的SID列表,候选路径可以是动态的或者显性路径。
动态路径:头端计算,生成一个SID列表或一组SID列表。当拓扑发生变化时,将计算一条新路径。
显性路径:通告手动自定义SID列表。
SR-TE Policy会将最优的候选路径放入RIB/FIB。
我们配置一条显性路径。
PE1-P1-P2-P3-P4-PE2,所对应的prefix-SID就是:16001-16002-16003-16004-16005-16006
SR-TE Policy只需在头结点PE1配置,另外反向路径同理在PE2上配置
配置完成后可以看到转发路径标签栈和生成的Name。
流量导入
我们在PE1和PE2分别配置10.1.1.1/32和10.1.1.6/32,然后静态方式在PE1把10.1.1.6/32流量导入 SR-TE Policy:srte_c_10_ep_6.6.6.6,PE2类似
配置后检查路由表,10.1.1.6/32 下一跳进srte_c_10_ep_6.6.6.6
trace 10.1.1.6,可以看到标签栈。
在PE1 ping 10.1.1.6,同时wireshark也能看见封装的标签。
暂时到这里,后续我们在修改动态路径。