概念:
全称为Ethernet Virtual Private Network,是一种用于实现网络二层互通的vpn技术。通过扩展BGP协议的NLRI,新增了几种类型的BGP EVPN路由类型,用于在不同站点之间通告主机的mac地址和ip地址信息。
EVPN在vxlan中的应用:
vxlan作为一种数据封装技术,其本身没有控制平面,其在转发数据前的表项学习,如arp表、VNI、VTEP地址等都是通过数据包的泛洪来完成,如果网络中存在大量的泛洪流量,势必对网络的性能有所影响,因此为了减少vxlan数据转发前表项学习的泛洪流量,特使用EVPN作为vxlan的控制平面,来完成在vxlan转发数据报文前arp表项学习,主机路由学习和VTEP自动发现。
BGP EVPN路由:
BGP通过以下几种路由来完成vxlan控制平面的表项通告工作
type2 路由--MAC/IP路由:
报文格式
作用
mac地址通告:
要实现VTEP之间相同VNI之间的互相访问,VTEP之间必须互相学习主机mac地址。BGP EVPN通过相互通告type2类型的路由,在type2 类型路由的MAC address length 和MAC address字段中通告MAC地址。
ARP表项通告:
type2类型路由除了能通告mac地址外,还可以通过ip address length 和ip address 字段通告主机ip地址,同mac地址一同形成arp表现的通告,也叫ARP型路由的通告;
- 形成ARP广播抑制表:
当VXLAN三层网关完成arp表项的学习后,BGP EVPN将arp信息通过ARP型路由通告给各个二层网关,当二层网关使能了arp广播抑制功能后,主机发出的arp广播请求报文如果匹配到了二层网关的arp广播抑制表,广播报文将被转换为单播报文发送,如果没有匹配上,将进行头端复制。 - 完成分布式网关场景下的网关的迁移:
当一个VTEP下的虚拟机迁移到另外一个VTEP后,主机发送免费ARP报文,迁移后的网关感知到虚拟机的上线行为,因而将主机ARP条目通告type2类型的路由通告给所有VTEP,当原网关收到此路由后,感知到虚拟机已经发生了迁移,从而触发ARP探测,探测不成功后发送BGP 撤销跟新,撤销自己之前通告的ARP型路由。 - 主机ip路由通告:
在分布式网关场景下,为了实现网络的三层互通,VTEP之间必须互相通告主机路由和三层VNI,及type2类型中的ip address length和ip address字段、MPLS LABLE2字段。此路由也叫IRB型路由。
注意!!ARP型路由的有效字段为主机mac地址+主机地址+二层VNI,IRB型路由的有效字段为主机mac地址+主机地址+二层vni+三层vni,因此可以看出,IRB类型路由包含ARP型路由,因此在BGP EVPN通告时只通告IRB型路由即可
type3 路由--inclusive multicast路由:
报文格式
作用
该类型路由主要用来完成VTEP地址的自动发现和VXLAN隧道的动态建立,主要用来通告二层VNI信息和VTEP ip地址信息。通过ip address length和originating router ip address 字段通告VTEP ip,通过MPLE LABLE 字段通告二层vni。从而动态形成vxlan隧道和头端复制列表。
type5 路由--ip前缀路由:
报文格式
作用
如果携带的是主机路由通告,作用同type2类型路由相同;
如果携带的是网段路由,主要用来实现vxlan网络和外部网络的通信;