SRv6系列文章(一):SRv6为何那么6?

一、 什么是SRv6?

在认识SRv6之前我们需要先来了解什么是Segment Routing(SR)。Segment Routing是一种基于分段传输的源路由技术。它为每个节点或链路分配Segment,使用SID(Segment Identifier)进行标识。转发路径的头节点把这些SID组合起来形成SID序列(SID路径),指引报文按照SID序列进行转发,从而实现网络的编程和源路由能力。

目前Segment Routing技术主要有SR-MPLS和SRv6两种实现。其中,SR-MPLS是基于 MPLS 数据平面的Segment Routing实现,其SID为MPLS 标签 (Label);SRv6(Segment Routing over IPv6,基于Ipv6的分段路由)则是基于 IPv6 数据平面的Segment Routing实现,其SID为IPv6地址。

SRv6 结合了 Segment Routing 的源路由优势和IPv6 的所有特质,并且具有多重网络编程空间,符合 SDN(Software Defined Network,软件定义网络)思想,是实现意图驱动网络的利器。

二、 SRv6的实现原理

  • SRv6报文格式定义

SRv6通过在 IPv6 报文中插入一个路由扩展头 SRH(Segment Routing Header)来携带分段传输信息来实现分段路由。SRH 中包含了具备 IPv6 地址特征的SID列表表示的 Segment List,报文的目的地址将根据Segment List逐段地被更新,从而完成逐段转发。

SRv6的报文格式如图 1所示。

图 1 SRv6报文格式

如图 1所示,SRH扩展头类型为43,SRv6的Routing Type为4。SRH扩展头的字段定义描述如图 2所示。

图 2 SRH扩展头定义

SRH扩展头的最核心内容是SL(Segment Left)和Segments List 信息,它们共同决定IPv6报文头部的DA(Destination Address,目的地址)内容。Segment List由一系列有序的SID组成。指针 SL最小值是0,最大值等于SRH里的SID个数减1。SID通常被划分为Locator、Function和Arguments三部分:

  • Locator是分配给一个网络节点的网络位置标识,用于路由和转发数据包。
  • Function是用来表达该SID要执行的转发行为。在SRv6网络编程中,不同的转发行为由不同的Function来表达。
  • Arguments是可选参数,它可以携带指令执行时所需的参数。例如用户标识、应用类型、质量需求等任何其他相关的信息。

图 3 Segment Id格式

Locator 、Function和Arguments长度可变,总长度为128bits(即一个IPv6地址的长度)。用户可以根据实际的网络规模来灵活定义三者的长度。

  • SRv6转发过程

从图 1所示的SRv6的报文格式可以看出来,SRv6报文就是IPv6报文,它没有改变原有IPv6报文的封装结构,即使是普通的IPv6设备也可以识别和正确转发。所以SRv6具备Native IPv6,继承了IPv6协议既有优势和特性,使得SRv6对现有IPv6网络具有良好的兼容性。

图 4展示了一个SRv6报文在一个SRv6网络中的传输过程示意。

图 4 SRv6报文转发过程示意

如图 4所示:

  • R1作为SRv6转发路径的头节点,负责将整个转发路径的SID按顺序封装到SRH扩展头的Segment List里。SL的初始值为2,为Segment List长度-1。
  • SRv6报文每经过一个 SRv6 分段处理后,SL字段的值会减1,IPv6 DA也会变换一次,其取值是SL当前指向的 SID。如图中的R2和R3节点转发过程。
  • 当SRv6报文经过普通IPv6路由节点时,该节点会将SRv6报文当作普通IPv6报文进行路由查表转发,SRv6报文保持不变。如图中的R节点转发过程。
  • 当节点收到的SRv6 报文的SL为0时,会执行尾节点操作,即弹出SRH,并执行SID对应的行为。例如图中的R4节点为报文的尾节点,其对应的行为为DT4,即弹出SRH头并使用内层报文DA进行路由查表转发。

三、 SRv6的特点和价值

SRv6是基于IPv6转发平面的分段路由(Segment Routing)技术实现,它结合了源路由(Source Routing)优势和IPv6简洁易扩展的特点,具有其独特技术特点及应用价值:

SRv6主要特点

  • 简化了控制协议:SRv6只采用BGP和IGP,统一了控制协议,降低了网络配置和运维的复杂度。
  • 良好的扩展性:SRv6路径编程是在头结点进行,海量的路径都是依赖于有限的表示链路和节点的Segment的组合,网络中间节点几乎不感知路径状态,具备很高的扩展性。
  • 强大的可编程性:SRv6具备多重可编程空间,尤其是Segment编排具备非常好的灵活性,可以灵活建立满足不同需求的转发路径,释放网络的价值。
  • 更可靠的保护:Segment Routing能提供100%网络覆盖的快速重路由(Fast Re-Route)保护,解决了IP网络长期面临的故障收敛慢的技术难题,能够在保障高可扩展性的同时,同提供完全的可靠性保护。
  • Native IPv6优势SRv6还具备IPv6所有优势,包括地址数量无限、全网唯一、任意点可达的优点。可以实现只要地址可达,可以任意点接入,任意点之间互联。

SRv6主要价值

  • SRv6基于IPv6进行路由转发,没有改变原有IPv6报文的封装结构,使其无缝兼容现有IPv6网络,可以支撑业务快速上线,实现遗留网络的平滑演进和投资保护。
  • SRv6的Native IPv6特性,使得其可以进入到云或数据中心网络,甚至终端,从而可促进云网边端安及业务的融合,从而简化业务部署流程,提升业务开通效率。
  • SRv6不再使用繁杂的控制协议(例如LDP/RSVP-TE协议),简化了网络协议,使网络管理和维护更加简单。
  • EVPN和SRv6的结合,可以使得IP承载网简化归一,打破了MPLS承载网跨域边界,降低了IP承载网部署和运维复杂度,提升了跨域网络体验,为实现智能IP承载网提供了强有力的技术支撑。
  • SRv6的分段路由和源路由特质,具备TE流量工程能力,完美契合 SDN(Software Defined Network,软件定义网络)思想,可支持强大的网络可编程能力,是实现意图驱动网络的利器。

四、 SRv6应用场景

SRv6主要应用场景

SRv6凭借其分段路由特点和Native IPv6优势,可被广泛的应用到各种网络应用场景中,加速各种网络应用创新和落地。尤其是对IPv6+网络应用的创新和推广起到了促进的作用。下图列举了几个SRv6的主要应用场景:

图 5 SRv6的应用场景

SRv6安全应用场景

SRv6在网络安全领域的多个应用场景可以发挥其优势作用,助力网络安全产品或服务更好的服务于下一代IPv6网络和应用。

图 6 SRv6在网络安全领域主要应用场景

五、 总结和展望

IPv6是目前全球公认的、唯一的下一代互联网升级演进方案。发展基于IPv6的下一代互联网,是助力互联网与实体经济深度融合、支撑数字经济高质量发展的迫切需求,对提升国家网络空间综合竞争力、加快建设网络强国、加速实现数字强国具有重要意义。IPv6网络建设将为我国网络设施升级、技术产业创新、经济社会发展提供了重大契机

而SRv6是公认的新一代IP承载协议,可以简化并统一传统的复杂网络协议,是5G和云时代构建智能IP承载网络的基础。是国家IPv6+应用创新以及IPv6网络从大规模推广部署到真正深度使用转变的催化剂。

SRv6也将在网络安全领域的服务链编排、安全算力智能调度、安全防护应用感知、云网安融合编排等应用场景发挥其核心作用,从而为国家IPv6战略的安全发展保驾护航。

版权声明
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。

Spread the word. Share this post!

Meet The Author