EVPN简介定义 EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,通过扩展BGP协议,使用扩展后的可达性信息,使不同站点的二层网络间的MAC地址学习和发布过程从数据平面转移到控制平面。 EVPN的基本模型如图6-1所示。 图6-1 基本EVPN模型
目的原有的VXLAN实现方案没有控制平面,是通过数据平面的流量泛洪进行VTEP(VXLAN Tunnel Endpoints)发现和主机信息(包括IP地址、MAC地址、VNI、网关VTEP IP地址)学习的,这种方式导致数据中心网络存在很多泛洪流量。为了解决这一问题,VXLAN引入了EVPN作为控制平面,通过在VTEP之间交换EVPN路由实现VTEP的自动发现、主机信息相互通告等功能,避免了不必要的数据流量泛洪。 EVPN是采用类似于BGP/MPLS IP VPN的机制的VPN技术,在公共网络中传播EVPN路由,在一定程度上保障客户私有数据在公共网络传播的安全性。 在VXLAN网络规模较大时,原有的VXLAN实现方案手工配置比较耗时,通过采用EVPN协议,可以减少人工配置工作量。
介绍EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,通过扩展BGP协议,使用扩展后的可达性信息,使不同站点的二层网络间的MAC地址学习和发布过程从数据平面转移到控制平面。
EVPN路由EVPN(Ethernet Virtual Private Network)技术采用类似于BGP/MPLS IP VPN的机制,在BGP协议的基础上定义了一种新的NLRI(Network Layer Reachability Information,网络层可达信息)即EVPN NLRI,EVPN NLRI定义了新的BGP EVPN路由类型,用于处在三层网络的不同站点之间的IP地址学习和发布。 在动态VXLAN隧道创建中,EVPN作为VXLAN控制平面协议,会使用到EVPN NLRI中定义的IP前缀类型(IP Prefix Route)路由,用于传递VTEP地址和主机信息,可以使VTEP(VXLAN Tunnel Endpoints)发现和主机信息学习从数据平面转移到控制平面。 IP前缀路由是Type5路由,该类型路由的报文格式如图6-2所示: 图6-2 IP前缀路由的报文格式
各字段的解释如下表所示:
Route Distinguisher 该字段为VPN实例下设置的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(VXLAN Network Identifier)。
该类型路由的IP Prefix Length和IP Prefix字段既可以携带主机IP地址,也可以携带网段地址:
相关概念VTEP(VXLAN Tunnel Endpoints) VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。 VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。 VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。 NVE(Network Virtualization Edge) 网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。 VNI(VXLAN Network Identifier) VXLAN网络标识VNI类似VLAN ID,用于区分VXLAN段。 一个VNI表示一个租户,即使多个终端用户属于同一个VNI,也表示一个租户。 VNI和VPN实例进行关联,用于VXLAN报文跨子网的转发。 EVPN-VPN-Target 每个VPN实例关联一个或多个EVPN-VPN-Target。有两类EVPN-VPN-Target: EVPN-VPN-Target属性控制EVPN路由的收发,进行EVPN路由交叉时,EVPN路由中携带的Export EVPN-VPN-Target属性中如果有一个与本地VPN实例IPv4地址族下的配置的Import EVPN-VPN-Target一致,即可交叉成功。
通过EVPN部署VXLAN隧道过程
如图6-3所示其建立过程如下:- 在Device1和Device2上创建VPN实例,并在Device1和Device2之间建立EVPN对等体关系。
- Device1和Device2间通过EVPN协议相互发送IP前缀路由。本端设备将主机地址或主机所在的网段地址引入到VPN实例中,并使用IP前缀路由发送至对端设备。
- Device1和Device2收到对方发来的IP前缀路由后,将检查路由上携带的Export EVPN-VPN-Target,如果与本端VPN实例IPv4地址族下的配置的Import EVPN-VPN-Target一致,则接收该路由,否则将丢弃此路由。接收该路由后,系统将保存其中携带的VTEP IP地址与VNI,进行报文转发时,数据报文外层将封装这些信息,即使用VXLAN隧道进行传输。
图6-3 通过EVPN部署VXLAN隧道过程图
|