作者简介:盛科网络 王俊杰,成伟
1.SRv6 Unified SID技术
1.1.Segment Routing数据面
Segment Routing是一种源路由技术,基于SDN设计理念,也分为转发面和控制面。其中,Segment Routing转发面分为:SR MPLS数据面,SRv6数据面。SRv6是基于IPv6扩展的SR解决方案。SR MPLS沿用MPLS转发机制,自然升级演进,并已经在传输网络得到广泛应用。SRv6背靠IPv6数据面进一步增强了网络可编程能力,有利于支持网络和业务可编程,打通端到端的网络通道。
1.2.SRv6 Unified SID报文格式
标准SRv6报文沿用了IPv6地址格式,其中SID长度为128bit,如下图所示;
SRv6 Unified SID基于原生的SRH扩展,不改变任何原生SRH的处理机制,通过在标准SRH Header扩展了2bit Flags字段,保持与原生的SRv6的兼容。相对于128 bit的SRv6 Segment,使用32bit Unified SID能降低报文头部开销。
如下图为 4跳SRv6 Unified SID报文格式示意图:
2.SRv6 Unified SID转发节点
2.1.SRv6首节点转发描述
当SRv6首节点SW-A从入端口接收到数据包,解析报文后,获取到IPv6转发信息,如果接收到的IPv6报文的MACDA与本节点设备路由MAC相同,表示执行路由表项查找。如果路由转发表项查找结果为匹配,且路由下一跳为SRv6中间节点,SW-A会根据路由下一跳完成SRv6外层头封装,以及SRH和Unified SID。最后,将完成编辑SRv6 Unified SID的数据包从出端口转发到下一跳SRv6节点。
2.2.SRv6中间节点转发描述
当SRv6中间节点SW-B从入端口接收到数据包,先根据报文特征解析该SRv6报文,并获取到Unified SID等转发信息。SW-B会根据SRv6报文携带的Unified SID查找本地SID转发表项,如果查找的结果为匹配,且SRH中的Segment Left大于0,执行Segment Left减一。同时,通过更新后Segment Left索引到Next Unified USID,查找USID转发表项。如果USID查找结果为匹配,就将Next Unified USID对应值映射到外层IPv6 DA,但IPv6 SA保持不变。如果Unified SID查找结果为未匹配,只需要根据外层IPv6路由转发即可,不需要执行SRv6处理。
2.3.SRv6 PSP节点转发描述
如果SRv6转发路径上的设备支持倒数第二跳弹出(PSP),当Segment Left减到1,就会执行SRH弹出。如果该设备节点不支持PSP,就只会将Segment Left更新到0,该节点不会弹出SRH,SRH弹出操作会在SRv6转发路径的最后一跳完成。
3.SRv6 Unified SID测试与组网
本次SRv6 Unified SID测试组网由三台基于盛科芯片平台的交换设备组成,转发路径为SW-A SW-B SW-C SW-B SW-A,测试验证对4跳SRv6 Unified SID能力的支持,证明了SRv6 Unified SID的灵活性,从而加速SRv6在网络中的应用。
4.SRv6测试与转发
以三台交换机设备测试四跳能力为例,转发路径为SW-A SW-B SW-C SW-B SW-A。在SW-A上完成对IPv6报文到SRv6的封装编辑,其中Segment Left为3,Unified SID为(B,C,B,A)。中间节点SW-B,SW-C更新Segment Left,逐跳减一,Unified SID保持为(B,C,B,A)。SW-B使能PSP,当接收到该SRv6报文的Segment Left为1时,执行弹出SRH操作。