1. 简介
EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,通过扩展BGP协议,使用扩展后的可达性信息,使不同站点的二层网络间的MAC地址学习和发布过程从数据平面转移到控制平面。
EVPN可以用来传递IP/MAC路由、IP前缀路由,是多合一的VPN解决方案。目前有两类,MPLS EVPN和VXLAN EVPN。
2 名词解释
Ethernet Segment (ES): 当客户侧站点通过以太网链路连接了一个或多个PE时,这组链路的集合被称作一个ES
Ethernet Segment Identifier (ESI): 对于ES的一个非0的标识符,不同ES的ESI不同
EVI: PE上不同的EVPN实例
MAC-VRF: PE上虚拟的MAC转发表,与L3VPN中IP VRF类似
3 MPLS EVPN
3.1 EVPN的5种路由类型
BGP MPLS-Based Ethernet VPN,RFC 7432定义了新的NLRI,格式如下:
共有5种路由类型:
- Ethernet Auto-Discovery(A-D) route
- MAC/IP advertisement route
- Inclusive Multicast Ethernet Tag Route
- Ethernet Segment Route
- IP Prefix Route
3.2 EVPN启动过程-控制平面
3.2.1 配置EVPN实例RD、RT
为EVPN实例配置RD、RT,每个路由器上的EVI
中生成空的MAC-VRF
3.2.2 配置BGP对等体
BGP邻居建立后传递Type3
路由,用于建立PE之间的BUM转发表
。
Type3
路由的RD
和源IP
信息在NLRI
信息中,隧道标签信息在PMSI_TUNNEL_ATTRIBUTE
信息中。
3.2.3 绑定AC接口到EVPN实例
绑定后会触发Type4
路由,用来实现连接到相同CE的PE设备之间互相自动发现。
RD
、ESI值
、源IP
信息包含在NLRI
信息中,PE会记录跟本地ESI相同的成员信息。3.2.4 DF选举
连接相同ESI的PE会进行DF选举,只有DF路由器才能转发广播报文给AC侧。
选举方法:
- 基于设备:比较IP地址,IP地址小为DF
- 基于VLAN:不同VLAN有不同的DF
3.2.5 传递ESI标签
DF选举后,PE发送Type1路由
,用于传递ESI路由的标签
3.2.6 EVPN MAC地址学习
当CE1发送ARP Requset
到PE1时,PE1在MAC-VRF
中学习CE1的MAC地址,并生成Type2路由
传递给其他PE。
- PE3和PE4由于没有ESI1,直接将MAC/IP路由信息装入
MAC-VRF
- PE2由于本地有ESI1,走PE2与CE1互联链路最优。PE2从PE1的
Type2路由
中学习CE1的MAC地址,在MAC-VPF
表中生成本地出接口路由 - PE2生成
Type2路由
传递给其他PE,最终PE3和PE4的MAC-VRF
中,关于CE1的MAC地址生成2条路由
3.3 EVPN转发平面
3.3.1 BUM流量
对于向PE3和PE4转发的ARP Request报文
,打上BUM标签
和外层Tunnel标签
,PE3和PE4根据DF选举情况继续转发BUM报文。
对于向含有相同ESI的PE2转发的
ARP Request报文
,首先打上ESI标签
,再打上BUM标签
,最后打上Tunnel标签
,PE2根据ESI标签得知本地存在相同ESI,不再继续转发BUM报文。3.3.2 单播流量
CE2回复ARP Reply时,首先会触发PE控制平面MAC-VRF
路由学习,PE3上生成CE2 MAC地址的MAC-VRF路由,并传播给其他PE。
PE3转发ARP Replay单播报文时,查寻MAC-VRF表,根据负载分担的算法选择,将单播报文加上MAC-VRF标签
发给PE1或者PE2。
网友评论