SDN中EVPN与VXLAN之间的关系
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网络中封装和转发二层流量。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)