正文共:1234 字 11 图,预估阅读时间:2 分钟
其实前面关于IPv6铺垫了这么久,就是想引出SRv6来。关于SR(Segment Routing,段路由)的知识我们也介绍过不少了,主要是规范文档,最主要的几篇就是(SR?段路由?源路由?Segment Routing Architecture、SRv6之SRH:IPv6 段路由报文头、SRv6的网络编程实现)。SR架构可以在各种数据平面上实例化,RFC8402介绍了SR的两个数据平面实例:SR over MPLS(SR-MPLS)和SR over IPv6(SRv6)。
关于SR over MPLS,我们之前也进行了简单的实验(Segment Routing之static-sr-mpls:静态配置Segment配置),从实验中我们可以很直接的看出,SR over MPLS一定程度上讲,就是MPLS TE的变形。前面介绍过,SR over MPLS具有以下优点:
1、直接应用现有的MPLS框架进行转发,无需对网络进行改造。
2、通过对现有的IGP协议和BGP协议进行扩展和优化,可以直接利用IGP协议和BGP协议来进行标签的分发。
3、能够更加简单地实现MPLS TE等网络功能,解决了现有网络为实现上述功能而带来的部署路由协议过多、部署过程复杂等问题。
本来是做好了用VPP来配置SRv6的打算了,但是突然发现近期H3C更新了支持SRv6的VSR,那还等什么,趁热乎赶紧学习学习。
组网拓扑还是继续沿用之前的拓扑。
本次实验,SRv6的底层还是使用的IS-ISv6协议,前面也见识了IS-ISv6和OSPFv3相比所具备的更准确的路由能力。
配置IS-IS链路开销
缺省情况下,IS-IS有三种方式来配置接口的链路开销值,按照选择顺序依次为:1、在接口视图下为指定接口配置的链路开销值;2、在系统视图下全局配置的链路开销值,该配置将对该IS-IS进程关联的接口同时生效;3、自动计算开销值。
从上次案例中,我们可以看到,直连路由的开销值为10,非直连路由的开销值为20,可以得出,每段链路的开销值均为10。
缺省情况下,IS-IS只收发采用narrow方式的报文,此时接口开销值可配置范围为1-63,narrow-compatible和compatible也是一样。所以建议在配置通过IS-IS通告SRv6 SID时,将IS-IS开销值的类型修改为wide、compatible或wide-compatible,此时接口开销值可配置范围为1-16777215。
VSR1
以VSR1为例,我们配置IS-IS开销值的类型为wide,并按拓扑所示配置IS-IS接口的链路开销值。
#
isis 1
is-level level-1
cost-style wide
network-entity 10.0000.0000.0001.00
#
address-family ipv6 unicast
#
interface GigabitEthernet2/0
isis ipv6 enable 1
isis cost 20
ipv6 address 1::1/64
#
interface GigabitEthernet3/0
isis ipv6 enable 1
isis cost 20
ipv6 address 2::1/64
参考VSR1的配置,配置剩余3台VSR。
VSR2
#
isis 1
is-level level-1
cost-style wide
network-entity 10.0000.0000.0002.00
#
address-family ipv6 unicast
#
interface GigabitEthernet2/0
isis ipv6 enable 1
isis cost 30
ipv6 address 3::1/64
#
interface GigabitEthernet3/0
isis ipv6 enable 1
isis cost 40
ipv6 address 4::1/64
VSR3
#
isis 1
is-level level-1
cost-style wide
network-entity 10.0000.0000.0003.00
#
address-family ipv6 unicast
#
interface GigabitEthernet2/0
isis ipv6 enable 1
isis cost 20
ipv6 address 1::2/64
#
interface GigabitEthernet3/0
isis ipv6 enable 1
isis cost 30
ipv6 address 3::2/64
VSR4
#
isis 1
is-level level-1
cost-style wide
network-entity 10.0000.0000.0004.00
#
address-family ipv6 unicast
#
interface GigabitEthernet2/0
isis ipv6 enable 1
isis cost 20
ipv6 address 2::2/64
#
interface GigabitEthernet3/0
isis ipv6 enable 1
isis cost 40
ipv6 address 4::2/64
此时查看IS-IS路由信息,发现开销值已经变化了。
配置IS-IS SRv6
VSR1
接下来我们开启设备的SRv6功能,并配置标识SID所属网段的Locator。
需要注意的是,不同Locator的名称不能相同;不能为不同Locator配置相同的IPv6地址前缀和前缀长度,且不同Locator的IPv6地址前缀不能有重叠部分;SRv6视图下的Locator段内存在正在被使用的动态SRv6 SID时,不能关闭SRv6功能和删除该Locator段。
#
segment-routing ipv6
locator 111 ipv6-prefix 11:: 64 static 32
通过引用Locator段,IGP协议可以通告Locator段内的SRv6 SID。所以在IS-IS的IPv6地址族视图下配置引用Locator段。
#
isis 1
#
address-family ipv6 unicast
segment-routing ipv6 locator 111
然后配置使能IS-IS协议的FRR(Fast Reroute,快速重路由)功能,同时使用LFA(Loop Free Alternate)算法和TI-LFA(Topology Independent Loop Free Alternate)算法计算出一条开销最小且无环的备份链路。
#
isis 1
#
address-family ipv6 unicast
fast-reroute lfa
fast-reroute ti-lfa
segment-routing ipv6 locator 111
参考VSR1的配置,配置剩余3台VSR。
VSR2
#
segment-routing ipv6
locator 222 ipv6-prefix 22:: 64 static 32
#
isis 1
#
address-family ipv6 unicast
fast-reroute lfa
fast-reroute ti-lfa
segment-routing ipv6 locator 222
VSR3
#
segment-routing ipv6
locator 333 ipv6-prefix 33:: 64 static 32
#
isis 1
#
address-family ipv6 unicast
fast-reroute lfa
fast-reroute ti-lfa
segment-routing ipv6 locator 333
VSR4
#
segment-routing ipv6
locator 444 ipv6-prefix 44:: 64 static 32
#
isis 1
#
address-family ipv6 unicast
fast-reroute lfa
fast-reroute ti-lfa
segment-routing ipv6 locator 444
验证配置
查看设备VSR1的IS-IS进程信息。
可以看到进程中的Segment routing IPv6已经处于使能状态,并在Fast-reroute TI-LFA也处于使能状态。
在VSR1上查看IS-IS SRv6能力信息。
可以看到,进程中的4台VSR均使能了IS-IS SRv6。
在VSR1上查看IS-IS SRv6的Locator路由信息。
在VSR1上查看SRv6转发信息。
需要注意的是,这里的标志虽然是NA,但不是空的意思,需要拆开来看,分别表示N(出接口/下一跳转发)和A(在用的转发信息)。转发信息中包括出接口、下一跳地址和SID列表信息。
查看设备VSR1的SRv6 Locator信息。
End SID用于标识网络中的某个目的地址前缀。在VSR1上查看SRv6中End类型的Local SID转发表信息。
可以看到两个SRv6 SID的操作方式是不通的,PSP表示倒数第二个SRv6节点移除SRH,NOPSP表示倒数第二个SRv6节点不移除SRH。
如果IS-IS邻居关系震荡,为设备间链路动态分配的End.X SID会频繁地删除和申请,从而导致邻居间丢包。缺省情况下,设备上开启了动态End.X SID延迟删除功能,当设备间邻居关系断开时,暂不删除动态分配的End.X SID,保证流量正常转发。默认延迟删除时间为1800秒,当达到延迟删除时间后,如果设备间邻居关系仍然处于断开状态,则删除动态分配的End.X SID。
在VSR1上查看SRv6中End.X类型的Local SID转发表信息。
可以看到,End类型和End.X类型的Local SID转发表信息对应动态SRv6 SID起始值11::1:0:0及之后的5个SID。
在VSR1上查看去往VSR2的接口地址3::1/64和4::1/64的路由信息。
可以看到TI-LFA计算的备份出接口和备份下一跳地址信息。
长按二维码
关注我们吧