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,软件定义网络)思想。
SRv6通过在IPv6报文头中插入一个路由扩展头SRH(Segment Routing Header)来携带分段传输信息来实现分段路由。SRH 中包含了具备IPv6 地址特征的SID列表表示的Segment List,报文的目的地址将根据Segment List逐段地被更新,从而完成逐段转发。
SRv6的报文格式如图1所示。
图1 SRv6报文格式
SRH 中包含的各字段解释如下:
图2 SRH扩展头字段含义
可路由的128bits的SID通常被划分为Locator、Function和Arguments三部分,三者的各自长度根据实际需求灵活定义。
图3 Segment Id格式
SRH中直接采用IPv6地址表示Segment,可以灵活的支持非常多的类型,将不同类型的Segment结合在一起使用以完成特定的功能。大体上,Segment可以分为两类:表示路径信息的Segment;表示业务信息的Segment。
图4 segment类型
图5 SRv6转发拓扑图
P1和P2模拟骨干网设备,PE1和PE2模拟骨干网边缘设备,CE1和CE2客户接入设备Host1和Host2做client和server。在转发过程中,目的IP、Segment list封装、SL、Last Entry等字段变化可以看pcap包。
Host1->CE1->PE1->P1->CE2->Host2
CE1:
PE1:
P1:
PE2:
CE2:
Host2>CE2->PE2->P2->CE1->Host1
CE2:
PE2:
P2:
PE1:
CE1:
通过云网关对流量进行APN6封装,并通过引流策略将定制业务流量导入SRv6加速网络,实现家宽业务的智能调度。
IPv6一直是各个国家高度关注的问题,也是下一代互联网发展的基础,也是我国战略性新兴产业中新一代信息技术的一项重要新型技术应用。随着SRv6技术的成熟,将会加速IPv6在现网的应用部署。
作为新一代IP承载协议,SRv6可以简化并统一传统的复杂网络协议,将会在算力网络、网络智能调度、服务编排等方面在家宽业务场景中有着广泛的应用。