4. Fabric寻址与IP规划
在Spectrum叶脊Fabric中,IP地址规划不是“配完能通就行”的附属工作,而是决定路由收敛速度、故障域边界、ECMP等价路径数量以及后续扩容难度的基础设计。一个可维护的Fabric地址体系,通常需要同时回答四个问题:Underlay用什么地址承载BGP会话与物理链路,Overlay用什么地址承载VTEP与租户路由,Loopback如何提供稳定Router-ID与BGP更新源,以及Anycast地址如何让多台Leaf对外呈现同一服务入口。本节围绕这四个问题展开,并给出可直接套用的规划示例。
Underlay与Overlay的地址分层
Underlay是Fabric的物理承载层,负责Leaf与Spine之间的三层可达性。它通常使用点对点互联地址(/30或/31)和每台交换机的Loopback地址。Overlay是构建在Underlay之上的虚拟网络层,VTEP地址、租户VLAN到VNI的映射、以及EVPN路由都依赖Underlay提供的可达性。两者必须严格分层:Underlay地址只用于基础设施,Overlay地址只用于租户与VTEP,避免地址空间重叠导致路由泄漏或ECMP异常。
推荐采用如下地址块划分(示例,实际项目按需调整):
- Underlay互联地址:10.0.0.0/16,按Spine-Leaf链路逐段分配,每段/31。
- Underlay Loopback:10.1.0.0/16,每台设备一个/32,用于BGP Router-ID与更新源。
- Overlay VTEP Loopback:10.2.0.0/16,每台Leaf一个/32,作为VXLAN隧道源地址。
- Anycast VTEP地址:10.2.255.0/24,同一组Leaf共享,用于双活接入。
- 租户业务网段:172.16.0.0/12,按VNI与租户划分,不与Underlay重叠。
这种分层的好处是:Underlay故障排查时只需关注10.0/16与10.1/16,Overlay问题则聚焦10.2/16与租户网段,故障域清晰,ACL与路由策略也更容易编写。
Loopback与互联地址设计
Loopback地址是Fabric稳定性的核心。每台Spine和Leaf都应配置一个/32 Loopback,作为BGP Router-ID、BGP更新源、以及iBGP/eBGP对等体的源地址。Loopback不依赖任何物理端口状态,只要设备有可达路径,BGP会话就能建立。互联地址则用于Leaf与Spine之间的点对点链路,建议使用/31以节省地址并避免广播地址浪费。例如:
Spine1 Loopback0: 10.1.0.1/32
Spine2 Loopback0: 10.1.0.2/32
Leaf1 Loopback0: 10.1.1.1/32
Leaf1 Loopback1: 10.2.1.1/32 # VTEP源地址
Leaf1 Eth1/1 与 Spine1: 10.0.1.0/31
Leaf1 Eth1/2 与 Spine2: 10.0.1.2/31
互联地址建议按“Spine编号+Leaf编号”编码,例如10.0.S.L.0/31,便于从IP反查链路。所有互联链路应启用三层路由,不跑STP,不配VLAN,保持纯路由端口。Loopback地址则按角色分段:Spine用10.1.0.0/24,Leaf用10.1.1.0/24,Border Leaf用10.1.2.0/24,便于汇总与策略匹配。
BGP AS号规划
Spectrum Fabric通常采用eBGP作为Underlay路由协议,Spine与Leaf之间建立eBGP邻居。AS号规划有两种常见模式:一是所有Leaf使用相同AS号,Spine使用不同AS号;二是每台Leaf使用独立AS号。前者配置简单,适合中小规模;后者路径选择更清晰,适合大规模或需要精细流量工程的场景。推荐使用私有AS号范围64512-65534,或使用4字节AS号如4200000000段。
示例规划:Spine1 AS 65001,Spine2 AS 65002,所有Leaf AS 65010。Leaf与Spine1、Spine2分别建立eBGP邻居,通过BGP多路径实现ECMP。若采用每Leaf独立AS,则Leaf1 AS 65011、Leaf2 AS 65012,依次递增。无论哪种模式,都必须确保AS_PATH长度一致,否则ECMP可能失效。对于Overlay,EVPN通常使用iBGP或eBGP,建议与Underlay AS号分离,例如Overlay使用65000作为统一AS,通过Route Reflector或全互联建立EVPN会话。
Anycast与VTEP地址设计
Anycast VTEP地址用于双活接入场景:两台Leaf共享同一个VTEP IP,服务器通过MLAG或ESI双归接入,无论流量落到哪台Leaf,VXLAN封装源地址都相同,远端VTEP无需感知Leaf切换。Anycast地址通常配置在Loopback接口上,并配合EVPN的ESI多归配置。例如:
Leaf1 Loopback1: 10.2.255.1/32 (Anycast VTEP)
Leaf2 Loopback1: 10.2.255.1/32 (Anycast VTEP)
Leaf1 Loopback0: 10.2.1.1/32 (独立VTEP,用于非双活)
Leaf2 Loopback0: 10.2.2.1/32 (独立VTEP,用于非双活)
Anycast地址必须与独立VTEP地址分开规划,避免同一台Leaf上出现地址冲突。对于非双活服务器,使用独立VTEP地址即可;对于双活服务器,使用Anycast VTEP地址。EVPN路由中,Type-2 MAC/IP路由会携带VTEP地址,远端Leaf根据该地址建立VXLAN隧道。若Anycast地址配置错误,可能导致流量黑洞或非对称转发。
规划落地检查要点
完成地址规划后,建议在实施前做一次一致性检查:Underlay与Overlay地址块是否重叠;Loopback是否全部为/32且唯一;互联链路是否统一使用/31;BGP AS号是否与规划表一致;Anycast VTEP是否只在双活Leaf上配置;EVPN Type-2路由中的VTEP地址是否与Loopback1匹配。这些检查项可以直接做成表格,在变更前逐项确认。
| 检查项 | 示例值 | 判断标准 |
|---|---|---|
| Underlay互联 | 10.0.1.0/31 | 无重叠、无广播地址浪费 |
| Loopback0 | 10.1.1.1/32 | 唯一、作为BGP源 |
| VTEP Loopback1 | 10.2.1.1/32 | 与Anycast分离 |
| Anycast VTEP | 10.2.255.1/32 | 仅双活Leaf共享 |
| BGP AS | Leaf 65010 | AS_PATH长度一致 |
| 租户网段 | 172.16.0.0/12 | 不与Underlay重叠 |
最后需要强调:地址规划不是一次性任务。每次新增Leaf、新增租户或调整双活组时,都应回到规划表更新对应条目,并同步检查BGP AS号、VTEP地址与Anycast地址是否仍然满足唯一性与一致性要求。只有把地址体系当作Fabric的“骨架”来维护,后续的EVPN、VXLAN与流量工程才能稳定运行。