三、VXLAN BGP EVPN基本原理

——————————————————————————————————————————————————

1、BGP EVPN

EVPN是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,在BGP协议的基础上定义了一种新的网络层可达信息NLRI即EVPN NLRI,EVPN NLRI定义了几种新的BGP EVPN路由类型,用于处在二层网络的不同站点之间的MAC地址学习和发布。

原有的VXLAN实现方案没有控制平面,是通过数据平面的流量泛洪进行VTEP发现和主机信息(包括IP地址、MAC地址、VNI、网关VTEP IP地址)学习的,这种方式导致VXLAN网络存在很多泛洪流量。为了解决这一问题,VXLAN引入了EVPN作为控制平面,通过在VTEP之间交换BGP EVPN路由实现VTEP的自动发现、主机信息相互通告等功能,从而避免了不必要的数据流量泛洪。

EVPN应用于VXLAN网络中,可以使VTEP发现和主机信息学习从数据平面转移到控制平面。

——————————————————————————————————————————————————

2、BGP EVPN路由

在EVPN NLRI中定义了如下几种应用于VXLAN控制平面的BGP EVPN路由类型:

——————————————————————————————————————————————————

2.1、Type2路由——MAC/IP路由

Type2路由-MAC/IP路由

在这里插入图片描述

Route Distinguisher:该字段为EVPN实例下设置的RD(Route Distinguisher)值。

Ethernet Segment Identifier:该字段为当前设备与对端连接定义的唯一标识。

Ethernet Tag ID:该字段为当前设备上实际配置的VLAN ID。

MAC Address Length:该字段为此路由携带的主机MAC地址的长度。

MAC Address:该字段为此路由携带的主机MAC地址。

IP Address Length:该字段为此路由携带的主机IP地址的掩码长度。

IP Address:该字段为此路由携带的主机IP地址。

MPLS Label1:该字段为此路由携带的二层VNI。

MPLS Label2:该字段为此路由携带的三层VNI。

该类型路由在VXLAN控制平面中的作用包括:

主机MAC地址通告

要实现同子网主机的二层互访,两端VTEP需要相互学习主机MAC。作为BGP EVPN对等体的VTEP之间通过交换MAC/IP路由,可以相互通告已经获取到的主机MAC。

主机ARP通告

MAC/IP路由可以同时携带主机MAC地址+主机IP地址,因此该路由可以用来在VTEP之间传递主机ARP表项,实现主机ARP通告。其中,MAC Address和MAC Address Length字段为主机MAC地址,IP Address和IP Address Length字段为主机IP地址。此时的MAC/IP路由也称为ARP类型路由。

主机ARP通告主要用于以下两种场景:

ARP广播抑制

当三层网关学习到其子网下的主机ARP时,生成主机信息(包含主机IP地址、主机MAC地址、二层VNI、网关VTEP IP地址),然后通过传递ARP类型路由将主机信息同步到二层网关上。这样当二层网关再收到ARP请求时,先查找是否存在目的IP地址对应的主机信息,如果存在,则直接将ARP请求报文中的广播MAC地址替换为目的单播MAC地址,实现广播变单播,达到ARP广播抑制的目的。

分布式网关场景下的虚拟机迁移

当一台虚拟机从当前网关迁移到另一个网关下之后,新网关学习到该虚拟机的ARP(一般通过虚拟机发送免费ARP实现),并生成主机信息(包含主机IP地址、主机MAC地址、二层VNI、网关VTEP IP地址),然后通过传递ARP类型路由将主机信息发送给虚拟机的原网关。原网关收到后,感知到虚拟机的位置发生变化,触发ARP探测,当探测不到原位置的虚拟机时,撤销原位置虚拟机的ARP和主机路由。

主机IP路由通告

在分布式网关场景中,要实现跨子网主机的三层互访,两端VTEP(作为三层网关)需要互相学习主机IP路由。作为BGP EVPN对等体的VTEP之间通过交换MAC/IP路由,可以相互通告已经获取到的主机IP路由。其中,IP Address Length和IP Address字段为主机IP路由的目的地址,同时MPLS Label2字段必须携带三层VNI。此时的MAC/IP路由也称为IRB类型路由。

ARP类型路由携带的有效信息有:主机MAC地址+主机IP地址+二层VNI;IRB类型路由携带的有效信息有:主机MAC地址+主机IP地址+二层VNI+三层VNI。因此,IRB类型路由包含着ARP类型路由,不仅可以用于主机IP路由通告,也能用于主机ARP通告。

——————————————————————————————————————————————————

2.2、Type3路由——Inclusive Multicast路由

该类型路由是由前缀和PMSI属性组成,报文格式如下图所示:

在这里插入图片描述

Route Distinguisher:该字段为EVPN实例下设置的RD(Route Distinguisher)值。

Ethernet Tag ID:该字段为当前设备上的VLAN ID。在此路由中为全0。

IP Address Length:该字段为此路由携带的本端VTEP IP地址的掩码长度。

Originating Router’s IP Address:该字段为此路由携带的本端VTEP IP地址。

Flags:该字段为标志位,标识当前隧道是否需要叶子节点信息。在VXLAN场景中,该字段没有实际意义。

Tunnel Type:该字段为此路由携带的隧道类型。目前,在VXLAN场景中,支持的类型只有“6:Ingress Replication”,即头端复制,用于BUM报文转发。

MPLS Label:该字段为此路由携带的二层VNI。

Tunnel Identifier:该字段为此路由携带的隧道信息。目前,在VXLAN场景中,该字段也是本端VTEP IP地址。

该类型路由在VXLAN控制平面中主要用于VTEP的自动发现和VXLAN隧道的动态建立。作为BGP EVPN对等体的VTEP,通过Inclusive Multicast路由互相传递二层VNI和VTEP IP地址信息。其中,Originating Router’s IP Address字段为本端VTEP IP地址,MPLS Label字段为二层VNI。如果对端VTEP IP地址是三层路由可达的,则建立一条到对端的VXLAN隧道。同时,如果对端VNI与本端相同,则创建一个头端复制表,用于后续BUM报文转发。

——————————————————————————————————————————————————

2.3、Type5路由——Inclusive Multicast路由

在这里插入图片描述

Route Distinguisher:该字段为EVPN实例下设置的RD(Route Distinguisher)值。

Ethernet Segment Identifier:该字段为当前设备与对端连接定义的唯一标识。

Ethernet Tag ID:该字段为当前设备上实际配置的VLAN ID。

IP Prefix Length:该字段为此路由携带的IP前缀掩码长度。

IP Prefix:该字段为此路由携带的IP前缀。

GW IP Address:该字段为默认网关地址。该字段在VXLAN场景中没有实际意义。

MPLS Label:该字段为此路由携带的三层VNI。

该类型路由的IP Prefix Length和IP Prefix字段既可以携带主机IP地址,也可以携带网段地址:

当携带主机IP地址时,该类型路由在VXLAN控制平面中的作用与IRB类型路由是一样的,主要用于分布式网关场景中的主机IP路由通告。

当携带网段地址时,通过传递该类型路由,可以实现VXLAN网络中的主机访问外部网络。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值