BGP EVPN路由类型
传统的BGP-4使用Update报文在对等体之间交换路由信息。一条Update报文可以通告一类具有相同路径属性的可达路由,这些路由放在NLRI(Network Layer Reachable Information,网络层可达信息)字段中。
因为BGP-4只能管理IPv4单播路由信息,为了提供对多种网络层协议的支持(例如IPv6、组播),发展出了MP-BGP(MultiProtocol BGP)。MP-BGP在BGP-4基础上对NLRI作了新扩展。玄机就在于新扩展的NLRI上,扩展之后的NLRI增加了地址族的描述,可以用来区分不同的网络层协议,例如IPv6单播地址族、VPN实例地址族等。
类似的,EVPN在L2VPN地址族下定义了新的子地址族——EVPN地址族,并新增了一种NLRI,即EVPN NLRI。EVPN NLRI定义了以下几种BGP EVPN路由类型,通过在EVPN对等体之间发布这些路由,就可以实现VXLAN隧道的自动建立、主机地址的学习。
- Type2路由——MAC/IP路由:用来通告主机MAC地址、主机ARP和主机路由信息。
- Type3路由——Inclusive Multicast路由:用于VTEP的自动发现和VXLAN隧道的动态建立。
- Type5路由——IP前缀路由:用于通告引入的外部路由,也可以通告主机路由信息。
EVPN路由在发布时,会携带RD(Route Distinguisher,路由标识符)和VPN Target(也称为Route Target)。RD用来区分不同的VXLAN EVPN路由。VPN Target是一种BGP扩展团体属性,用于控制EVPN路由的发布与接收。也就是说,VPN Target定义了本端的EVPN路由可以被哪些对端所接收,以及本端是否接收对端发来的EVPN路由。
VPN Target属性分为两类:
- Export Target:本端发送EVPN路由时,将消息中携带的VPN Target属性设置为Export Target。
- Import Target:本端在接收到对端的EVPN路由时,将消息中携带的Export Target与本端的Import Target进行比较,只有两者相等时才接收该路由,否则丢弃该路由。