网络定义 · Clos · EVPN-VXLAN

什么是 IP fabric?

IP fabric是以路由式叶脊 Clos 拓扑构建的数据中心网络:每条交换机间链路都是三层链路,任意两台叶交换机之间的所有路径同时承载流量,并且没有生成树。 底层是路由协议,通常是遵循 RFC 7938 的 eBGP。当工作负载仍需要二层时,在路由网络之上用 EVPN-VXLAN 叠加网络提供。OcNOS-DC 在开放的 Broadcom Trident 和 Tomahawk 交换机上构建这种网络。

三层每条网络链路
ECMP所有路径同时转发
RFC 7938eBGP 底层设计
EVPN-VXLAN需要二层时的叠加网络

取代生成树的网络

2000 年代的数据中心网络是二层树形结构。一个广播域横跨接入、汇聚和核心交换机,生成树通过阻塞每一条冗余链路来防止环路。一半的网络处于闲置状态,一次拓扑变化会波及每台交换机,最大的故障域就是整个网络。IP fabric将每条链路都变成路由链路,从而消除了这三个问题。

  • 每条路径都转发。 每条叶脊链路上都有三层邻接关系,等价多路径将流量同时分担到所有脊交换机。增加一台脊交换机,容量线性增长。
  • 故障影响范围小。 发生故障的链路或脊交换机会被路由协议撤销,叶交换机绕过它重新收敛。没有广播域,没有生成树重新计算,也没有全网刷新。
  • 横向扩展。 需要端口就增加叶交换机,需要带宽就增加脊交换机,一个 pod 满了就增加第三层超级脊。协议和设计不随规模变化。

拓扑、底层、叠加

IP fabric由三个层层叠加的决策构成。拓扑决定交换机如何连接,底层决定交换机之间如何路由,叠加网络(如果有)决定租户流量如何承载。

拓扑

叶脊 Clos

服务器连接到 叶交换机;每台叶交换机连接到每一台 脊交换机;脊交换机只连接叶交换机。任意两台服务器之间的跳数相同。增加第二个 pod 时,会在脊层之上增加一层超级脊。

底层

eBGP,每台交换机一个 AS

RFC 7938 规定 eBGP 运行在每条链路上,每台叶交换机各自构成一个私有自治系统,脊交换机共用一个。BGP unnumbered(RFC 8950)通过 IPv6 链路本地地址建立会话,因此链路无需 IPv4 子网。OcNOS 自 OcNOS 6.0 起支持 BGP unnumbered 与 EVPN-VXLAN 结合使用。

叠加网络

需要二层时使用 EVPN-VXLAN

BGP EVPN 学习 MAC 和 IP 可达性,VXLAN 在路由网络上承载帧,IRB 在叶交换机上实现子网间路由。租户获得二层网段,而网络无需放弃路由式底层。

何时仅靠底层即可,何时不够

并非每个 IP fabric都需要 EVPN。关键在于网络上是否有任何东西需要二层网段、租户隔离,或者迁移后仍保持不变的地址。

需求仅底层带 EVPN-VXLAN 叠加
服务器间路由是,原生支持是
机柜间二层否是,按 VNI
虚拟机或容器迁移否,地址绑定在叶交换机上是,MAC 和 IP 通过 BGP 通告
租户隔离仅 VRFVRF 加按租户的 L2 和 L3 VNI,VRF 间泄露
第一跳网关在叶交换机上每台叶交换机上的分布式任播网关(IRB)
双归属服务器路由,按链路基于以太网段的 EVPN 多归属,全活动
典型用途AI 训练后端、存储、HPC企业、云、多租户、虚拟机密集型
  • OcNOS-DC 叠加能力 (见功能矩阵):面向 VXLAN 的二层 EVPN(RFC 7348、7432、8365)、EVPN 多归属、自 4.1 起支持 IRB(RFC 9135)、自 4.1 起支持 Type-5 前缀路由(RFC 9136)、自 4.2 起支持 VRF 间路由泄露、自 5.0 起支持叠加 ECMP、自 5.0 起支持 IRB 上的 DHCP 中继、自 6.3.1 起支持多个任播网关地址、自 6.6.1 起支持 IRB 上的 BFD,以及自 7.0 起支持三层网关拼接。
  • 同一网络上的无损传输: 自 OcNOS 7.0 起支持 VXLAN 上的 PFC 和 ECN,因此叠加网络也能承载 RoCEv2 存储或推理流量。

一种网络设计,三类工作负载

同一个路由式 Clos 承载性质迥异的流量。变化的是叠加网络的选择和传输调优,而不是网络本身。

企业与云

多租户网络

EVPN-VXLAN 叠加、带分布式任播网关的 IRB、按租户的 VRF,以及面向双接入服务器的 EVPN 多归属。

AI 训练

AI 后端 fabric

通常不使用 overlay。采用 rail 优化的 leaf、Clos spine,以及基于 PFC 和 ECN 的无损 RoCEv2,因为作业完成时间取决于最慢的那条流。

站点之间

数据中心互联

Type-5 路由和三层 网关拼接在网络之间承载租户前缀。长距离时,路由器端口中的 400G ZR/ZR+ 相干光模块省去了转发器、muxponder 和再生器机架(400G ZR/ZR+ 传输距离内的再生器)。

IP fabric常见问题

什么是 IP fabric?
IP fabric是以路由式叶脊拓扑构建的数据中心网络。叶交换机和脊交换机之间的每条链路都是具有独立路由邻接关系的三层链路,因此任意两台叶交换机之间的所有路径通过等价多路径同时使用,也没有阻塞链路的生成树。当工作负载仍需要二层服务时,它们作为 EVPN-VXLAN 叠加网络运行在路由网络之上。OcNOS-DC 在开放的 Broadcom Trident 和 Tomahawk 交换机上构建这种网络。
IP fabric和 Clos 网络是一回事吗?
基本相同。Clos 描述的是拓扑:一种每台叶交换机都连接每台脊交换机的多级结构,最早由 Charles Clos 为电话交换提出。IP fabric描述的是该拓扑的运行方式:每条链路都在三层路由。如今构建的 Clos 网络几乎都是 IP fabric,因此在实践中这两个术语可以互换使用。
IP fabric和二层网络有什么区别?
二层网络将一个广播域延伸到各交换机,依靠生成树或专有的多机箱协议避免环路,导致链路闲置、故障影响范围大。IP fabric在每条链路上路由,因此每条路径都转发,故障由路由协议限制在局部,网络通过增加脊交换机扩展。当确实需要二层网段时,EVPN-VXLAN 以叠加方式提供,而无需放弃路由式底层。
IP fabric的底层运行哪种路由协议?
通常是遵循 RFC 7938 的 eBGP,每台叶交换机各自使用一个私有自治系统,脊交换机共用一个,并使用 BGP unnumbered(RFC 8950)通过 IPv6 链路本地地址建立会话,因此无需按链路分配地址。OSPF 或 IS-IS 等 IGP 同样可用,在较小的网络中很常见。OcNOS 两者都支持,包括自 OcNOS 6.0 起支持 BGP unnumbered 与 EVPN-VXLAN 结合使用。
IP fabric上需要 EVPN-VXLAN 吗?
只有当工作负载需要二层邻接、租户隔离,或虚拟机迁移后需保留地址时才需要。仅在服务器之间路由的网络只需底层即可。EVPN-VXLAN 增加叠加网络:BGP 学习 MAC 和 IP 地址,VXLAN 在路由网络上承载帧,IRB 在叶交换机上实现子网间路由。大多数企业和多租户网络都会使用它,而许多 AI 训练网络则不使用。
IP fabric有几层?
单个 pod 为两层:连接服务器的叶交换机和连接叶交换机的脊交换机,构成三级 Clos。当一个 pod 容纳不下所需端口时,第三层超级脊将多个 pod 连接成五级 Clos。层数由端口数量和超额订阅比决定,而非由协议决定;在任何规模下运行的都是同样的 BGP 底层和 EVPN 叠加。
AI 网络是 IP fabric吗?
从构造上说是的。AI 后端网络是一种针对特定流量模式调优的 Clos IP fabric:大量 GPU 同时发送大流量。它增加了无损传输(带 PFC 和 ECN 的 RoCEv2),通常还有轨道优化的叶层,并且一般不使用 EVPN 叠加。本文介绍的通用 IP fabric,正是 AI 网络所特化的对象。

深入了解,随身带走。

两份比本页更深入的简短技术资料:完整版 OcNOS-DC 数据手册和 EVPN-VXLAN 数据中心参考。

数据手册

OcNOS-DC 数据手册

完整的 OcNOS-DC 规格:EVPN-VXLAN 与 Ethernet for AI 功能集、软件 SKU、支持的硬件平台,以及解决方案订购指南。

获取数据手册
解决方案简报

EVPN-VXLAN 数据中心网络

基于 EVPN-VXLAN 的 leaf-spine 数据中心 fabric:每租户一个 VRF 和多个 VNI、EVPN 多归属、BGP unnumbered 和 route-target 过滤。

获取简报

正在设计 IP fabric?从端口数量开始。

告诉我们服务器数量、可接受的超额订阅比,以及租户是否需要二层。IP Infusion 工程师将在运行 OcNOS-DC 的开放 Broadcom 硬件上,为叶、脊和超级脊各层进行规格设计。