8. Control Plane (控制平面)
8. Control Plane (控制平面)
在 SDN (Software-Defined Networking, 软件定义网络) 环境中, 人们期望控制器显式地配置 SID (Segment Identifier, 段标识符) 和/或将其作为服务发现功能的一部分进行发现。驻留在控制器之上的应用程序可以发现所需的 SID, 并将它们组合以形成分布式网络程序。
"SRv6 Network Programming (SRv6 网络编程)" 的概念是指应用程序将任何复杂的程序编码为一组分布在整个网络中的单个功能的能力。一些功能与底层 SLA (Service Level Agreement, 服务等级协议) 相关, 其他功能与覆盖层/租户相关, 还有一些功能与驻留在 VM (Virtual Machine, 虚拟机) 和容器中的复杂应用程序相关。
虽然对于 SDN 控制平面来说不是必需的, 但本节的其余部分提供了一个高级说明性概述, 说明控制平面协议如何参与 SRv6。其规范不在本文档的范围之内。
8.1. IGP
End, End.T 和 End.X SID 表达拓扑行为, 因此预期它们将与 PSP, USP 和 USD 变体一起在 IGP (Interior Gateway Protocol, 内部网关协议) 中发出信号。IGP 还应该为每种类型的 SRv6 操作通告节点的 Maximum SID Depth (MSD, 最大 SID 深度) 能力 - 特别是 SR source (SR 源, 例如 H.Encaps), intermediate endpoint (中间端点, 例如 End 和 End.X) 和 final endpoint (最终端点, 例如 End.DX4 和 End.DT6) 行为。这些能力在 SR Policy (SR 策略) 计算期间由 SR 源节点 (或控制器) 考虑在内。
IGP 中存在 SID 并不意味着这些 SID 所表示的地址具有任何路由语义。IPv6 地址的路由可达性完全由非 SID 相关的 IGP 前缀可达性信息 (包括 locators, 定位符) 控制。路由既不受 IGP 中 SID 通告的控制, 也不以任何方式受其影响。
这些 SID 为 IGP 构建基于 TI-LFA (Topology Independent Loop-Free Alternate, 拓扑无关无环备用) [SR-TI-LFA] 的 Fast Reroute (FRR, 快速重路由) 解决方案以及依赖于 IGP 拓扑数据库构建 SR Policy 的 TE (Traffic Engineering, 流量工程) 进程提供重要的拓扑行为。
8.2. BGP-LS
BGP-LS (Border Gateway Protocol - Link State, 边界网关协议-链路状态) 提供拓扑发现功能, 包括节点的 SRv6 能力, 它们的 locator 以及本地实例化的 SID。这使得控制器或应用程序能够构建域间拓扑, 可用于使用 SRv6 SID 计算 SR Policy。
8.3. BGP IP/VPN/EVPN
End.DX4, End.DX6, End.DT4, End.DT6, End.DT46, End.DX2, End.DX2V, End.DT2U 和 End.DT2M SID 可以在 BGP 中发出信号。
在某些场景中, 通告 VPN 路由的出口 PE (Provider Edge, 提供商边缘路由器) 可能希望向入口 PE 和网络中的其他路由器抽象绑定到 SID 的特定行为。在这种情况下, 可以使用表 6 中定义的 Opaque SRv6 Endpoint Behavior (不透明 SRv6 端点行为) 代码点来通告 SID。此类控制平面信令机制的详细信息不在本文档的范围之内。
8.4. Summary (总结)
下表总结了哪些 SID 行为可以在哪些控制平面协议中发出信号。
| Behavior | IGP | BGP-LS | BGP IP/VPN/EVPN |
|---|---|---|---|
| End (PSP, USP, USD) | X | X | |
| End.X (PSP, USP, USD) | X | X | |
| End.T (PSP, USP, USD) | X | X | |
| End.DX6 | X | X | X |
| End.DX4 | X | X | X |
| End.DT6 | X | X | X |
| End.DT4 | X | X | X |
| End.DT46 | X | X | X |
| End.DX2 | X | X | |
| End.DX2V | X | X | |
| End.DT2U | X | X | |
| End.DT2M | X | X | |
| End.B6.Encaps | X | ||
| End.B6.Encaps.Red | X | ||
| End.B6.BM | X |
表 3: SRv6 本地实例化 SID 信令
下表总结了哪些 SR Policy Headend 能力可以在哪些控制平面协议中发出信号。
| Behavior | IGP | BGP-LS | BGP IP/VPN/EVPN |
|---|---|---|---|
| H.Encaps | X | X | |
| H.Encaps.Red | X | X | |
| H.Encaps.L2 | X | ||
| H.Encaps.L2.Red | X |
表 4: SRv6 策略头端行为信令
前表描述了通用能力。它不描述特定的实例化 SR Policy。
例如, H.Encaps 行为的 BGP-LS 通告将描述节点 N 执行 H.Encaps 行为的能力。具体来说, 它将描述 N 可以在没有显著性能下降的情况下压入多少个 SID。
作为提醒, SR Policy 总是分配一个 Binding SID (绑定 SID) [RFC8402]。Binding SID 也在 BGP-LS 中通告, 如表 3 所示。因此, 表 4 仅关注与 H.Encaps 相关的通用能力。