G-SRv6
产生背景
在SRv6TE Policy 组网场景中,管理员需要将报文转发路径上的SRv6 节点的128-bitSRv6SID 添加到SRv6TE Policy 的SID 列表中。因此,路径越长,SRv6TE Policy 的SID 列表中SRv6 SID 数目越多,SRv6 报文头开销也越大,导致设备转发开销大。在跨越多个AS 域的场景中,端 到端的SRv6SID 数目可能更多,报文开销问题更加严峻。
图1 SRv6 报文头开销示意图
Generalized SRv6(G-SRv6)通过对 128-bit SRv6SID 进行压缩,在SRH 的Segment List 中封装更短的SRv6 SID(G-SID),来减少SRv6 报文头的开销,从而提高SRv6 报文的转发效 率。同时,G-SRv6 支持将 128-bit SRv6SID 和 G-SID 混合编排到Segment List 中。
SRv6SID 压缩方法简介
部署 SRv6 时,通常会规划出一个地址块,专门用于 SRv6 SID 的分配,这个地址块称为 SID Space。 在一个SRv6 域中,SRv6SID 均从SID Space 中分配,具有相同的前缀(即公共前缀Common Prefix)。因此,Segment List 中SRv6SID 的公共前缀是冗余信息。G-SRv6 将Segment List 中SRv6SID 的Common Prefix 移除,仅携带SRv6SID 中的可变部分,即压缩SID(G-SID), 可以有效减少SRv6 报文头开销。报文转发过程中,在根据SRH 头中的Segment List 替换报文 的目的地址时,将 G-SID 与Common Prefix 拼接形成新的目的地址,继续查表转发。
G-SRv6 对SRv6SID 进行压缩时,既要保证高效压缩,又要兼顾网络规模等需求。综合考虑,32 比特是当前较为理想的压缩后 SID 长度。