SRv6技术是什么(非常详细)
IPv6(Internet Protocol version 6,第 6 版互联网协议)虽然在过去的 20 年间一直持续地向前发展,但是在部署和应用方面缺少动力。SRv6(Segment Routing over IPv6,基于 IPv6 的段路由)的出现使 IPv6 焕发出非比寻常的活力。
随着 5G 和云业务的发展,SRv6 使 IPv6 扩展报文头蕴藏的创新空间快速释放,基于它的应用不断变为现实,人类正在加速迈入 IPv6 时代。
SRv6 结合了 Segment Routing 的源路由优势和 IPv6 的简洁、易扩展特质,而且具有多重编程空间,符合 SDN(Software Defined Network,软件定义网络)思想,是实现意图驱动网络的利器。
Segment Routing 的分类如下图所示:

图 1 Segment Routing的分类
目前 Segment Routing 支持 MPLS(Multi-Protocol Label Switching,多协议标签交换)和 IPv6 两种数据平面(也称为转发平面)。基于 MPLS 数据平面的 Segment Routing 称为 SR-MPLS(Segment Routing over MPLS,基于 MPLS 的段路由),其 SID(Segment Identifier,段标识)为 MPLS 标签(Label);基于 IPv6 数据平面的 Segment Routing 称为 SRv6,其 SID 为 IPv6 地址。
值得注意的是,早在 2013 年 Segment Routing 诞生之初,其架构文档 RFC 8402 中就提及了 SRv6。
但在当时,业界只是希望将节点和链路的 IPv6 地址放在路由扩展报文头里引导流量,并没有提及 SRv6 SID 的可编程性。SRv6 相比于 SR-MPLS 是更遥远的目标,所以对它的关注度不如 SR-MPLS。
2017 年 3 月,SRv6 Network Programming(SRv6 网络编程)的草案被提交给了 IETF(Internet Engineering Task Force,因特网工程任务组),原有的 SRv6 升级为 SRv6 Network Programming,从此 SRv6 进入了一个全新的发展阶段。
SRv6 Network Programming 将长度为 128 bit 的 SRv6 SID 划分为 Locator 和 Function 等,其中 Locator 具有路由能力,而 Function 可以代表处理行为,也能够标识业务。这种巧妙的处理意味着 SRv6 SID 融合了路由和 MPLS(其中的标签代表业务)的能力,使 SRv6 的网络编程能力大大增强,可以更好地满足业务的需求。
2020 年 3 月,SRv6 的标准文稿 RFC 8754 “IPv6 Segment Routing Header (SRH)”正式发布;2021 年 2 月,标准文稿 RFC 8986 “Segment Routing over IPv6 (SRv6) network programming”正式发布,标志着 SRv6 趋于成熟。
SRv6 Policy 既可以实现流量工程,也可以配合控制器更好地响应业务的差异化需求,做到业务驱动网络。SRv6 BE 是一种简化的 SRv6 实现,正常情况下不含 SRH,只能提供尽力而为的转发,不具备流量工程能力。SRv6 BE 仅使用一个业务 SID 来指引报文转发到生成该 SID 的节点,并由该节点执行业务 SID 的指令。
SRv6 可以兼容 IPv6 路由转发,也可以基于聚合路由转发。SRv6 BE 只需要在网络的头尾节点部署,在中间节点仅支持 IPv6 转发即可,这种方式对部署普通 VPN 具有独特的优势。
比如视频业务在省级中心和市中心之间传送,需要跨越数据中心网络、城域网络、国家 IP 骨干网络,如果以传统方式部署 MPLS VPN,则不可避免地需要跟国省干线的相关主管单位进行协调,各方配合执行部分操作才能成功,开通时间比较慢;如果采用 SRv6 BE 承载 VPN,只需要在省级中心和市中心部署两台支持 SRv6 VPN的PE(Provider Edge,运营商边缘设备),基于 IPv6 路由的可达性很快就可以开通业务。
在 SRv6 发展早期,基于 IPv6 路由的可达性,利用 SRv6 BE 快速开通业务,具有明显优势;在后续演进中,可以按需升级网络的中间节点,部署 SRv6 Policy,满足高价值业务的需求。
SRv6 BE 与 SRv6 Policy 的对比如下表所示:
SRv6 也提供了丰富的编程空间,具备强大的编程能力来应对新业务的发展。
如下图所示,SRv6 支持三重编程空间:

图 2 SRv6 的三重编程空间
SRv6 是基于 IPv6 数据平面的 SR 技术,结合了 SR 源路由优势和 IPv6 简洁、易扩展的特质,具有其独特的优势。
SRv6 技术特点及价值可以归纳为以下几点:
1) 智慧:SRv6 具有强大的可编程能力。SRv6 支持三重可编程空间,能满足大量业务的不同诉求,契合了业务驱动网络的大潮流。
2) 极简:如下图所示,SRv6 不再使用 LDP(Label Distribution Protocol,标签分发协议)/RSVP-TE(Resource Reservation Protocol-Traffic Engineering,资源预留协议流量工程),也不需要 MPLS 标签,既简化了协议,又使管理变得简单。EVPN 和 SRv6 的结合,可以使得 IP 承载网络简化、归一。SRv6 打破了 MPLS 跨 AS(Autonomous System,自治系统)边界,部署简单,还提升了跨 AS 的体验。

图 3 SRv6 简化网络协议
3) 纯 IP 化:SRv6 可以基于 Native IPv6 进行转发。SRv6 是通过扩展报文头来实现的,没有改变原有 IPv6 报文的封装结构,因此 SRv6 报文依然是 IPv6 报文,普通的 IPv6 设备也可以转发 SRv6 报文。SRv6 设备能够和普通 IPv6 设备共同部署,对现有网络具有更好的兼容性,可以支撑业务快速上线、平滑演进。SRv6 具有易于增量部署的优点,可以最大限度地保护用户的投资。也因为 IP 化,SRv6 可以使用聚合路由工作,相比于 MPLS,大大减少了表项数量,提升了可扩展性。
基于以上特点,SRv6 不仅成为简化 IP 网络架构的利器,也为 IPv6 的发展带来了新的发展机遇。
随着 5G 和云业务的发展,SRv6 使 IPv6 扩展报文头蕴藏的创新空间快速释放,基于它的应用不断变为现实,人类正在加速迈入 IPv6 时代。
SRv6的发展历史
SRv6 作为新一代 IP 承载协议,可以简化并统一传统的复杂网络协议,是 5G 和云时代构建智能 IP 网络的基础。SRv6 结合了 Segment Routing 的源路由优势和 IPv6 的简洁、易扩展特质,而且具有多重编程空间,符合 SDN(Software Defined Network,软件定义网络)思想,是实现意图驱动网络的利器。
Segment Routing 的分类如下图所示:

图 1 Segment Routing的分类
目前 Segment Routing 支持 MPLS(Multi-Protocol Label Switching,多协议标签交换)和 IPv6 两种数据平面(也称为转发平面)。基于 MPLS 数据平面的 Segment Routing 称为 SR-MPLS(Segment Routing over MPLS,基于 MPLS 的段路由),其 SID(Segment Identifier,段标识)为 MPLS 标签(Label);基于 IPv6 数据平面的 Segment Routing 称为 SRv6,其 SID 为 IPv6 地址。
值得注意的是,早在 2013 年 Segment Routing 诞生之初,其架构文档 RFC 8402 中就提及了 SRv6。
但在当时,业界只是希望将节点和链路的 IPv6 地址放在路由扩展报文头里引导流量,并没有提及 SRv6 SID 的可编程性。SRv6 相比于 SR-MPLS 是更遥远的目标,所以对它的关注度不如 SR-MPLS。
2017 年 3 月,SRv6 Network Programming(SRv6 网络编程)的草案被提交给了 IETF(Internet Engineering Task Force,因特网工程任务组),原有的 SRv6 升级为 SRv6 Network Programming,从此 SRv6 进入了一个全新的发展阶段。
SRv6 Network Programming 将长度为 128 bit 的 SRv6 SID 划分为 Locator 和 Function 等,其中 Locator 具有路由能力,而 Function 可以代表处理行为,也能够标识业务。这种巧妙的处理意味着 SRv6 SID 融合了路由和 MPLS(其中的标签代表业务)的能力,使 SRv6 的网络编程能力大大增强,可以更好地满足业务的需求。
2020 年 3 月,SRv6 的标准文稿 RFC 8754 “IPv6 Segment Routing Header (SRH)”正式发布;2021 年 2 月,标准文稿 RFC 8986 “Segment Routing over IPv6 (SRv6) network programming”正式发布,标志着 SRv6 趋于成熟。
SRv6的两种工作模式
SRv6 有 SRv6 Policy 和 SRv6 BE(Best Effort,尽力而为)两种工作模式。这两种模式都可以承载常见的传统业务,例如 BGP(Border Gateway Protocol,边界网关协议)、L3VPN(Layer 3 Virtual Private Network,三层虚拟专用网)、EVPN L3VPN、EVPN VPLS/VPWS(Virtual Private Wire Service,虚拟专用线路业务)、IPv4/IPv6公网等。SRv6 Policy 既可以实现流量工程,也可以配合控制器更好地响应业务的差异化需求,做到业务驱动网络。SRv6 BE 是一种简化的 SRv6 实现,正常情况下不含 SRH,只能提供尽力而为的转发,不具备流量工程能力。SRv6 BE 仅使用一个业务 SID 来指引报文转发到生成该 SID 的节点,并由该节点执行业务 SID 的指令。
SRv6 可以兼容 IPv6 路由转发,也可以基于聚合路由转发。SRv6 BE 只需要在网络的头尾节点部署,在中间节点仅支持 IPv6 转发即可,这种方式对部署普通 VPN 具有独特的优势。
比如视频业务在省级中心和市中心之间传送,需要跨越数据中心网络、城域网络、国家 IP 骨干网络,如果以传统方式部署 MPLS VPN,则不可避免地需要跟国省干线的相关主管单位进行协调,各方配合执行部分操作才能成功,开通时间比较慢;如果采用 SRv6 BE 承载 VPN,只需要在省级中心和市中心部署两台支持 SRv6 VPN的PE(Provider Edge,运营商边缘设备),基于 IPv6 路由的可达性很快就可以开通业务。
在 SRv6 发展早期,基于 IPv6 路由的可达性,利用 SRv6 BE 快速开通业务,具有明显优势;在后续演进中,可以按需升级网络的中间节点,部署 SRv6 Policy,满足高价值业务的需求。
SRv6 BE 与 SRv6 Policy 的对比如下表所示:
维度 | SRv6 BE | SRv6 Policy |
---|---|---|
配置 | 很简单 | 复杂 |
路径计算 | 基于 IGP 开销 | 基于 TE 约束 |
SRH | 正常转发不携带 SRH,仅在 TI-LFA(Topology Independent-Loop Free Alternate,拓扑无关的无环路备份)FRR(Fast Reroute,快速重路由)保护场景,按照修复路径转发时才携带 SRH | 携带 SRH |
路径编程 | 不支持,没有 SRH,无法携带路径信息 | 支持 |
需要控制器 | 否,IGP 算路即可 | 是。SRv6 Policy 可以静态配置,但是配置复杂,一般推荐使用控制器动态下发 SRv6 Policy,这样可以更快速地响应业务的需求,做到业务驱动网络 |
保护技术 | TI-LFA FRR(50 ms) | TI-LFA FRR(50 ms)、Midpoint 保护、Candidate Path 保护等 |
场景 | 适用于对 SLA(Service Level Agreement,服务等级协议)要求低、流量不需要指定路径的场景 | 适用于对 SLA 要求严格的场景。例如网络拥塞,流量需要切换到其他路径,或者需要重定向到指定目的地,如反 DoS(Denial of Service,拒绝服务)清洗等 |
SRv6的主要特点
SRv6 丰富的网络编程能力能够更好地满足新的网络业务的需求,而其兼容 IPv6 的特性也使得网络业务部署更为简便。SRv6 打破了云和网络的边界,可以促进云网融合,实现应用级的 SLA 保障,使千行百业受益。SRv6 也提供了丰富的编程空间,具备强大的编程能力来应对新业务的发展。
如下图所示,SRv6 支持三重编程空间:

图 2 SRv6 的三重编程空间
- Segment List 编程空间:SRv6 SID可以自由组合并进行路径编程,由业务提出需求,控制器响应业务需求、定义转发路径。
- SID 编程空间:SRv6 Segment 的长度是 128 bit,相比 32 bit 的 MPLS 标签封装,有了一个更大的空间,并且可以灵活分段,提供比 MPLS 丰富、灵活的编程功能。
- Optional TLV(Type Length Value,类型长度值)编程空间:SRH 里还有可选 TLV,可以用于进一步自定义功能。SRH TLV 提供了更好的扩展性,可以携带长度可变的数据,例如,加密、认证信息和性能检测信息等。
SRv6 是基于 IPv6 数据平面的 SR 技术,结合了 SR 源路由优势和 IPv6 简洁、易扩展的特质,具有其独特的优势。
SRv6 技术特点及价值可以归纳为以下几点:
1) 智慧:SRv6 具有强大的可编程能力。SRv6 支持三重可编程空间,能满足大量业务的不同诉求,契合了业务驱动网络的大潮流。
2) 极简:如下图所示,SRv6 不再使用 LDP(Label Distribution Protocol,标签分发协议)/RSVP-TE(Resource Reservation Protocol-Traffic Engineering,资源预留协议流量工程),也不需要 MPLS 标签,既简化了协议,又使管理变得简单。EVPN 和 SRv6 的结合,可以使得 IP 承载网络简化、归一。SRv6 打破了 MPLS 跨 AS(Autonomous System,自治系统)边界,部署简单,还提升了跨 AS 的体验。

图 3 SRv6 简化网络协议
3) 纯 IP 化:SRv6 可以基于 Native IPv6 进行转发。SRv6 是通过扩展报文头来实现的,没有改变原有 IPv6 报文的封装结构,因此 SRv6 报文依然是 IPv6 报文,普通的 IPv6 设备也可以转发 SRv6 报文。SRv6 设备能够和普通 IPv6 设备共同部署,对现有网络具有更好的兼容性,可以支撑业务快速上线、平滑演进。SRv6 具有易于增量部署的优点,可以最大限度地保护用户的投资。也因为 IP 化,SRv6 可以使用聚合路由工作,相比于 MPLS,大大减少了表项数量,提升了可扩展性。
基于以上特点,SRv6 不仅成为简化 IP 网络架构的利器,也为 IPv6 的发展带来了新的发展机遇。