EVPN简介
什么是EVPN?EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种满足全业务需求的NVO (Network Virtualization Overlay) 解决方案,具有部署简单、扩展性强等优点。在控制平面,EVPN采用MP-BGP协议通告二层或三层可达性信息,通过生成的MAC地址表项和路由表项进行二/三层报文转发,以实现为用户提供L2VPN和L3VPN服务。在数据平面,EVPN支持VXLAN、SRv6或MPLS等多种报文转发方式,增加了网络部署的灵活性。为什么需要EVPN?传统L2VPN技术在数据中心网络中面临的问题随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。出于灾备、企业分支机构的多地部署、提升资源利用率等方面的考虑,企业可能在不同的物理站点部署自己的数据中心网络。于是,如何将这些数据中心站点互联起来、降低数据中心的管理成本、灵活扩充数据中心业务等成为企业数据中心亟待解决的问题。传统的用于数据中心站点互联的L2VPN技术主要为VPLS(Virtual Private LAN Service,虚拟专用局域网服务)。VPLS的局限性在于:站点间必须是MPLS网络。MPLS的配置较为复杂,维护工作量较大。扩容困难。在VPLS网络中,为了避免环路,PE之间需要建立全连接。每次扩容新增站点时都需要在已有的所有站点PE上新增配置,以便与新增站点的PE建立连接。控制平面通过数据帧泛洪来建立MAC地址表项,效率较低,并浪费网络带宽资源。站点多归属接入(站点同时接入多个PE设备)时,多归属接入的多条链路中,仅有一条链路可以用来转发流量,无法在多条链路间进行负载分担,造成链路资源浪费。
由于VPLS存在上述局限性,使得VPLS无法满足大规模数据中心网络的业务需求。
{:6_267:} 本帖最后由 白开心 于 2024-5-27 14:26 编辑
EVPN如何满足数据中心网络的需求如图所示,EVPN将控制平面与数据平面分离。控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。控制平面:采用MP-BGP协议通告可达性信息,以建立报文转发通道(VXLAN隧道或PW),并学习MAC地址表项和IP路由表项。数据平面:根据学习到的MAC地址表项或IP路由表项,通过控制平面建立的通道转发报文。数据平面支持多种报文封装技术,包括VXLAN、SRv6和MPLS等。图1 EVPN协议框架https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_0.png
EVPN由RFC 7432(BGP MPLS-Based Ethernet VPN)定义。最初,EVPN的定位是用来替代VPLS的下一代L2VPN。灵活的MP-BGP控制平面、多样的数据平面,使得EVPN完美地解决了VPLS技术的问题:数据平面支持VXLAN、SRv6和MPLS等报文封装方式,使得EVPN可以基于IPv4网络、IPv6网络、MPLS网络部署,增加了网络部署的灵活性。通过部署路由反射器,可以避免设备全连接,降低网络部署和扩容的难度。同时,EVPN通过MP-BGP协议自动发现远端设备、自动与远端设备建立报文转发通道,无需用户手工配置,进一步降低了网络部署难度。通过MP-BGP协议通告MAC地址信息,将站点网络间的MAC地址学习从数据平面转移到控制平面,使设备可以像管理路由一样灵活地管理MAC地址,减少了网络中的泛洪流量,节约网络带宽。站点多归属接入时,EVPN支持多种冗余备份模式:多活模式:多归属接入的多条链路都可以转发流量,流量在链路间进行负载分担,以提高链路利用率。单活模式:多归属接入的多条链路中只有一条用来转发流量,不同链路间主备备份,以提高流量转发的可靠性。除此之外,EVPN还可以通过MP-BGP协议通告三层可达性信息,为用户提供L3VPN业务。L2VPN和L3VPN业务同时通过EVPN来承载,统一了L2VPN和L3VPN的控制信令协议。配置简单、易于扩容、部署灵活、节约带宽等特点,使得EVPN可以很好地满足大规模数据中心网络的需求,并广泛应用于数据中心网络。随着EVPN技术的不断发展和推进,EVPN在园区接入网络、广域网、运营商网络中也具有一定的应用。
本帖最后由 白开心 于 2024-5-28 09:06 编辑
EVPN与VPLS的对比
EVPN支持哪些组网方式?根据数据平面封装方式的不同,EVPN支持如下几种组网方式:
EVPN VXLAN:数据平面采用VXLAN封装。EVPN VXLAN网络的边缘设备称为VTEP(VXLAN Tunnel End Point,VXLAN隧道端点),EVPN的相关处理均在VTEP上完成。EVPN VXLAN通过在VTEP间建立VXLAN隧道,透明传输二层数据报文,实现不同站点间的二层互联。通过在EVPN VXLAN网络中部署EVPN网关,可以实现为同一租户的不同子网提供三层互联,并为其提供与外部网络的三层互联。图2 EVPN VXLAN网络示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_1.png
EVPN VPLS:数据平面采用MPLS封装,用来实现用户站点网络的多点间二层互通。EVPN VPLS组网中,服务提供商网络侧设备PE间通过MP-BGP协议建立EVPN PW、学习MAC地址表项,并通过查找MAC地址表转发报文,以实现多点间的二层互通。图3 EVPN VPLS网络示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_2.png
EVPN VPWS:数据平面采用MPLS封装,用来实现用户站点网络的点到点二层互通。EVPN VPWS组网中,用户网络侧设备CE通过AC(Attachment Circuit,接入电路)接入服务提供商网络侧设备PE,PE间通过MP-BGP协议建立EVPN PW,在PE上将AC与EVPN PW关联,即可沿着本端CE—>本端AC—>本端PE—>EVPN PW—>远端PE—>远端AC—>远端CE的路径实现点到点二层互通。图4 EVPN VPWS网络示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_3.png
EVPN VPLS over SRv6:数据平面采用SRv6封装,用来实现用户站点网络的多点间二层互通。EVPN VPLS over SRv6与EVPN VPLS类似,不同之处在于EVPN VPLS over SRv6组网中,PE之间建立的虚拟连接为SRv6隧道。
EVPN VPWS over SRv6:数据平面采用SRv6封装,用来实现用户站点网络的点到点二层互通。EVPN VPWS over SRv6与EVPN VPWS类似,不同之处在于EVPN VPWS over SRv6组网中,PE之间建立的虚拟连接为SRv6隧道。
EVPN如何工作?下文以MPLS封装方式的EVPN VPLS为例说明EVPN的工作过程。
网络架构如图5所示,EVPN VPLS网络主要包括如下几个组成部分:
CE(Customer Edge,用户网络边缘):直接与服务提供商网络相连的用户网络侧设备。
PE(Provider Edge,服务提供商网络边缘):与CE相连的服务提供商网络侧设备。PE主要负责EVPN VPLS业务的接入,完成报文从用户网络到核心网、从核心网到用户网络的映射与转发。
AC(Attachment Circuit,接入电路):PE上,连接CE的物理电路或虚拟电路,仅PE设备可以感知到AC的存在。
EVPN PW(Pseudowire,伪线):两个PE之间的虚拟双向连接。
ES(Ethernet Segment,以太网段):CE连接到PE的链路,通过ESI(Ethernet Segment Identifier,以太网段标识符)唯一标识。为了支持多归属接入,EVPN引入了ES的概念。当一个站点通过多条链路接入到EVPN网络时,这些链路构成一个ES,具有相同的ESI。PE通过MP-BGP协议通告ES信息,以便在多归属链路上实现主备备份或负载分担。
VSI(Virtual Switch Instance,虚拟交换实例):PE上提供二层交换服务的虚拟实例,可以理解为PE上的一台虚拟交换机,每个VSI为一个EVPN VPLS网络提供二层转发服务。图5 EVPN VPLS网络架构图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_5.png
EVPN工作机制综述在EVPN网络中,若要实现站点网络间的二层互通、并实现不同VSI的流量隔离,则需要解决如下问题:
PE从站点网络和核心网接收到报文后,能够识别报文所属的VSI。
PE能够学习用户的MAC地址表项,并为不同VSI维护独立的MAC地址表项。
在PE之间建立报文转发通道(EVPN VPLS组网中为EVPN PW),以便站点网络的用户报文在核心网中透明传递。
PE接收到报文后,判断报文所属的VSI,在该VSI内查找MAC地址表项,并根据表项查找结果转发报文。控制平面上,EVPN扩展了MP-BGP协议,通过BGP EVPN路由发布可达性信息,以建立报文转发通道、学习MAC地址表项。由此可见,BGP EVPN路由是EVPN协议的重要组成部分。下文中,将首先介绍BGP EVPN路由,其次介绍PE识别报文所属VSI的方法,然后介绍控制平面通过BGP EVPN路由建立报文转发通道、学习MAC地址表项的过程,以及数据平面在站点网络之间转发报文的过程。EVPN还定义一些工作机制,以更好地支持站点多归属接入,本节的最后将介绍EVPN站点多归属的工作机制。
BGP EVPN路由为了支持EVPN,MP-BGP在L2VPN地址族下定义了新的子地址族——EVPN地址族,并为该地址族定义了EVPN NLRI(Network Layer Reachability Information,网络层可达性信息),即BGP EVPN路由。EVPN子地址族使用的地址族编号为:AFI=25,SAFI=70。BGP EVPN路由主要包括:
Ethernet Auto-discovery Route:以太网自动发现路由,用来在站点多归属组网中通告ES信息。
MAC/IP Advertisement Route:MAC/IP发布路由,用来通告MAC地址和主机路由信息(即ARP信息和ND信息)。
Inclusive Multicast Ethernet Tag Route:包含性组播以太网标签路由,又称为IMET路由,用来通告PE信息,以便自动发现远端PE,并自动在本地PE和远端PE之间建立EVPN PW。
Ethernet Segment Route:以太网段路由,用来通告ES及其连接的PE信息,以便通过同一ES连接相同的PE之间彼此互相发现,并从中选举出负责转发泛洪流量的DF(Designated Forwarder,指定转发者)。
IP Prefix advertisement route:IP前缀路由,以IP前缀的形式通告BGP IPv4单播路由或BGP IPv6单播路由,通常用来实现EVPN网络与外部网络的三层互通。目前,仅EVPN VXLAN网络支持该路由。
识别报文所属的VSI本地站点内接收到报文的识别PE将连接本地站点的三层接口或以太网服务实例(Service Instance)与VSI关联。PE从三层接口或以太网服务实例接收到报文后,查找与其关联的VSI,该VSI即为该报文所属的VSI。如图6所示,VM 1属于VLAN 2,在PE上配置以太网服务实例1匹配VLAN 2的报文,将以太网服务实例1与VSI A绑定,则PE接收到VM 1发送的报文后,可以判定该报文属于VSI A。图6 报文所属VSI的识别https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_6.png
EVPN PW接收报文的识别EVPN在PE间建立报文转发通道(即EVPN PW)时,会为EVPN PW分配用以标识VSI实例的MPLS标签。从EVPN PW上接收到的报文,PE根据报文中携带的MPLS标签可以判断该报文所属的VSI。
{:6_267:} 控制平面建立EVPN PW和学习MAC地址如图7所示,PE之间通过BGP EVPN路由自动建立EVPN PW的过程为:(1) PE为每个VSI实例分配两个MPLS标签(即PW标签),分别用于转发已知单播报文和BUM(Broadcast/Unknown unicast/Unknown Multicast,广播/未知单播/未知组播)报文。(2) 本端PE通过MAC/IP发布路由将转发已知单播报文的MPLS标签通告给远端PE;通过IMET路由将转发已知单播报文和BUM报文的MPLS标签(即IMET MPLS label)通告给远端PE。该路由中携带VPN Target属性。(3) 远端PE接收到MAC/IP发布路由或IMET路由后,将路由中的VPN Target属性与本地的Import Target进行匹配,如果一致则根据路由中携带的PE地址、MPLS标签等信息建立一条单向的虚拟连接。(4) 当两端的PE间建立了两条方向相反的单向虚拟连接,则EVPN PW建立完成。图7 建立EVPN PW和学习MAC地址过程示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_7.png
PE上MAC地址学习分为两部分:
本地MAC地址学习:PE接收到本地CE发送的报文后,判断该报文所属的VSI,并将报文中的源MAC地址(本地CE的MAC地址)添加到该VSI的MAC地址表中,该MAC地址的出接口为接收到报文的AC。
远端MAC地址学习:PE通过MAC/IP发布路由将本地学习的MAC地址通告给远端PE。远端PE接收到该信息后,将MAC添加到对应的VSI的MAC地址表中,该MAC地址的出接口为两个PE之间的EVPN PW。
数据平面转发报文PE从AC接收到单播报文后,若在报文所属VSI的MAC地址表内可以查找到报文目的MAC匹配的MAC地址表项(如CE 1访问CE 3),则该报文为已知单播报文;否则,该报文为未知单播报文。已知单播报文、BUM(Broadcast/Unknown unicast/Unknown Multicast,广播/未知单播/未知组播)报文的转发方式有所不同。已知单播报文的转发过程为:(1) 本端PE在报文所属VSI的MAC地址表内查找到匹配的MAC地址表项后:如果表项的出接口为EVPN PW,则为报文封装MPLS标签,通过EVPN PW将封装MPLS标签后的报文转发给远端PE。如果表项的出接口为连接本地CE的AC,直接通过该AC将报文转发给本地CE。(2) 远端PE从EVPN PW接收到封装MPLS标签后的报文后,将其解封装,恢复为原始报文,然后在报文所属的VSI内查找MAC地址表,通过表项的出接口将报文转发给本地站点。BUM报文的转发过程为:(1) 本端PE从AC接收到BUM报文后,在报文所属的VSI内泛洪该报文,即将其发送给除接收AC外的所有其它AC,并查找该VSI内所有用于转发BUM流量的IMET MPLS label,为报文分别封装这些IMET MPLS label标签后,将该报文泛洪给所有远端PE。(2) 远端PE从EVPN PW接收到封装IMET MPLS label的报文后,将其解封装,恢复为原始报文,然后将其发送给该EVPN PW所属VSI内的所有AC。图8 报文转发过程示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_8.png
多归属(EVPN multihoming)多归属简介EVPN多归属是指一个站点通过不同的以太网链路接入EVPN网络中的多台PE,接入的多台PE组成冗余备份组,该站点的流量在多台PE间进行负载分担。利用多归属技术可以避免PE单点故障造成EVPN网络通信中断,从而提高EVPN网络的可靠性。EVPN多归属的网络模型如图9所示,其中:
站点CE 1接入的多台PE组成冗余备份组。
接入冗余备份组中不同PE的一组链路,组成一个ES,它们具有相同的ESI。
通过ES接入冗余备份组的站点,称为多归属站点。图9 EVPN多归属组网https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_9.png
EVPN多归属支持如下两种冗余备份模式:
多活模式:用来实现负载分担。该模式下,冗余备份组中的多台PE均可以转发流量,CE之间存在多条可达链路,形成负载分担。
单活模式:用来实现主备备份。该模式下,冗余备份组中仅有一台PE转发流量,该PE故障后,流量可以切换到冗余备份组中的另一台PE上,使得流量转发不中断。多归属引入的问题站点多归属接入引入了如下问题:
冗余备份组中的PE如何互相发现,即PE如何发现哪些PE和它连接着同一个ES?
在多活模式下,冗余备份组中的多台PE均可以转发BUM流量,如何避免站点同时收到多份BUM流量?
在单活模式下,如何确定冗余备份组中的哪台PE负责转发流量?
站点多归属接入PE时,在网络拓扑中引入了环路,如何避免流量转发环路?下文将逐一讲解EVPN针对上述问题的解决方法。ES路由,实现冗余备份组中的PE互相发现冗余备份组中的PE通过以太网段路由(ES路由)实现互相发现,其过程为:(1) 冗余备份组中的PE设备之间互相发送以太网段路由,该路由中携带ES的ESI值、ES连接的PE信息(如IP地址、优先级等)。(2) PE接收到以太网段路由后,如果路由中携带的ESI值与本地相同,则PE记录发送该路由的PE信息,以便生成连接到同一ES的所有PE的列表。DF选举,确定流量转发者在多活模式下,CE 1双归属接入PE 1和PE 2,当CE 2向 CE 1发送泛洪流量时,为了避免PE 1和PE 2均转发泛洪流量至CE 1而造成网络资源浪费,EVPN引入了DF选举机制。DF选举是指从冗余备份组中选举一个PE作为DF(Designated Forwarder,指定转发者),负责将泛洪流量转发到本地站点,其它PE作为BDF(Backup DF,备份DF),不会向本地CE转发泛洪流量。图10 DF选举示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_10.png
在单活模式下,EVPN也是通过DF选举,选择出负责转发流量的PE设备(即DF设备)。水平分割,避免流量转发环路EVPN多归属中组网中可能会出现环路和报文重复接收等问题。如图11所示,多活冗余备份模式下,CE 1发送泛洪报文到BDF,BDF将报文发送给DF,若DF再次将报文泛洪到CE 1,则会形成环路。图11 EVPN多归属水平分隔示意图https://wiki.h3c.com/cn/images/TextImg/%E8%AF%8D%E6%9D%A1%E6%AD%A3%E6%96%87_EVPN.files/x_Img_x_png_11.png
EVPN多归属引入了水平分割机制来解决上述问题,即PE接收到同一冗余备份组内的其它PE发送的泛洪流量后,不再向本地具有相同ESI标识的ES转发泛洪流量,从而避免环路和报文重复接收等问题。
{:6_267:} EVPN简介 [
页:
[1]
2