EVPN(Ethernet VPN)与 VXLAN(Virtual eXtensible LAN)经常一起出现,但它们并不是同一种技术,而是**控制平面(Control Plane)与数据平面(Data Plane)**的关系。

简单来说:

VXLAN负责封装和转发数据包,EVPN负责学习和发布网络信息。

可以理解为:

技术 作用 类比
VXLAN 数据传输隧道 高速公路
EVPN 导航系统 GPS导航
BGP EVPN 路由协议 交通调度中心

一、为什么先有VXLAN后有EVPN

早期数据中心网络:

VLAN
 ├── VLAN 10
 ├── VLAN 20
 └── VLAN 30

受限于:

  • VLAN ID只有4094个
  • 二层网络无法跨大型数据中心扩展
  • STP效率低

于是出现了 VXLAN。


二、VXLAN是什么

VXLAN定义于:

RFC 7348

工作原理:

VM1
  |
  | Ethernet
  ▼
VTEP1
  |
  | UDP 4789
  ▼
IP Network
  ▼
VTEP2
  |
  ▼
VM2

数据包封装:

Ethernet
 ↓
VXLAN Header
 ↓
UDP
 ↓
IP
 ↓
Ethernet

这样:

  • 可支持1600万个网络(24位VNI)
  • 可以跨三层网络传输二层流量

例如:

VLAN 100
  ↓
VNI 10100

三、VXLAN存在的问题

VXLAN只定义了:

如何封装数据

没有定义:

MAC地址怎么学习?

于是早期方案采用:

Flood & Learn

类似传统交换机

未知MAC
   ↓
广播
   ↓
所有VTEP

问题:

  • 广播风暴
  • ARP泛洪
  • 控制困难
  • 大规模网络效率低

这与 VMware NSX-V、微软早期NVGRE、Cisco VXLAN Flood-and-Learn模式类似。


四、EVPN是什么

EVPN定义于:

RFC 7432

它利用:

BGP

来传播:

  • MAC地址
  • IP地址
  • VTEP地址
  • 路由信息

例如:

VM1
MAC=A
IP=10.1.1.10

VTEP1通过BGP EVPN发布:

MAC A
IP 10.1.1.10
在VTEP1

VTEP2直接学到:

MAC A
→ VTEP1

无需广播。


五、EVPN+VXLAN工作关系

现代数据中心:

          BGP EVPN
        (控制平面)
                ▲
                │
 ┌──────────────┼──────────────┐
 │              │              │
VTEP1         VTEP2         VTEP3
 │              │              │
 └──────── VXLAN ──────────────┘
         (数据平面)

EVPN负责:

  • MAC学习
  • 路由发布
  • ARP抑制
  • 多租户隔离

VXLAN负责:

  • 数据封装
  • 数据转发

因此业界常说:

EVPN-VXLAN

实际上是:

EVPN + VXLAN

而不是一个单独协议。


六、EVPN-VXLAN的优势

相比传统VXLAN Flood & Learn:

功能 传统VXLAN EVPN-VXLAN
MAC学习 广播 BGP
ARP学习 广播 ARP Suppression
广播流量
收敛速度
多租户 一般 优秀
大规模扩展 一般 极强

因此目前:

  • NVIDIA(原Mellanox)
  • Cisco
  • Juniper Networks
  • Arista Networks
  • DELL

的数据中心交换机都以 EVPN-VXLAN 作为主流 Overlay 网络方案。


七、微软SDN的发展与EVPN-VXLAN

这是您最近关注的重点。

Windows Server 2016/2019

微软SDN主要采用:

Hyper-V Network Virtualization
          ↓
NVGRE

即:

Network Controller
      +
NVGRE

当时并不支持标准EVPN。


Windows Server 2022开始

微软逐步引入:

VXLAN
 + 
BGP

并开始向标准数据中心网络靠拢。

特别是在:

  • Azure Stack HCI
  • Azure Local

场景中。


Windows Server 2025 / Azure Local 250x

已经明显演进为:

Leaf-Spine
     +
BGP
     +
VXLAN Overlay

与主流EVPN-VXLAN架构越来越接近。

但需要注意:

微软当前的SDN控制平面仍然主要由 Network Controller 和 Azure 本地管理组件负责,并不像 Cisco、Arista、Juniper 那样完全采用标准 BGP EVPN 控制平面。

因此严格来说:

Cisco ACI      → EVPN-VXLAN
Arista CVX     → EVPN-VXLAN
Juniper Apstra → EVPN-VXLAN

Azure Local    → VXLAN + BGP + SDN Controller

架构思想已经非常接近,但实现方式并不完全相同。


总结:

VXLAN解决“数据怎么传”的问题(数据平面),EVPN解决“流量该传给谁”的问题(控制平面)。现代数据中心主流架构是 EVPN-VXLAN:EVPN通过BGP学习和发布MAC/IP信息,VXLAN负责在IP网络中封装和转发二层流量。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐