技术博客
Andrew Alston , Visitor
技术博客
SRv6+ 分段路由标头——我们为什么需要它
Sep 18, 2019

当很多人仍在研究分段路由时,突然冒出了 SRv6,接着是 SRv6+。了解为什么我们需要 SRv6+,以及为什么我们认为得到它很重要。

 

现在,这引发了一些问题——发生了什么情况?我们似乎对它缺乏了解——那是什么?
我们为何需要它?所以,我们要了解 SRv6 + 是什么,为什么我们需要它,以及为什么
我们认为得到它很重要。

 

但首先,让我们回过头来,简要了解一下 SRv6 是什么。实际上,分段路由有各种分段标识符,参见 https://tools.ietf.org/html/draft-ietf-spring-segment-routing-policy-02。我不会详细介绍所有这些标识符,我们只消知道如今的大多数分段路由使用 1 型 SID(基本上是 MPLS 标签),而部分 3 型 SID 则用于无色分段路由第一跳的 TE 路径形成。随着更多基于分段路由的技术被开发,开始出现一些其他的 SID 类型,而这成为了主要用例。

 

但是,SRv6 在扩展标头中用 IPv6 地址取代了标签。这些地址位于路由扩展标头中,
发生堆叠。SRH 包括 64 位“标头”,然后是堆叠的 v6 SID。这意味着,一个 SRv6 数据包至少有 192 位附加数据;相比之下,一个 MPLS 标头的长度只有 32 位(20 位标签 +
3 位流量类 + 1 位底部堆栈 + 8 位 TTL)。这是非常大的开销,如果标签堆叠深度达到
4 层,一定不堪重负。其次,SRv6 实际上也使用 IPv6 地址,但并非仅使用 IPv6 地址——它会造成 V6 地址过载。虽然没有足够的现实环境来真正评估其后果,但我怀疑很多人都会认为,IPv6 地址很快就会变得复杂。

 

说到这里,现在让我们谈谈 SRv6+。这实际上是结合了 4 个草案得到的,参见:

https://tools.ietf.org/html/draft-bonica-6man-comp-rtg-hdr-03

https://tools.ietf.org/html/draft-bonica-6man-seg-end-opt-03

https://tools.ietf.org/html/draft-bonica-6man-vpn-dest-opt-05

https://tools.ietf.org/html/draft-bonica-6man-oam-03

 

第一个草案以压缩路由标头 (CRH) 取代了标准 v6 分段路由标头。CRH 使用一系列长度为 8、16 或 32 位的 SID,然后将这些 SID 映射到其他位置的 IPv6 地址。在后续博文中,我将详细介绍其工作原理,但这已经足以说明,它摆脱了传统 SRH 造成的巨大开销,
实际上使 SRv6 变得可行,而不会强加任何理智的操作员都不会接受的开销。

 

第二个草案将从源节点发送给中间节点的指令与 IPv6 地址分离开来。基本上,在 SRv6 常规用例中(参见 https://tools.ietf.org/html/draft-filsfils-spring-srv6-network-programming-05),您可看到,在第 4 部分定义了可以通过 SID 关联的大量函数。 
请记住,在这种情况下,V6 SID 是一个 V6 地址,所以这样就会让地址过载。但是,在分段结束选项草案中,有一个可选的标头,其中包含指令和其他信息——不会使地址空间过载。

 

第三个草案有效地创建了一种承载 VPN 上下文信息的非 MPLS 标签方法——适用于无法处理 MPLS 标签但仍需要 VPNv6 的设备。(我将在后续文章中详细介绍这方面的内容)

 

第四个 RFC 允许嵌入式 OAM 指令——基本上就是允许源节点指示路径中更深的节点执行特定的操作(记录数据包,对数据包计数,将 ICMPv6 OAM 数据包发送回源,将某些遥测数据发送回收集器等等)。考虑到 SR 的无状态特性,能够嵌入这样的指令肯定会有一些有趣的应用,这将会相当有用。例如,如果我要指示路径上的每个节点向我发送包含数据包到达时间和数据包本身的遥测数据,就可以将每个节点的接收数据关联起来,以便有效地为我提供路径上节点之间真实的时间延迟指标。

 

上述就是 SRv6+ 速成课程。那么我们为什么需要它?因为 SRv6 造成的开销是不可接受的——IPv6 地址的过载毫无意义,还存在某些危险;而且,在控制器、机器学习和其他此类技术开始更深入控制我们网络的世界中,OAM RFC 提供的 OAM 选项带来了一些非常有趣的可能性。

 

现在,让我们继续观察它会如何向前发展,这将是一件很有意思的事情。我估计草案还会进一步修改和改进,但我要说的是,根据我在 MPLS 全球论坛等地方看到的内容推断——SRv6 即将到来,唯一的问题是以什么形式出现。据我判断——合理的形式应该不会造成过量开销和地址空间过载,并且不会仅仅为了处理开销而强制升级路由器接口。

 

0 Kudos