EVPN技术白皮书杭州华三通信技术有限公司第1页,共23页EVPN技术白皮书关键词:EVPN,VTEP,ES,L3VNI,IRB摘要:本文介绍了EVPN的基本技术和典型应用,展示了杭州华三通信技术有限公司(以下简称H3C)交换机系列产品所提供的EVPN功能.
缩略语:缩略语英文全名中文解释VPLSVirtualPrivateLANService虚拟专用局域网业务EVPNEthernetVirtualPrivateNetwork以太虚拟私有网络RDRouteDistinguisher路由标示符VXLANVirtualeXtendLocalAccessNetwork虚拟局域网IRBIntegratedRoutingandBridging集成式桥接和路由RRRouteReflector路由反射器VSIVirtualSwitchInstance虚拟交换实例VTEPVirtualTunnelEndPoint虚拟隧道端点BUMBroadcast,Unknownunicast,orMulticast广播,未知单播和组播PIMProtocolIndependentMulticast协议无关组播(协议)L3VNILayer3VirtualNetworkIdentifier三层虚拟网络标识符DFDesignatedForwarder指定转发器BDFBackupDesignatedForwarder备份指定转发器EVPN技术白皮书杭州华三通信技术有限公司第2页,共23页目录1概述.
31.
1产生背景.
31.
2EVPN特点42技术实现42.
1EVPN网络模型.
42.
2EVPN控制平面工作机制62.
2.
1BGPEVPN邻居建立.
62.
2.
2BGPEVPN消息类型.
72.
2.
3VXLAN隧道及BUM广播表建立.
82.
2.
4MAC/IP路由通告与学习92.
2.
5外部路由通告与学习112.
2.
6主机迁移.
132.
2.
7ARP抑制132.
3EVPN数据面工作机制132.
3.
1转发二层流量132.
3.
2集中式网关转发.
142.
3.
3分布式网关对称IRB转发152.
4EVPN多归属.
173典型组网应用.
194参考文献23EVPN技术白皮书杭州华三通信技术有限公司第3页,共23页1概述EVPN(EthernetVirtualPrivateNetwork)是一种构建跨IP网络二层网络互联技术.
EVPN通过扩展MP-BGP协议来传递网络节点的MAC和ARP等信息,通过生成的MAC表项和路由表项进行二/三层报文转发,以实现跨IP网络实现二层互联的目的.
1.
1产生背景随着IT应用的移动化、访问终端的多样化、以及安全问题的日益突出,原来传统的基于VLAN的组网模型已越来越限制了IT的进一步发展,需要一种更灵活、更高效、更安全的技术来满足IT系统的需求.
EVPN正是在以上背景下出现的一种基于Overlay技术的二层互连技术.
在EVPN中,PE之间的MAC/IP地址学习是基于控制平面的,采用MP-BGP协议通告MAC/IP的可达性,其策略控制非常类似于IPVPN.
这种基于控制平面的学习能够对MAC/IP的学习过程提供更强的控制能力,因此具有较好的扩展性,并能维护主机终端彼此间的隔离性,解决了设备多归属或网络多归属接入时的负载分担问题,改善了网络出现故障时的收敛时间.
当前EVPN有正式的RFC以及相关草案,基于MPLS架构的已经有RFC7432.
EVPN定义了一套通用的控制面,但数据面可以使用不同的封装技术,他们的关系如下图:图1EVPN协议框架本文档描述的EVPN控制面为RFC7432协议定义的一般过程,数据面则为VXLAN封装.
EVPN技术白皮书杭州华三通信技术有限公司第4页,共23页1.
2EVPN特点EVPN继承了MP-BGP和VXLAN的优势.
具有如下特点:简化配置:通过MP-BGP实现VTEP自动发现、VXLAN隧道自动建立、VXLAN隧道与VXLAN自动关联,无需用户手工配置,降低网络部署难度.
分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理.
支持多归属:当同一个站点通过多台VTEP接入VXLAN网络时,连接该站点的多条路径均可以进行流量转发,以提高网络带宽利用率.
支持对称IRB(IntegratedBridgingandRouting,集成的桥接和路由):MP-BGP同时发布二层MAC地址和三层路由信息,VTEP既可以进行二层转发,也可以进行三层路由.
这样,不仅可以保证流量采用最优路径转发,还可以减少广播流量.
2技术实现2.
1EVPN网络模型EVPN通常采用Spine(核心)—Leaf(分支)的分层结构.
Leaf层的设备作为VTEP对报文进行EVPN相关处理,Spine层为核心设备,根据报文的目的IP地址转发报文.
EVPN网络中的设备属于同一个AS(AutonomousSystem,自治系统)时,为了避免在所有VTEP之间建立IBGP对等体,可以将核心设备配置为RR(RouteReflector,路由反射器).
此时,RR需要发布、接收EVPN路由,但不需要封装、解封装VXLAN报文.
RR的部署可以大大减轻网络的部署难度.
EVPN技术白皮书杭州华三通信技术有限公司第5页,共23页图2EVPN网络模型图几个概念介绍:EVI:站在整个网络角度,一个EVI就是一个EVPN实例.
EVI实例使用VNI标识.
VNI相同的实例属于同一个二层广播域.
MAC-VRF:VTEP上一个EVI实例学习到的MAC虚拟路由转发表.
类似于IPVPN里面的IP虚拟转发表.
ES:当一个站点通过多条链路接入到EVPN网络时,这些链路形成一个ES.
每条链路在对应的VTEP上使用相同的ESI标识.
VETP:VTEP是一个隧道的端点.
在VXLAN网络里面,通常位于网络的边缘.
根据VTEP功能,VTEP可以划分为L2VTEP和GW两种角色.
L2VTEP是指只支持二层VXLAN转发功能的设备.
只能在相同VXLAN内做二层转发.
如果要做跨VXLAN或者访问外部IP网络等三层转发,需要VTEP支持GW(VXLANGW或IPGW)功能.
此时VTEP也称为网关Gateway.
EVPN网络根据GW的部署方式,可以分为集中式网关和分布式网关两种组网形态.
如上图,如果是集中式网关,则VTEP为L2VTEP,RR同时为GW.
如果是分布式网关,则VTEP为GW,RR为反射器.
EVPN技术白皮书杭州华三通信技术有限公司第6页,共23页2.
2EVPN控制平面工作机制2.
2.
1BGPEVPN邻居建立1.
iBGP邻居BGP新增evpn子地址族用于协商bgpevpn邻居.
AFI=25,SAFI=70在Spine-leaf组网里,可以分为iBGP和eBGP.
图3EVPNiBGP邻居组网部署iBGP时,为简化全连接配置,可以引入RR反射器.
所有Leaf都只和RR建立BGP对等体关系.
RR发现并接收VTEP发起的BGP连接后形成Client列表,将从某个VTEP收到的路由反射给其他所有的VTEP.
RR的部署位置可以是Spine,也可以是Leaf,还可以是独立出来的设备,如下图:EVPN技术白皮书杭州华三通信技术有限公司第7页,共23页图4EVPNiBGPRR部署2.
eBGP邻居部署eBGP时,则不需要RR.
BGP会自动将从eBGP邻居收到的EVPN消息发送给其他eBGP和iBGP邻居,此时Spine相当于RR功能.
图5EVPNeBGP邻居组网2.
2.
2BGPEVPN消息类型为了支持EVPN,BGPEVPN地址族新增了5种EVPNNLRI(NetworkLayerReachabilityInformation,网络层可达性信息),即EVPN路由:EthernetAuto-discoveryRoute(RT-1):用来在站点多归属组网中通告ES信息,以便实现水平分割、Aliasing和主备备份等特性.
MAC/IPAdvertisementRoute(RT-2):用来通告MAC/IP地址信息.
InclusiveMulticastEthernetTagRoute(RT-3):用来通告VTEP及其所属VXLAN,以实现VTEP自动发现、自动建立VXLAN隧道、自动创建VXLAN广播表等.
EthernetSegmentRoute(RT-4):用来通告ES及其连接的VTEP信息,以便发现连接同一ES的VTEP冗余组其他成员,以及在冗余组之间选举指定转发器DF等.
IPPrefixAdvertisementRoute(RT-5):IP前缀路由,用来以IP前缀的形式通告引入的外部路由.
EVPN技术白皮书杭州华三通信技术有限公司第8页,共23页EVPN路由中包含RD(RouteDistinguisher,路由标识符)字段,用来区分不同VXLAN的EVPN路由,以免EVPN路由冲突.
在发布EVPN路由时,需要携带VPNTarget扩展团体属性(也称为RouteTarget),通过VPNTarget属性来控制EVPN路由信息的发布与接收.
VPNtarget属性分为以下两种,每一种都可以包括多个属性值:Exporttarget属性:本地VTEP在通过BGP的Update消息将EVPN路由发送给远端VTEP时,将Update消息中携带的VPNtarget属性设置为Exporttarget.
Importtarget属性:VTEP收到其它VTEP发布的Update消息时,将消息中携带的VPNtarget属性与本地配置的Importtarget属性进行比较,只有二者中存在相同的属性值时,才会接收该消息中的EVPN路由.
2.
2.
3VXLAN隧道及BUM广播表建立VXLAN是一种"MACinUDP"技术,是在IP网络基础之上构建的一种Overlay架构.
在IP网络上传输时,RFC定义了几种组播技术,例如IngressReplication、RSVP-TEP2MPLSP、mLDPP2MP、PIM-SSM、PIM-SM、BIDIR-PIM等.
目前EVPN使用的是IngressReplication,即头端复制.
所谓头端复制,就是在VXLAN转发实体里面存在一个需要复制到的远端PE设备隧道列表,此列表叫做BUM广播表.
BUM广播表的建立是依靠EVPN的第3类路由,即集成多播路由建立的.
此路由也用于VTEP站点的自动发现.
通告的信息如下:·UpdateMessage(RT-3)--Pathattribute--Extended_communities+PMSITunnelattribute(IngressReplication)--MP_REACH_NLRI-NetworklayerreachabilityinformationRouteType(1octet):InclusiveMulticastRouteLength(1octet)RouteTypeSpecific:RD(8octets)EthernetTagID(4octets)(VNI)EVPN技术白皮书杭州华三通信技术有限公司第9页,共23页IPaddresslength(1octets)OriginatingRouter'sIPAddress(4or16octets)每个站点都通告自己的VNI信息,这样,每个VTEP设备都有全网的VXLAN信息以及VXLAN和下一跳的关系.
VTEP设备会和那些跟自己有相同VXLAN的下一跳自动建立VXLAN隧道,并将此VXLAN隧道跟这些相同的VXLAN关联.
于是,对于每个VXLAN而言,所有这些建立并关联的VXLAN隧道就形成BUM广播表.
以上说的是二层广播域隧道的建立过程.
在EVPN网络中,除了二层转发,在后面的章节中,还可以看到,也存在三层转发的场景.
在分布式网关里面,当一个网关接收到远端网关通告的RT-2或者RT-5路由时,并且此路由在VRF的RT策略中检查通过可以下发时,EVPN也会尝试跟对端建立VXLAN隧道.
此隧道用于三层转发时进行外层加封装用.
如果某个VTEP跟同一个对端既建立了二层隧道,又可以建立三层隧道,此时隧道可以共用,即两个VTEP之间最多只会建立一条VXLAN隧道.
通过上述过程,EVPN在控制面就将转发通路先打通了,类似于交通网络中的高速公路,当然,这一切过程都是自动完成的.
后续的报文转发过程就如同是高速公路上跑的汽车.
2.
2.
4MAC/IP路由通告与学习EVPN在控制面学习MAC和ARP.
在EVPN里面,站点的MAC和ARP信息是通过EVPN的MAC/IP路由通告的,即RouteType2.
因此,在EVPN网络里面,不需要将ARP请求泛洪到网络中.
EVPN技术白皮书杭州华三通信技术有限公司第10页,共23页图6EVPNMAC/IP路由通告本地MAC和ARP的学习仍然需要靠VTEP在数据层面完成,本地MAC的学习可以靠以太报文的源MAC学习获得.
而ARP可以靠ARP或免费ARP等报文学习获得.
本地学到MAC和ARP后,EVPN控制面通过BGP邻居分发到其他VTEP设备,形成EVPN2类路由,此路由包含以下信息:·UpdateMessage(RT-2)--Pathattribute--Extended_communities--MP_REACH_NLRI-NetworklayerreachabilityinformationRouteType(1octet):MAC/IPAdvertisementRouteLength(1octet)RouteTypeSpecific:RD(8octets)EthernetSegmentIdentified(10octets)EthernetTagID(4octets)MACaddresslength(1octet)MACaddress(6octets)IPaddresslength(1octets)EVPN技术白皮书杭州华三通信技术有限公司第11页,共23页IPaddress(0,4or16octets)L2-VNI(3octets)L3-VNI(0or3octets)远端VTEP收到2类路由时,会将MAC下发到二层转发表里,将IP下发到三层转发表里.
但VTEP可以选择是否携带IP到对端.
在后面的章节可以看到,为了抑制ARP广播请求到网络中,通常是需要携带IP的.
这样,可以让对端VTEP学习到本端VTEP下挂的主机ARP,从而使得远端VTEP可以直接代答回应远端主机发起的ARP请求.
如果只是纯二层网络,可以只携带MAC.
H3CEVPN软件可以控制不通告只包含MAC的消息,因为远端可以从ARP消息里面学习MAC.
在集中式网关里面,二层VTEP需要将学习到的ARP通告给网关,在GW上需要下发ARP,并产生32位直连路由.
此路由的下一跳就是路由本身.
ARP里的MAC为主机或虚机的真实MAC.
从GW往VTEP的报文转发时,在VTEP上做二层MAC转发.
而在分布式网关里,每一个分布式网关都会将学习到的ARP通告给其他网关.
在远端VTEP上,2类路由里面的IP会下发到VRF表形成32位主机路由,此路由的下一跳为通告此路由的VTEP设备.
报文转发时,从网关发出的报文内层MAC为对端VTEP设备的MAC,因此报文在对端VTEP上做三层转发.
2.
2.
5外部路由通告与学习EVPN网络构建的是一个私有网络,它也可以通过接入外网,实现跟外网通信的目的.
通常在EVPN的Spine-Leaf架构中,会有1台或多台专门接入外网的设备,我们把它叫做BoardLeaf.
BoardLeaf通过普通接口跟外网建立普通路由协议,学习路由,然后在BoardLeaf上EVPN可以引入这些外部路由,形成EVPN5类路由,进而通告到EVPN网络中,使其他VTEP也能学到这些外部路由.
这些路由的下一跳均指向通告此路由的BoardLeaf.
当网络中存在多台BoardLeaf时,多台BoardLeaf都可以通告此路由,这样在远端还可以形成等价路由,以达到网络负载分担的目的.
EVPN技术白皮书杭州华三通信技术有限公司第12页,共23页图7EVPN外部路由学习5类路由的信息主要有以下一些:·UpdateMessage(RT-5)--Pathattribute--Extended_communities--MP_REACH_NLRI-NetworklayerreachabilityinformationRouteType(1octet):IPPrefixRouteLength(1octet)RouteTypeSpecific:RD(8octets)EthernetSegmentIdentified(10octets)EthernetTagID(4octets)IPPrefixlength(1octets)IPPrefix(4or16octets)GWIPaddress(4or16octets)L3-VNI(3octets)EVPN技术白皮书杭州华三通信技术有限公司第13页,共23页2.
2.
6主机迁移主机迁移是指主机或虚拟机从其介入的VTEP或网关设备迁到网络中的另一台VTEP或网关下.
新迁移到的VTEP或网关会重新感知到主机/虚拟机上线,会重新通告该MAC/IP路由,此路由跟迁移前通告的MAC/IP路由的区别在于在BGPupdate消息中携带了一种新的扩展团体:MACMobility扩展团体.
此扩展团体里面包含一个系列号.
每次迁移,迁移序列号将递增,远端在收到一个比自己系列号更大的消息时,更新自己的MAC/IP路由消息,下一跳指向迁移后通告此路由的VTEP或GW.
原VTEP在收到此路由更新后,撤销之前通告的路由.
2.
2.
7ARP抑制为了避免广播发送的ARP请求报文占用核心网络带宽,VTEP根据从BGP收到的EVPN2类路由在本地建立ARP缓存表项.
后续当VTEP收到本站点内终端请求其它终端MAC地址的ARP请求时,优先根据本地存储的ARP表项进行代理回应.
如果没有对应的表项,则将ARP请求泛洪到核心网.
ARP泛洪抑制功能可以大大减少ARP泛洪的次数.
图8EVPNARP抑制2.
3EVPN数据面工作机制2.
3.
1转发二层流量EVPN通过BGP协议通告本地学到的MAC,远端根据BGP收到的MAC路由消EVPN技术白皮书杭州华三通信技术有限公司第14页,共23页息,将MAC下到远端Tunnel上,形成单播MAC表项.
VTEP接收到二层数据帧后,判断其所属的VSI,根据目的MAC地址查找该VSI的MAC地址表,通过表项的出接口转发该数据帧.
如果出接口为本地接口,则VTEP直接通过该接口转发数据帧;如果出接口为Tunnel接口,则VTEP根据Tunnel接口为数据帧添加VXLAN封装后,通过VXLAN隧道将其转发给远端VTEP.
除了单播流量转发,EVPN网络中还需要转发广播,未知组播与未知单播流量,即BUM流量.
目前EVPN转发BUM可以使用头端复制和核心复制两种方式.
1.
头端复制VTEP接收到本地终端发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,通过该VXLAN内除接收接口外的所有本地接口和VXLAN隧道转发该数据帧.
通过VXLAN隧道转发数据帧时,需要为其封装VXLAN头、UDP头和IP头,将泛洪流量封装在多个单播报文中,发送到VXLAN内的所有远端VTEP.
当然,VXLAN的头端复制列表是EVPN自动发现并创建的,不需要手工干预.
2.
核心复制网络中需要通过IP核心网络进行二层互联的站点较多时,采用核心复制方式可以节省泛洪流量对核心网络带宽资源的占用,在核心复制方式下,同一个VXLAN内的所有VTEP都加入同一个组播组,利用组播路由协议(如PIM)在IP核心网上为该组播组建立组播转发表项.
VTEP接收到泛洪流量后,不仅在本地站点内泛洪,还会为其封装组播目的IP地址,封装后的报文根据已建立的组播转发表项转发到远端VTEP.
此方式需要网络核心设备支持三层组播路由协议.
2.
3.
2集中式网关转发在EVPN集中式网关组网里面,Leaf所在的VTEP将本地学到的ARP通过EVPN通告给Spine所在的Gateway.
GW根据ARP产生32位直连路由.
北向南流量时,在GW上查找ARP,将报文内层MAC封装为虚机真实MAC,再加上VXLAN封装发送给VTEP.
VTEP端解封装后,根据VXLAN-ID查找MAC转发发送给终端.
南向北流量,终端发给VTEP的报文的目的MAC为GW网关MAC.
VTEP查找网关MAC表项,封装VXLAN将报文发送给GW.
GW解封装后再根据内层报文IP做普通IP转发.
此时GW充当的是IP网关角色.
官方网站:点击访问月神科技官网优惠码:美国优惠方案:CPU:E5-2696V2,机房:国人热衷的优质 CeraNetworks机房,优惠码:3wuZD43F 【过期时间:5.31,季付年付均可用】活动方案:1、美国机房:洛杉矶CN2-GIA,100%高性能核心:2核CPU内存:2GB硬盘:50GB流量:Unmilited端口:10Mbps架构:KVM折后价:15元/月、150元/年传送:购买链接洛...
TabbyCloud迎来一周岁的生日啦!在这一年里,感谢您包容我们的不足和缺点,在您的理解与建议下我们也在不断改变与成长。为庆祝TabbyCloud运营一周年和七夕节,TabbyCloud推出以下活动。TabbyCloud周年庆&七夕节活动官方网站:https://tabbycloud.com/香港CN2: https://tabbycloud.com/cart.php?gid=16购买链...
由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...