1、SRv6概念
Segment Routing(SR)是一种源路由技术,它为每个节点或链路分配Segment ID,头节点把这些Segment ID组合起来形成Segment序列(Segment List),指引报文按照Segment序列进行转发,从而实现网络的编程能力。
目前Segment Routing技术主要有SR-MPLS和SRv6两种实现。其中,SR-MPLS是基于MPLS数据平面的Segment Routing实现,其SID为MPLS标签(Label);SRv6(Segment Routingover IPv6,基于Ipv6的分段路由)则是基于IPv6数据平面的Segment Routing实现,其SID为IPv6地址。
SRv6结合了Segment Routing的源路由优势和IPv6的所有特质,并且具有多重网络编程空间,符合SDN(Software Defined Network,软件定义网络)思想。
2、SRv6实现原理
2.1 SRH封装
SRv6通过在IPv6报文头中插入一个路由扩展头SRH(Segment Routing Header)来携带分段传输信息来实现分段路由。SRH 中包含了具备IPv6 地址特征的SID列表表示的Segment List,报文的目的地址将根据Segment List逐段地被更新,从而完成逐段转发。
SRv6的报文格式如图1所示。
图1 SRv6报文格式
SRH 中包含的各字段解释如下:
图2 SRH扩展头字段含义
2.2 SID定义
可路由的128bits的SID通常被划分为Locator、Function和Arguments三部分,三者的各自长度根据实际需求灵活定义。
- Locator是分配给一个网络节点的网络位置标识,用于路由和转发数据包。
- Function是用来表达该SID要执行的转发行为。在SRv6网络编程中,不同的转发行为由不同的Function来表达。
- Arguments是可选参数,它可以携带指令执行时所需的参数。例如用户标识、应用类型、质量需求等任何其他相关的信息。
图3 Segment Id格式
2.3 Segment类型
SRH中直接采用IPv6地址表示Segment,可以灵活的支持非常多的类型,将不同类型的Segment结合在一起使用以完成特定的功能。大体上,Segment可以分为两类:表示路径信息的Segment;表示业务信息的Segment。
图4 segment类型
3、SRv6转发过程
图5 SRv6转发拓扑图
P1和P2模拟骨干网设备,PE1和PE2模拟骨干网边缘设备,CE1和CE2客户接入设备Host1和Host2做client和server。在转发过程中,目的IP、Segment list封装、SL、Last Entry等字段变化可以看pcap包。
3.1 client访问server上行路径
Host1->CE1->PE1->P1->CE2->Host2
CE1:
PE1:
P1:
PE2:
CE2:
3.2 client访问server下行路径
Host2>CE2->PE2->P2->CE1->Host1
CE2:
PE2:
P2:
PE1:
CE1:
4、SRv6优势
- 部署简单:只需要在端到端部署SRv6策略,无需操作中间传输节点。
- 智能化:通过MP-BGP协议与SDN控制器进行交互,可以自动对整个网络进行智能化调度。
- 可编程:可以根据业务需求对segment进行编程。
- 感知应用:将应用信息带入网络中,使网络及时感知应用类型及需求,以提供智能化和定制化的服务。
- 多种隧道能力:可以支持SRv6 BE、L2VPN、L3VPN
5、SRv6应用场景
5.1 SRv6主要应用场景
5.2 SRv6家庭应用场景
通过云网关对流量进行APN6封装,并通过引流策略将定制业务流量导入SRv6加速网络,实现家宽业务的智能调度。
6、总结和展望
IPv6一直是各个国家高度关注的问题,也是下一代互联网发展的基础,也是我国战略性新兴产业中新一代信息技术的一项重要新型技术应用。随着SRv6技术的成熟,将会加速IPv6在现网的应用部署。
作为新一代IP承载协议,SRv6可以简化并统一传统的复杂网络协议,将会在算力网络、网络智能调度、服务编排等方面在家宽业务场景中有着广泛的应用。