IPv6 源路由 · SRH 扩展报头

基于 IPv6 的段路由

应用于 IPv6 数据面的 SR:段列表以 IPv6 地址序列的形式编码在 SRH 扩展头中,从而无需 MPLS 标签或额外封装开销即可实现源路由。

SRv6 SID List 转发

一个数据包穿越三个 SR 端点。SID 列表直接编码在 IPv6 目的地址中:每一跳弹出当前活动的 uSID,并按下一个进行转发。

SRv6 报文流经三个端点,IPv6 SID 列表为 fc00::1、fc00::2、fc00::3
SRv6:由 IPv6 SID 列表驱动的报文穿越三个端点。

什么是 Segment Routing?

Segment Routing(RFC 8402)是一种源路由架构。头端将报文所经过的路径编码为一个称为段(segment)的有序指令列表,网络依据该列表进行转发,无需在每一跳维护逐流状态。它运行于两种数据平面:SR-MPLS 以 MPLS 标签栈承载段列表,SRv6 以 IPv6 地址列表承载段列表。本页介绍 SRv6,SR-MPLS 数据平面在其专属页面中说明。

什么是 SRv6

SRv6(RFC 8986)将源端发起的路径编码为一个有序的 IPv6 地址列表,称为 SID、每个 SID 表示特定节点上的拓扑指令(段)。Segment Routing Header(SRH, RFC 8754)在 IPv6 扩展报头栈中承载 SID 列表。每个 SR 节点上,活跃 SID 被处理,SL(Segments Left)指针递减,IPv6 DA 被更新为下一个 SID。

SRv6 SID 是可路由的 IPv6 地址,由 Locator(具有拓扑意义的前缀,通常为 /48 或 /64)和 Function(行为标识符)组成。这意味着 SR 转发状态嵌入在 IPv6 路由表中:无需独立的标签空间、无需 LFIB,也无需 MPLS 专用硬件资源。除非中转节点为 SR 端点,否则无需感知 SRH。

SRv6 uSID (draft-ietf-spring-srv6-srh-compression) 显著压缩 SID 编码:多个 uSID 被打包进单个 128 位 IPv6 地址,将每跳处理与报头开销降至在典型 SP 部署中可与 SR-MPLS 竞争的水平。

SRv6 Network Programming

RFC 8986 定义了一组 SRv6 端点行为:End(SR 端点)、End.X(带交叉连接的端点)、End.T(带表查找的端点)、End.DT4/DT6/DT46(带解封装和 L3 表查找的端点)。这些行为在 SID 语义中完整实现 VPN 转发功能,可在纯 IPv6 核心上提供 L3VPN 和 L2VPN 服务。

OcNOS-SP Implementation

IS-IS SRv6 Extensions

支持 SRv6 扩展(draft-ietf-lsr-isis-srv6-extensions)的 IS-IS:包含 Locator 通告、按前缀的 SID sub-TLV,以及面向拓扑感知 SID 分配的 Flexible Algorithms。

uSID 压缩

依据 draft-ietf-spring-srv6-srh-compression 实现 uSID。/32 块,/48 locator。每个 128 位地址打包多个 uSID。与现有 IPv6 转发硬件兼容:中转无需 SRH 处理。

H.Encaps 行为

在头端封装插入带 SRH 的新 IPv6 外层头;支持 H.Encaps.Red 精简 SRH(单 SID),并可根据匹配条件实现基于策略的转向。

SRv6-TE 策略

支持包含显式 SID 列表的 SRv6 流量工程策略,通过 PCEP 由 PCE 计算路径,并支持跨域策略分发的 BGP SR-TE。

基于 SRv6 的 L3VPN

采用 End.DT46 行为进行解封装和 VRF 查找。按 RFC 9252(BGP Overlay Services on SRv6)以 SRv6 传输承载 BGP L3VPN。从 Locator 块为每个 VRF 分配 SID。

SR-MPLS Co-existence

可在同一节点同时启用 SRv6 与 SR-MPLS,按 VPN 选择传输面,并通过互通功能在域边界完成跨域拼接。

OcNOS-Validated Hardware

仅供参考。 以下平台是经 SRv6 验证硬件的代表性子集。完整且实时更新的合格平台列表(含 ASIC、端口密度与版本覆盖情况)维护于 OcNOS 硬件兼容性列表中。

UfiSpace S9600-56DX
Qumran2c · 4×25G + 48×100G + 8×400G
UfiSpace S9600-28DX
Qumran2c · 4×25G + 24×100G + 4×400G
UfiSpace S9600-32X
Qumran2c · 32×100G
UfiSpace S9600-64X
Qumran2c · 64×100G
UfiSpace S9610-46DX
Qumran2c+ · 4×25G + 40×100G + 6×400G
UfiSpace S9510-28DC
Qumran2a · 24×25G + 2×100G + 2×400G
Edgecore AS7535-28XB
Qumran2a · 24×25G + 2×100G + 2×400G
UfiSpace S9510-30XC
Qumran2u · 28×25G + 2×100G

对比所有 OcNOS 验证平台上的 SRv6 支持

Open Feature Matrix →
常见问题

常见问题

什么是 SRv6?
SRv6(Segment Routing over IPv6)是一种直接使用 IPv6 数据平面的段路由。每个段被编码为一个称为 SID 的 128 位 IPv6 地址,因此网络无需 MPLS 标签栈,即可通过原生 IPv6 转发沿着规划路径引导流量。
SRv6 与 SR-MPLS 有何区别?
SRv6 将段编码为 128 位 IPv6 地址并在 IPv6 数据平面上转发,而 SR-MPLS 将段编码为 MPLS 标签并在 MPLS 数据平面上转发。SRv6 在核心中仅需 IPv6,而 SR-MPLS 则保留一个 MPLS 转发平面。
SRv6中的uSID是什么?
uSID(micro-SID)将多条 SRv6 指令打包进单个 128 位 IPv6 地址,因此一个地址可承载多个段。这缩短了段列表,降低了数据包开销,并使更长的规划路径能够纳入标准 IPv6 转发范围之内。
SRv6 是否需要 MPLS?
不需要,SRv6无需MPLS。它运行在原生IPv6数据平面上,并使用IPv6地址作为段标识符,因此核心仅基于IPv6进行转发。这使运营商无需MPLS标签交换平面即可开展流量工程和业务路由。
SRv6中的SRH是什么?
SRH(Segment Routing Header)是一种IPv6扩展报头,用于承载数据包必须遵循的SID有序列表。当数据包沿路径转发时,SRH中的活动段决定下一跳,从而将经过设计的路由编码在IPv6数据包本身之内。
应选择 SRv6 还是 SR-MPLS?
这取决于核心数据平面。SRv6 移除 MPLS,在原生 IPv6 上运行流量工程与 VPN 业务,适合 IPv6 优先及全新建设(greenfield)网络。SR-MPLS 保留 MPLS 转发平面,适合已部署 MPLS 基础、希望在不改变数据平面的前提下引入段路由的运营商。OcNOS-SP 同时支持两者,因此网络可以逐个域迁移,并在边界处实现互通。
SRv6 是否支持 L3VPN?
支持。SRv6 使用 RFC 8986 定义的 End.DT4、End.DT6 和 End.DT46 端点行为承载 L3VPN,这些行为对报文进行解封装并在目标 VRF 中查找。BGP 按照 RFC 9252 将每个 VPN 的 SID 作为 SRv6 业务进行通告,因此 VPN 可在纯 IPv6 核心上运行,无需 MPLS 业务标签。
OcNOS 中哪些硬件支持 SRv6?
OcNOS-SP 借助 uSID 压缩在 Broadcom Qumran 服务提供商平台上运行 SRv6,因此中转节点无需 SRH 处理即可基于标准 IPv6 转发。经过 SRv6 认证的平台的最新列表(含 ASIC、端口密度和版本)维护于 OcNOS Hardware Compatibility List 中。