什么是EVPN
一、EVPN是什么?(一句话+三维度定义)
EVPN(Ethernet VPN) 是一种基于BGP控制面的下一代覆盖网络技术,它通过MP-BGP来传递MAC/IP可达性信息,实现虚拟以太网服务的灵活构建。
从三个维度理解:
| 维度 | 说明 |
|---|---|
| 控制面 | 使用BGP(具体是MP-BGP的L2VPN EVPN地址族)来通告MAC、IP、前缀等路由信息 |
| 数据面 | 通常配合VXLAN、MPLS或Geneve等隧道封装,承载二层以太网帧或三层IP包 |
| 核心价值 | 将传统“数据面学习MAC”变为“控制面通告MAC/IP”,彻底解决了泛洪、MAC表爆炸、收敛慢等痛点 |
二、EVPN的核心原理与路由类型
1. 核心思想
- MAC/IP路由化:把MAC地址和IP地址当作“路由”一样,通过BGP在PE之间传递。
- 控制面与数据面分离:不再依赖数据流来学习MAC,所有学习通过BGP完成。
2. 五种关键路由类型(RFC 7432/8365)
| 路由类型 | 名称 | 作用 | 对应L2/L3 |
|---|---|---|---|
| Type 1 | 以太网段路由(ES) | 用于多归属(Multi-homing)的冗余和快速收敛 | L2 |
| Type 2 | MAC/IP通告路由 | 最核心。通告MAC地址,可选携带IP地址 | L2(纯MAC)或 L3(MAC+IP) |
| Type 3 | 包含性组播路由(IMET) | 用于BUM(广播、未知单播、组播)流量复制 | L2 |
| Type 4 | 以太网段发现路由 | 辅助Type 1,用于多归属检测 | L2 |
| Type 5 | IP前缀路由 | 通告IP网段,用于跨子网或外部路由注入 | 纯L3 |
区分L2/L3的关键:Type 2是否携带IP + 是否有Type 5路由。纯L2只有Type 2(无IP)和Type 3;含L3功能则有Type 2(带IP)和Type 5。
三、EVPN的完整配置框架(以H3C设备为例)
EVPN的配置按模块拆解为四步,下面是一个同时支持L2和L3的完整配置示例(分布式网关场景)。
第1步:基础网络与MP-BGP配置
打通底层IP网络,建立BGP EVPN邻居。
# 配置Loopback地址作为VTEP源地址
[PE1] interface loopback 0
[PE1-Loopback0] ip address 1.1.1.1 32
# 配置IGP(如OSPF)保证底层互通(略)
# 配置BGP,激活L2VPN EVPN地址族
[PE1] bgp 100
[PE1-bgp] peer 2.2.2.2 as-number 100
[PE1-bgp] peer 2.2.2.2 connect-interface loopback 0
[PE1-bgp] address-family l2vpn evpn
[PE1-bgp-af-l2vpn-evpn] peer 2.2.2.2 enable
第2步:创建L3VPN实例(VRF)—— 用于三层转发
如果只需纯L2,此步可省略。
[PE1] ip vpn-instance tenant-a
[PE1-vpn-instance-tenant-a] route-distinguisher 100:1
[PE1-vpn-instance-tenant-a] address-family ipv4
[PE1-vpn-ipv4-tenant-a] vpn-target 100:1 both
[PE1-vpn-ipv4-tenant-a] quit
第3步:创建VSI(虚拟交换实例)—— 即L2 VPN实例
VSI是EVPN中的“虚拟交换机”,负责二层转发。
[PE1] vsi tenant-a-vsi
[PE1-vsi-tenant-a-vsi] vxlan 10010 # VXLAN Network Identifier
[PE1-vsi-tenant-a-vsi] evpn encapsulation vxlan # 启用EVPN
[PE1-vsi-tenant-a-vsi] l3-vni 10010 # 绑定L3 VNI(若需三层)
[PE1-vsi-tenant-a-vsi] ip binding vpn-instance tenant-a # 关联VRF(若需三层)
第4步:将用户接口绑定到VSI(接入电路AC)
# 方式一:二层子接口(推荐,支持VLAN匹配)
[PE1] interface ten-gigabitethernet 1/0/1.10 mode l2
[PE1-Ten-GigabitEthernet1/0/1.10] encapsulation s-vid 10
[PE1-Ten-GigabitEthernet1/0/1.10] xconnect vsi tenant-a-vsi
# 方式二:服务实例(传统H3C风格,功能相同)
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 10
[PE1-Ten-GigabitEthernet1/0/1-srv10] encapsulation s-vid 10
[PE1-Ten-GigabitEthernet1/0/1-srv10] xconnect vsi tenant-a-vsi
配置关键点总结
| 组件 | 作用 | 是否必须 |
|---|---|---|
| BGP EVPN地址族 | 传递所有EVPN路由 | 必须 |
| VSI | 二层交换域,相当于VLAN | 必须 |
| VXLAN | 数据面隧道封装 | 必须(若用VXLAN) |
| L3VPN实例(VRF) | 三层路由隔离和转发表 | 仅需三层时 |
| L3 VNI | 关联VSI和VRF的“桥梁” | 仅需三层时 |
四、EVPN的查看命令与关键解读
1. 查看EVPN路由表(最核心)
[PE1] display bgp l2vpn evpn routing-table
- 看到 Type 2(含IP) + Type 5 → L3能力已开启。
- 只看到 Type 2(无IP) + Type 3 → 纯L2。
2. 查看VSI详细信息
[PE1] display vsi tenant-a-vsi verbose
关键字段:
L3 VNI:有值 → 支持三层Binding VRF:有绑定 → 已关联路由表
3. 查看VPN实例路由表(L3)
[PE1] display ip routing-table vpn-instance tenant-a
如果有对端网段的路由条目,说明三层转发生效。
4. 查看MAC地址表(L2)
[PE1] display mac-address vsi tenant-a-vsi
可以看到通过BGP学到的远端MAC地址,以及对应的VXLAN隧道信息。
五、EVPN的典型应用场景
1. 数据中心Overlay网络(最大规模应用)
- 场景:构建大二层网络,支持虚机/容器跨机架、跨数据中心迁移,保持IP/MAC不变。
- 价值:分布式网关避免流量绕行,多归属实现链路冗余和负载分担。
2. 多站点互联(DCI)
- 场景:将多个数据中心的VXLAN网络通过EVPN打通,形成统一的逻辑网络。
- 价值:相比传统VPLS,EVPN收敛更快、配置更简洁,支持更灵活的多归属。
3. 运营商L2/L3 VPN服务
- 场景:为企业客户提供跨域的二层或三层VPN专线服务。
- 价值:EVPN支持MPLS封装,可平滑替换VPLS,且能在一张网络上同时提供L2和L3服务。
4. 5G承载网(SPN/SR-TE场景)
- 场景:承载5G核心网和接入网之间的灵活以太网业务。
- 价值:EVPN的灵活路由类型可适应切片、多归属等5G特定需求。
六、EVPN与其他VPN技术的完整对比
| 对比维度 | EVPN | 传统VPLS(L2VPN) | MPLS L3VPN | IPsec VPN | SSL VPN |
|---|---|---|---|---|---|
| 工作层级 | L2+L3(融合) | L2 | L3 | L3(通常) | L3/L7 |
| 控制面协议 | BGP(MP-BGP EVPN) | LDP(或BGP自动发现) | MP-BGP(VPNv4/v6) | IKE/ISAKMP | TLS |
| 数据面封装 | VXLAN / MPLS / Geneve | MPLS | MPLS | IPsec(ESP/AH) | TLS(HTTPS) |
| MAC学习方式 | BGP控制面(非泛洪) | 数据面泛洪 | 不涉及MAC | 不涉及MAC | 不涉及MAC |
| 多归属能力 | 全活(All-Active)高 | 多活困难,通常需STP | 无此概念(三层ECMP) | 无 | 无 |
| 广播/组播处理 | BUM复制(可控) | 泛洪或P2MP | 无广播,组播需额外 | 不支持组播 | 不支持组播 |
| 跨子网通信 | 内置L3网关,直接支持 | 需要外部路由器 | 直接支持 | 支持 | 支持 |
| 规模扩展性 | 极好(BGP水平扩展) | 差(MAC表爆炸) | 好(路由隔离) | 差(隧道数多) | 差(网关瓶颈) |
| 典型场景 | 数据中心、DCI、运营商 | 历史遗留L2专线 | 企业站点互联 | 远程接入、Site-to-Site | Web远程接入 |
七、如何快速区分EVPN和其他技术(决策树)
当你面对一个未知VPN系统时,按以下顺序判断:
-
看控制面是否为BGP且地址族为L2VPN EVPN?
- 否 → 不是EVPN。检查是否用LDP(VPLS)或IKE(IPsec)。
- 是 → 是EVPN,继续下一步。
-
看BGP路由表里是否有Type 5或带IP的Type 2?
- 否(只有纯MAC Type 2 + Type 3)→ 纯L2 EVPN。
- 是(有Type 5或MAC+IP Type 2)→ 含L3功能的EVPN。
-
看数据面封装是什么?
- VXLAN / MPLS / Geneve → 可能是EVPN。
- IPsec / GRE / L2TP → 大概率不是EVPN。
-
看是否配置了VRF且绑定了L3 VNI?
- 是 → 确认是L3 EVPN。
- 否 → 确认是L2 EVPN。
八、总结升华
EVPN不是简单的“L2VPN升级版”,而是一个统一了L2和L3控制面的通用架构。
它最革命性的贡献在于:将MAC地址和IP地址统一纳入BGP这个成熟的路由协议来管理,让网络具备了“路由一样的三层控制力,加上交换一样的二层灵活性”。这使它成为现代数据中心和广域承载网的事实标准。
实用记忆口诀:
EVPN看BGP,路由类型分五六(类);
纯二只看MAC址,要跑三层加IP;
VSI管交换,VRF管路由;
VXLAN打隧道,分布式网关不绕行。

浙公网安备 33010602011771号