昨天发了一篇Segment Routing的RFC文档,通过文档我们大概可以了解到Segment Routing(SR)是一种段路由协议,也称为源路由协议,由源节点指定转发路径,并将路径转换成一个有序的Segment列表(SID列表)封装到报文头中。路径的中间节点只需要根据报文头中的Segment列表进行转发,就像MPLS中那样,实际上,现阶段的SR也主要是通过MPLS TE来实现的。
SR 架构可以在各种数据平面上实例化,RFC8402介绍了SR的两个数据平面实例:SR over MPLS(SR-MPLS)和SR over IPv6(SRv6),在华三的叫法是MPLS SR和IPv6 SR。
SR可以直接应用于MPLS架构,而无需更改转发平面,段被编码为 MPLS 标签。SR策略被实例化为标签堆栈,要处理的段(活动段)位于堆栈的顶部,活动段处理完成后,相关标签从堆栈中弹出。
SR可以通过一种称为SR包头(SR Header,SRH)[RFC8754,太长了,别急]的新型路由包头应用于IPv6架构,指令与段相关联并编码为 IPv6 地址。SRv6 段也称为 SRv6 SID,SR策略被实例化为路由包头中SRv6 SID的有序列表。活动段由数据包的目的地址(DA)指示,下一个活动段由SRH中的SegmentsLeft(SL) 指针指示。当一个 SRv6 SID 完成时,SL 递减,下一个段被复制到 DA,当数据包在SR策略上被引导时,相关的 SRH 被添加到数据包中。
SR over MPLS(SR-MPLS或称MPLS SR)具有以下优点:
1、直接应用现有的MPLS框架进行转发,无需对网络进行改造。
2、通过对现有的IGP协议和BGP协议进行扩展和优化,可以直接利用IGP协议和BGP协议来进行标签的分发。
3、能够更加简单地实现MPLS TE等网络功能,解决了现有网络为实现上述功能而带来的部署路由协议过多、部署过程复杂等问题。
今天来联系一下H3C官网的“静态配置Segment配置举例”实验,配置的时候发现第一步竟然是配置IS-IS协议,那今天先来完成IS-IS协议的配置吧。
组网需求
设备VSR1、VSR2、VSR3、VSR4和VSR5运行IS-IS协议。
本处不做SR相关配置要求,放到下次实验。具体组网情况参照组网图及接口地址分配表。
实验环境
VMWare ESXi 6.7.0(ProLiant DL360 Gen9,48核心,128G内存)
H3C VSR1000(Version 7.1.064, Release 0621P18,4核心,8G内存)
Windows 7旗舰版(测试用虚拟机,8核心,16G内存)
组网图
静态配置Segment组网图如下。
设备的链路连接、接口及接口地址配置情况如下表:
配置步骤
今天的任务主要是配置IS-IS,先回顾一下IS-IS相关信息。
IS-IS属于IGP(Interior Gateway Protocol,内部网关协议),用于自治系统内部。IS-IS是一种链路状态协议,使用SPF(Shortest Path First,最短路径优先)算法进行路由计算。为了支持大规模的路由网络,IS-IS在路由域内采用两级的分层结构。一个大的路由域通常被分成多个区域(Areas)。一般来说,将Level-1路由器部署在区域内,Level-2路由器部署在区域间,Level-1-2路由器部署在Level-1路由器和Level-2路由器的中间。
为了方便起见,我们将所有路由器均配置为Level-1路由器,负责区域内的路由,这样所有的路由器属于同一区域,都能形成邻居关系。需要注意:属于不同区域的Level-1路由器不能形成邻居关系。
IS-IS的配置主要包括配置路由器的Level级别和网络实体名称,并在指定接口(所有接口)上配置使能IS-IS功能,掌握了这两个基本操作,来直接上配置。
VSR1
# isis 1 is-level level-1 network-entity 10.0000.0000.0001.00 # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 isis enable 1 # interface GigabitEthernet2/0 ip address 12.1.1.1 255.255.255.0 isis enable 1 # interface GigabitEthernet3/0 ip address 192.168.11.1 255.255.255.0 isis enable 1
VSR2
# isis 1 is-level level-1 network-entity 10.0000.0000.0002.00 # interface LoopBack0 ip address 2.2.2.2 255.255.255.255 isis enable 1 # interface GigabitEthernet2/0 ip address 12.1.1.2 255.255.255.0 isis enable 1 # interface GigabitEthernet3/0 ip address 23.1.1.2 255.255.255.0 isis enable 1 # interface GigabitEthernet4/0 ip address 32.1.1.2 255.255.255.0 isis enable 1
VSR3
# isis 1 is-level level-1 network-entity 10.0000.0000.0003.00 # interface LoopBack0 ip address 3.3.3.3 255.255.255.255 isis enable 1 # interface GigabitEthernet2/0 ip address 23.1.1.3 255.255.255.0 isis enable 1 # interface GigabitEthernet3/0 ip address 32.1.1.3 255.255.255.0 isis enable 1 # interface GigabitEthernet4/0 ip address 34.1.1.3 255.255.255.0 isis enable 1 # interface GigabitEthernet5/0 ip address 35.1.1.3 255.255.255.0 isis enable 1
VSR4
# isis 1 is-level level-1 network-entity 10.0000.0000.0004.00 # interface LoopBack0 ip address 4.4.4.4 255.255.255.255 isis enable 1 # interface GigabitEthernet2/0 ip address 34.1.1.4 255.255.255.0 isis enable 1 # interface GigabitEthernet3/0 ip address 192.168.14.1 255.255.255.0 isis enable 1