3. Overlay 网络架构:Spine-Leaf 拓扑设计、Underlay 与 Overlay 关系、BGP EVPN 控制平面
现代数据中心网络已从传统的三层(接入-汇聚-核心)架构演进为 Spine-Leaf(脊-叶)架构。这种扁平化、高带宽、低延迟的拓扑结构,结合 Overlay 网络与 BGP EVPN 控制平面,成为支撑多租户、虚拟化与容器化工作负载的基石。
3.1 Spine-Leaf 拓扑设计
Spine-Leaf 架构是一种 Clos 网络拓扑的变体,旨在消除传统树形拓扑中的瓶颈与过度订阅问题。其核心原则是:每个 Leaf 交换机连接到每个 Spine 交换机,形成全连接网格。
核心优势:
- 等长路径:任意 Leaf 到另一 Leaf 的跳数固定为 2(Leaf → Spine → Leaf),延迟可预测。
- 水平扩展:增加 Spine 交换机即可线性提升整体带宽,无需重新布线。
- 故障隔离:单台 Spine 或 Leaf 故障仅影响局部流量,ECMP 自动收敛。
3.1.1 拓扑结构对比
| 特性 | 传统三层架构 | Spine-Leaf 架构 |
|---|---|---|
| 跳数 | 3-7 跳(取决于层级) | 固定 2 跳 |
| 带宽利用率 | 上行链路易过载(3:1 或更高) | 1:1 无阻塞(设计合理时) |
| 扩展性 | 受限于核心设备端口密度 | 线性扩展,增加 Spine 即可 |
| 故障域 | 汇聚层故障影响整个 Pod | 单点故障影响极小 |
| 典型规模 | 中小型园区 | 中大型数据中心 |
3.1.2 Spine-Leaf 物理拓扑示意
下图展示了一个典型的 4-Spine、8-Leaf 拓扑。每个 Leaf 通过多条链路(通常为 40G/100G)连接到所有 Spine,服务器或 ToR 交换机仅连接至 Leaf 层。
设计要点:Leaf 交换机通常采用 40G/100G 上行至 Spine,下行采用 10G/25G 连接服务器。Spine 数量建议为偶数(4/8/16),以支持 ECMP 的哈希算法均匀分布流量。
3.2 Underlay 与 Overlay 关系
在 Spine-Leaf 物理拓扑之上,网络被逻辑划分为两个平面:Underlay(底层物理网络)和 Overlay(叠加逻辑网络)。理解二者的分工与协作是设计多租户网络的关键。
3.2.1 分层职责对比
| 维度 | Underlay | Overlay |
|---|---|---|
| 目标 | 提供 IP 可达性与高速转发 | 提供虚拟网络隔离与租户逻辑拓扑 |
| 协议 | IS-IS / OSPF / EBGP(IP Fabric) | VXLAN / NVGRE / GENEVE |
| 控制平面 | 传统路由协议(分布式) | BGP EVPN(MP-BGP) |
| 转发单元 | 物理 IP 地址(VTEP IP) | VNI(VXLAN Network Identifier) |
| 租户感知 | 无 | 有(通过 VNI 隔离) |
| 故障域 | 物理链路/设备 | 逻辑隧道/租户 |
3.2.2 Underlay 与 Overlay 协同工作流
当租户虚拟机(VM)跨 Leaf 通信时,数据包经历以下封装与转发过程:
- 源 VM 发送原始以太帧(目标 MAC 为远端 VM)。
- 源 Leaf(Ingress VTEP) 查询 EVPN 转发表,确定目标 VTEP IP 与 VNI。
- VXLAN 封装:原始帧被封装为 UDP 包(目标端口 4789),外层 IP 头为 Underlay 路由可达的 VTEP IP。
- Underlay 转发:Spine 交换机根据外层 IP 头执行 ECMP 转发,不感知内层租户信息。
- 目标 Leaf(Egress VTEP) 解封装 VXLAN 头,将原始帧交付给目标 VM。
关键约束:Underlay 网络必须支持 MTU ≥ 1600 字节(标准以太帧 1500 + VXLAN 头 50 字节),否则会导致分片或丢包。建议将 Underlay 接口 MTU 设置为 9216(jumbo frame)。
3.3 BGP EVPN 控制平面
BGP EVPN(Ethernet VPN)是 Overlay 网络的控制平面协议,它通过 MP-BGP(Multi-Protocol BGP)在 VTEP 之间分发 MAC/VNI 路由信息,替代了传统的数据平面泛洪学习方式。
3.3.1 EVPN 核心路由类型
| 类型 | 名称 | 用途 |
|---|---|---|
| Type-2 | MAC/IP Advertisement Route | 通告主机 MAC 地址、IP 地址及其所属 VNI |
| Type-3 | Inclusive Multicast Route | 建立 BUM(广播/未知单播/组播)流量转发树 |
| Type-5 | IP Prefix Route | 通告外部网络或租户子网前缀(Inter-VNI 路由) |
3.3.2 EVPN 控制平面工作流程
3.3.3 EVPN 配置示例(Cisco NX-OS 风格)
feature bgp
feature vn-segment-vlan-based
feature nv overlay
nv overlay evpn
!
vlan 100
vn-segment 10100
!
interface nve1
no shutdown
source-interface loopback0
member vni 10100
ingress-replication protocol bgp
!
router bgp 65001
router-id 10.0.0.1
address-family l2vpn evpn
neighbor 10.0.0.2
remote-as 65002
address-family l2vpn evpn
send-community extended
route-map permit-all out
性能调优建议:
- 启用 BGP PIC(Prefix Independent Convergence) 加速故障切换。
- 为 EVPN 路由设置 BGP 下一跳跟踪,避免无效下一跳导致黑洞。
- 使用 Ingress Replication 替代 PIM 组播处理 BUM 流量,简化运维。
3.4 多租户隔离与性能考量
在 Spine-Leaf + EVPN 架构中,多租户隔离通过 VNI + VLAN 映射 实现。每个租户的 VRF(虚拟路由转发)实例绑定独立的 VNI,确保租户间流量完全隔离。
3.4.1 租户隔离矩阵
| 租户 | VLAN | VNI | VRF | 子网 |
|---|---|---|---|---|
| Tenant-A | 100-199 | 10100-10199 | VRF-A | 10.1.0.0/16 |
| Tenant-B | 200-299 | 10200-10299 | VRF-B | 10.2.0.0/16 |
| Tenant-C | 300-399 | 10300-10399 | VRF-C | 10.3.0.0/16 |
3.4.2 性能关键指标
- VTEP 表项规模:每个 Leaf 需维护所有活跃租户的 MAC/IP 转发表。建议 Leaf 设备支持 ≥ 256K MAC 表项。
- ECMP 哈希因子:Spine-Leaf 间使用 5-tuple(源/目标 IP、端口、协议)哈希,确保流量均匀分布。
- VXLAN 卸载:推荐使用支持硬件 VXLAN 卸载的网卡(如 Mellanox ConnectX-5+),减少 CPU 封装开销。
- BGP 更新频率:大规模租户环境下,控制 Type-2 路由更新频率,避免 BGP 路由震荡。可设置路由聚合与更新抑制。
总结:Spine-Leaf 拓扑提供无阻塞物理基础,Underlay 保证 IP 可达性,Overlay(VXLAN + EVPN)实现逻辑隔离与自动化控制平面。三者结合,构成了现代多租户数据中心网络的黄金三角。