EVPN解决方案技术白皮书
关键词:EVPN ,VTEP, L3VNI,IRB
摘 要:本文介绍了EVPN的基本技术和典型应用。
缩略语:
缩略语 | 英文全名 | 中文解释 |
EVPN | Ethernet Virtual Private Network | 以太虚拟私有网络 |
VXLAN | Virtual eXtend Local Access Network | 虚拟局域网 |
IRB | Integrated Routing and Bridging | 集成式桥接和路由 |
RR | Route Reflector | 路由反射器 |
VSI | Virtual Switch Instance | 虚拟交换实例 |
VTEP | Virtual Tunnel End Point | 虚拟隧道端点 |
VM | Virtual Machine | 虚拟机 |
BUM | Broadcast, Unknown unicast, or Multicast | 广播,未知单播和组播 |
L3VNI | Layer 3 Virtual Network Identifier | 三层虚拟网络标识符 |
目 录
随着企业业务的快速扩展需求,IT作为基础设施,快速部署和减少投入成为主要需求,云计算可以提供可用的、便捷的、按需的资源提供,成为当前企业IT建设的常规形态,而在云计算中大量采用和部署的计算虚拟化几乎成为一个基本的技术模式。部署虚机需要在网络中无限制地迁移到目的物理位置,虚机增长的快速性以及虚机迁移成为一个常态性业务。
VxLAN网络技术是在传统物理网络基础上构建了逻辑的二层网络,是网络支持云业务发展的理想选择,是传统网络向网络虚拟化的深度延伸,提供了网络资源池化的较佳解决方式。它克服了基于 VLAN 的传统限制,可为处于任何位置的用户带来更高的可扩展性和灵活性、以及优化的性能。
传统自学习方式构建VxLAN需要人工手动配置隧道,配置复杂。地址同步需要依赖数据报文泛洪方式实现,产生大量泛洪报文,不适合大规模组网。EVPN通过MP-BGP自动建立VxLAN隧道,自动同步MAC和IP地址,很好的解决了这些问题。EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种二层VPN技术,控制平面采用MP-BGP通告EVPN路由信息,数据平面支持采用VxLAN封装方式转发报文。租户的物理站点分散在不同位置时,EVPN可以基于已有的服务提供商或企业IP网络,为同一租户的相同子网提供二层互联;通过EVPN网关为同一租户的不同子网提供三层互联,并为其提供与外部网络的三层互联。
当前EVPN有正式的RFC以及相关草案,基于MPLS架构的已经有RFC7432。EVPN定义了一套通用的控制面,但数据面可以使用不同的封装技术,他们的关系如下图:
EVPN不仅继承了MP-BGP和VxLAN的优势,还提供了新的功能。EVPN具有如下特点:
Ø 简化配置:通过MP-BGP实现VTEP自动发现、VxLAN隧道自动建立、VxLAN隧道与VxLAN自动关联,无需用户手工配置,降低网络部署难度。
Ø 分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。
Ø 支持多归属站点的主备备份:当同一个站点通过多台VTEP接入VxLAN网络时,连接该站点的多条路径作为主备路径进行备份,以避免单点故障。
Ø 支持对称IRB(Integrated Bridging and Routing,集成的桥接和路由):MP-BGP同时发布二层MAC地址和三层路由信息,VTEP既可以进行二层转发,也可以进行三层路由。这样,不仅可以保证流量采用更优路径转发,还可以减少广播流量。
VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看做是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机。VSI与VXLAN一一对应。
VTEP:VTEP是一个隧道的端点。在VXLAN网络里面,通常位于网络的边缘。根据VTEP功能,VTEP可以划分为L2 VTEP和GW两种角色。L2 VTEP是指只支持二层VXLAN转发功能的设备。只能在相同VXLAN内做二层转发。如果要做跨VXLAN或者访问外部IP网络等三层转发,需要VTEP支持GW(VXLAN GW或IP GW)功能。此时VTEP也称为网关Gateway。EVPN网络根据GW的部署方式,可以分为集中式网关和分布式网关两种组网形态。如上图,如果是集中式网关,则VTEP为L2 VTEP,RR同时为GW。如果是分布式网关,则VTEP为GW,RR为反射器。
VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。
MAC-VRF:VTEP上一个EVI实例学习到的MAC虚拟路由转发表。类似于IP VPN里面的IP虚拟转发表。
iBGP邻居: iBGP是指邻居与本地路由器位于同一AS。部署iBGP时,为简化全连接配置,可以引入RR反射器。所有Leaf都只和RR建立BGP对等体关系。RR发现并接收VTEP发起的BGP连接后形成Client列表,将从某个VTEP收到的路由反射给其他所有的VTEP。RR的部署位置可以是Spine,也可以是Leaf,还可以是独立出来的设备
eBGP邻居:eBGP邻居:eBGP是指邻居与本地路由器位于不同AS。部署eBGP时,则不需要RR。BGP会自动将从eBGP邻居收到的EVPN消息发送给其他eBGP和iBGP邻居,此时Spine相当于RR功能。
隧道建立:利用EVPN的BGP RR实现邻居发现 ,每个设备都通告自己的VXLAN信息,每个VTEP设备都有全网的VXLAN信息以及VXLAN和下一跳的关系。VTEP设备会和那些跟自己有相同VXLAN的下一跳自动建立VXLAN隧道。
EVPN 控制平面实现隧道自动建立,如上图:
1) Spine设备实EVPN的BGP RR角色,Leaf设备实现EVPN的RR Client角色
2) RR Client向RR发起注册(携带自身IP/VxLAN列表)
3) RR转发收到的报文给所有其它邻居RR Client
4) RR Client根据收到的报文中的IP/VxLAN列表,在有相同VxLAN id各VTEP之间自动创建VxLAN隧道,自动关联VxLAN隧道和VxLAN
隧道自动关联:VTEP设备会和那些跟自己有相同VXLAN的下一跳自动建立VXLAN隧道,并将此VXLAN隧道跟这些相同的VXLAN关联。
目前EVPN使用的是Ingress Replication,即头端复制。所谓头端复制,就是在VXLAN转发实体里面存在一个需要复制到的远端VTEP设备隧道列表,此列表叫做BUM广播表。对于每个VXLAN而言,所有这些建立并关联的VXLAN隧道就形成BUM广播表。
地址同步:利用EVPN 的MP-BGP路由协议完成MAC地址同步、主机路由同步两个功能。因此,在EVPN网络里面,不需要将ARP请求泛洪到网络中。
地址同步流程,如上图:
1) VM1上线,VTEP A把学习到VM1的MAC和主机路由通过BGP扩展协议向RR同步
2) RR把接收到的路由更新同步给所有邻居(VTEP B&C)
3) VTEP接收到BGP报文,把学习到的VM的MAC和IP地址添加到表项中,MAC放到相同VxLAN的L2表项中,路由放到L3表项中
地址学习:本地MAC和ARP的学习仍然需要靠VTEP在数据层面完成,本地MAC的学习可以靠以太报文的源MAC学习获得。而ARP可以靠ARP或免费ARP等报文学习获得。本地学到MAC和ARP后,EVPN控制面通过BGP邻居分发到其他VTEP设备,形成EVPN 2类路由
集中式网关:在集中式网关里面,二层VTEP需要将学习到的ARP通告给网关,在GW上需要下发ARP,并产生32位直连路由。此路由的下一跳就是路由本身。ARP里的MAC为主机或虚机的真实MAC。从GW往VTEP的报文转发时,在VTEP上做二层MAC转发。
分布式网关:在分布式网关里,每一个分布式网关都会将学习到的ARP通告给其他网关。在远端VTEP上,2类路由里面的IP会下发到VRF表形成32位主机路由,此路由的下一跳为通告此路由的VTEP设备。报文转发时,从网关发出的报文内层MAC为对端VTEP设备的MAC,因此报文在对端VTEP上做三层转发。
EVPN网络构建的是一个私有网络,它也可以通过接入外网,实现跟外网通信的目的。Board Leaf通过普通接口跟外网建立普通路由协议,学习路由,然后在Board Leaf上EVPN可以引入这些外部路由,进而通告到EVPN网络中,使其他VTEP也能学到这些外部路由。这些路由的下一跳均指向通告此路由的Board Leaf。当网络中存在多台Board Leaf时,多台Board Leaf都可以通告此路由,这样在远端还可以形成等价路由,以达到网络负载分担的目的。
VM地址迁移:是指虚拟机或主机从其介入的VTEP或网关设备迁到数据中心网络的另一台VTEP或网关下。如何使网络快速收敛的一种机制:
迁移消息:新迁移到的VTEP或网关会重新感知到主机/虚拟机上线,会重新通告该MAC/IP路由,此路由跟迁移前通告的MAC/IP路由的区别在于在BGP update消息中携带了一种新的扩展团体:MAC Mobility扩展团体。此扩展团体里面包含一个序列号。
消息更新:每次迁移,迁移序列号将递增,远端在收到一个比自己系列号更大的消息时,更新自己的MAC/IP路由消息,下一跳指向迁移后通告此路由的VTEP或GW。
消息撤销:原VTEP在收到此路由更新后,撤销之前通告的路由。
ARP抑制功能特点:
泛洪抑制:为了避免广播发送的ARP请求报文占用核心网络带宽,VTEP根据从BGP收到的EVPN 路由在本地建立ARP缓存表项。
ARP代答:后续当VTEP收到本站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,优先根据本地存储的ARP表项进行代理回应。
ARP MISS:如果没有对应的表项,则将ARP请求泛洪到核心网。
特点:ARP泛洪抑制功能可以大大减少ARP泛洪的次数。
VXLAN报文的封装格式为:在原始二层数据帧外添加8字节VXLAN头、8字节UDP头和20字节IP头。其中,UDP头的目的端口号为VXLAN UDP端口号(缺省为4789)。VXLAN头主要包括两部分:
标记位:“I”位为1时,表示VXLAN头中的VXLAN ID有效;为0,表示VXLAN ID无效。其他位保留未用,设置为0。
VXLAN ID:用来标识一个VXLAN网络,长度为24比特。
n 组网模型:
网关部署在Spine
VTEP部署在接入,Border不部署VxLAN
设备之间通过EVPN完成隧道建立和主机路由同步
Spine和Border通过默认路由互通
同一Leaf下的三层流量需绕行到Spine
Spine需要保存整网的MAC和ARP
适合中小规模组网
优点:
接入设备不需要支持大容量的ARP表项
接入设备支持VxLAN的L2 GW即可,不需要支持基于VxLAN的L3 GW,成本低
缺点:
核心需要保留整网的ARP表项,组网规模受限
同一Leaf下的三层流量需绕行到Spine
n 组网模型:
网关部署在Leaf,所有相同VxLAN的网关IP和MAC相同,Border部署VxLAN
Leaf和Spine通过IP的ECMP互通
Leaf节点同时承担VxLAN L2/3转发
Leaf之间通过EVPN完成隧道建立和主机路由同步
同一Leaf下的三层流量无需绕行到Spin,所有流量的路径最优
本Leaf包含二层域所有端点的MAC和需要互通的三层域内所有端点的ARP(包括本地和远端)
适合中大规模组网
优点:
组网简单,广播域被限制在接入层以下
Leaf和Spine之间通过运行路由协议,构建ECMP的三层可达的IP网络,不需要部署IRF
同一Leaf下的三层流量无需绕行到Spin,所有流量的路径最优
缺点:
接入设备需要支持大容量的路由表项,当前华三接入设备的表项都比较大,足可以支持大规模组网
Ø 单播转发
EVPN通过BGP协议通告本地学到的MAC,远端根据BGP收到的MAC路由消息,将MAC下到远端Tunnel上,形成单播MAC表项。VTEP接收到二层数据帧后,判断其所属的VSI,根据目的MAC地址查找该VSI的MAC地址表,通过表项的出接口转发该数据帧。如果出接口为本地接口,则VTEP直接通过该接口转发数据帧;如果出接口为Tunnel接口,则VTEP根据Tunnel接口为数据帧添加VXLAN封装后,通过VXLAN隧道将其转发给远端VTEP。
Ø BUM报文转发:头端复制
除了单播流量转发,EVPN网络中还需要转发广播,未知组播与未知单播流量,即BUM流量。目前EVPN转发BUM可以使用头端复制和核心复制两种方式。
VTEP接收到本地虚拟机发送的组播、广播和未知单播数据帧后,判断数据帧所属的VXLAN,通过该VXLAN内除接收接口外的所有本地接口和VXLAN隧道转发该数据帧。通过VXLAN隧道转发数据帧时,需要为其封装VXLAN头、UDP头和IP头,将泛洪流量封装在多个单播报文中,发送到VXLAN内的所有远端VTEP。当然,VXLAN的头端复制列表是EVPN自动发现并创建的,不需要手工干预。
集中式网关下的二层转发流程:如下图所示,Vm 1(1.1.1.10)访问Vm 2(1.1.1.11),同一个网段属于二层互访:
1) VM1发送ARP请求VM2的MAC,VTEP A会查找本地ARP表,返回VM2的MAC 。VM 1发送报文给VM 2,源MAC地址为MAC 1,目的MAC为MAC 2, VLAN tag为10
2) VTEP A根据收到的报文的端口和VLAN tag确定属于VSI A, 查找VSI A的MAC地址表,得到MAC 2的出端口为Tunnel1。封装VxLAN报文,源IP为VTEP A,目的IP为VTEP C,并转发报文到VTEP C
3) VTEP C收到报文,剥离VxLAN报文,还原出原始的数据帧。查找与VxLAN 10对应的VSI A的MAC地址表,得到MAC 2的出端口为GE2/0/1,所在VLAN为VLAN 10。VTEP C从接口GE2/0/1的VLAN 10内将数据帧发送给VM 2,VLAN tag为10
分布式网关二层转发流程:Vm 1(1.1.1.10)访问Vm 2(1.1.1.11),同一个网段属于二层互访:
1) VM1发送ARP请求VM2的MAC,VTEP A会查找本地ARP表,返回VM2的MAC 。VM 1发送报文给VM 2,源MAC地址为MAC 1,目的MAC为MAC 2, VLAN tag为10
2) VTEP A根据收到的报文的端口和VLAN tag确定属于VSI A.,查找VSI A的MAC地址表,得到MAC 2的出端口为Tunnel1。封装VxLAN报文,源IP为VTEP A,目的IP为VTEP C,并转发报文到VTEP C。
3) VTEP C收到报文,剥离VxLAN报文,还原出原始的数据帧。查找与VxLAN 10对应的VSI A的MAC地址表,得到MAC 2的出端口为GE2/0/1,所在VLAN为VLAN 10。VTEP C从接口GE2/0/1的VLAN 10内将数据帧发送给VM 2,VLAN tag为10
在EVPN集中式网关组网里面,Leaf所在的VTEP将本地学到的ARP通过EVPN通告给Spine所在的Gateway,GW根据ARP产生32位直连路由。
北向南流量转发:在GW上查找ARP,将报文内层MAC封装为虚机真实MAC,再加上VXLAN封装发送给VTEP。VTEP端解封装后,根据VXLAN-ID查找MAC转发发送给VM。
南向北流量转发:VM发给VTEP的报文的目的MAC为GW网关MAC。VTEP查找网关MAC表项,封装VXLAN将报文发送给GW。GW解封装后再根据内层报文IP做普通IP转发。此时GW充当的是IP网关角色。
东西向流量转发:如果是跨VXLAN转发,此时需要经过GW一次路由才能转给目的VXLAN。此时GW充当的是VXLAN网关角色。
集中式网关三层转发:如下图所示,Vm 1(1.1.1.10)访问Vm 2(1.1.2.10),不同VxLAN,不同网段属于三层互访:
1) VM1发送ARP请求GW的MAC,VTEP A会查找本地ARP表,返回GW的MAC 。VM 1发送报文给网关,源MAC地址为MAC 1,目的MAC为网关 GMAC, VLAN tag为10。
2) VTEP A根据收到的报文的端口和VLAN确定属于VSI A。 查找VSI A的MAC地址表,得到GMAC的出端口为Tunnel1。封装VxLAN报文,源IP为VTEP A,目的IP为网关IP,并转发报文到网关。
3) 网关收到报文去掉VxLAN封装,根据原始报文目的ip,查找路由表和ARP表,找到出接口为Tunnel 2。封装报文格式为VxLAN,源ip为网关的VTEP ip,目的ip为VTEP B的ip,转发报文到VTEP B。
4) VTEP B收到报文,剥离VxLAN报文,还原出原始的数据帧。查找与VxLAN 20对应的VSI A的MAC地址表,得到MAC 2的出端口为GE2/0/1,所在VLAN为VLAN 20。VTEP B从接口GE2/0/1的VLAN 20内将数据帧发送给VM 2, VLAN tag为20
在EVPN网络中,VTEP既可以做二层Bridge转发功能,也可以做三层Router功能,因此称为集成桥接和路由,即IRB(Integrated Routing and Bridging)。在分布式网关里面,IRB转发可以分为对称IRB和非对称IRB两种。H3C实现的是对称IRB转发模型。对称IRB转发引入了以下2个概念:
L3VNI(Layer 3 VNI): 是指在分布式网关之间通过VXLAN隧道转发流量时,属于同一租户(VRF)的流量通过L3VNI来标识。L3VNI唯一关联一个VPN实例,通过VPN实例确保不同租户之间的业务隔离。
RouteMAC:网关的RouterMAC地址,是指每个分布式网关拥有的唯一一个用来标识本机的本地MAC地址,此MAC用于在网关之间通过VXLAN隧道转发三层流量。报文在网关之间转发时,报文的内层MAC地址为出口网关的RouterMAC地址。
u 非对称IRB
所谓非对称IRB,是指在Ingress入口网关,需要同时做Layer-2 bridging和Layer-3 routing功能,而在Egress出口网关,只需要做Layer-2 bridging功能。因此是不对称的。
转发路径:非对称IRB流量来回路径不一致,去程流量使用VNI 300对应的隧道,回程流量使用VNI 100对应的隧道
VTEP配置:在VTEP配置本地VNI 的VSI,还需要配所有的和本地VNI在同一个VRF的其它VTEP上VNI的VSI
表项:VTEP硬件转发表中包含VRF所含VNI内所有远端主机的IP和MAC,以指导报文完成VXLAN L2/3转发
三层转发:VTEP收到报文后, 发现DMAC为网关MAC, 进行三层查表, 将报文从源VNI转发到目的VNI, 内层DMAC切换为目的主机的MAC,到达目的 VTEP后,解封装后使用内层DMAC执行二层查表, 将报文在目的VNI内转发到相应端口
缺点:
配置复杂:每个VTEP上需要配置Fabric内所有的VNI的VSI信息
占用表项大:每个VTEP上需要维护其下挂主机所在VRF所含VNI内的全部主机的MAC信息(包括远端主机的MAC)
来回路径不一致:非对称IRB流量来回路径不一致,去程流量和回程流量使用使用不同的VNI完成三层转发
u 对称IRB
相比于非对称IRB,对称IRB,是指在Ingress入口网关和Egress出口网关,都只做Layer-3 routing功能(同网段则只做briding功能)。因此是对称的。
转发路径:对称IRB流量来回路径一致,去程流量使用VNI 1000对应的隧道,回程流量使用VNI 1000对应的隧道
VTEP配置:在VTEP配置本地VNI的VSI,需要配一个新类型L3 VNI ,L3 VNI会有同一个VRF内的路由,三层转发的流量会在L3 VNI完成转发
表项:每个VTEP上只需要维护其下挂主机所在的VNI内的MAC信息,只需要知道远端VTEP的Router MAC表项占用更少
转发流程:VTEP A收到报文如果需要进行三层转发,将报文从源VNI转发到L3 VNI, 内层DMAC切换为目的VTEP的RMAC-C;VTEP C解封装后发现内层DMAC为自己,将内层报文在L3 VNI所对应的VRF中做三层转发
对称IRB优势:
配置简单:每个VTEP上只需要配置其下主机所在VNI的VSI信息和所在的VRF的L3 VNI的VSI, 配置简单,更有利于自动化部署
表项占用少:每个VTEP上只需要维护其下挂主机所在的VNI内的MAC信息,只需要知道远端VTEP的router MAC.表项占用更少
来回路径一致:对称IRB流量来回路径一致,如本例中,去程流量使用VNI 1000对应的隧道,回程流量也使用VNI 1000对应的隧道
对称IRF三层转发流程:Vm 1(1.1.1.10)访问Vm 2(1.1.2.10),不同VxLAN,不同网段属于三层互访:
1) VM1发送ARP请求GW的MAC,VTEP A会查找本地ARP表,返回GW的MAC 。VM1发送报文给VM3,源MAC地址为MAC 1,目的MAC为网关GMAC-A, VLAN tag为10
2) 网关收到报文,在L3 VNI 1000中查表,根据报文目的ip,查找路由表和ARP表,找到出接口为Tunnel 1。封装报文格式为VxLAN,目的ip为VTEP C的ip,目的mac为GMAC C,转发报文到VTEP C
3) VTEP C收到报文,剥离VxLAN报文,还原出原始的数据帧。在L3 VNI 1000中查表,根据目的ip找到出端口为GE2/0/1, 替换报文目的mac为MAC 3,源MAC为网关GMAC C。VTEP C从接口GE2/0/1的VLAN 20内将数据帧发送给VM3
组网:
网关:部署在Leaf
Underlay是二层架构,通过ECMP互通
Leaf:堆叠,以支持服务器双上行
Spine:非堆叠,和leaf是ECMP,是二层流量核心
设备类型:
Leaf:S6800/S12500(H板卡)系列,需要支持L2和L3 VXLAN
Spine:S12500/S9800等系列,支持IP
组网规模:
支持的spine数量:32
组网:
网关:部署在Spine,支持多业务多网关
Underlay:二层架构,通过ECMP互通
Spine:堆叠
Leaf:堆叠,以支持服务器双上行
设备类型:
Leaf:S6800系列,需要支持L2 VXLAN
Spine:S12500/S9800系列,需要支持L3 vxlan
单Fabric单业务网关组网规模:
支持的spine数量:2台
单Fabric多业务网关组网规模:
支持的spine数量:32台
组网:
网关:部署在Core
Underlay:三层架构,通过ECMP互通
Leaf:堆叠,以支持服务器双上行
Spine:单台设备,和leaf是ECMP,是二层流量核心
Core:堆叠,做网关使用,是三层流量核心
设备类型:
Leaf:S6800系列,需要支持L2 VXLAN
Spine:S12500/S9800等系列,支持IP
Core:S12500/S9800系列,需要支持L3 vxlan
单Fabric组网规模:
支持的Core数量:2
支持的spine数量:32
EVPN的分布式网关被运用的越来越广泛,它对网关设备的转发能力没有集中式网关那么要求高,且在核心设备只需要支持普通的IP转发即可。EVPN分布式网关典型组网见下图:Switch A、Switch B为分布式EVPN网关设备;Switch C为与广域网连接的边界网关设备;Switch D为RR,负责在交换机之间反射BGP路由。虚拟机VM 1和VM 3属于VXLAN 10;VM 2和VM 4属于VXLAN 20。相同VXLAN之间可以二层互通;不同VXLAN之间通过分布式EVPN网关实现三层互通;VXLAN与广域网之间通过边界网关实现三层互通。
图1 EVPN分布式网关典型组网
配置Switch A
# 开启L2VPN能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 关闭远端MAC地址和远端ARP自动学习功能。
[SwitchA] vxlan tunnel mac-learning disable
[SwitchA] vxlan tunnel arp-learning disable
# 在VSI实例aaa下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。
[SwitchA] vsi aaa
[SwitchA-vsi-aaa] evpn encapsulation vxlan
[SwitchA-vsi-aaa-evpn-vxlan] route-distinguisher auto
[SwitchA-vsi-aaa-evpn-vxlan] vpn-target auto
[SwitchA-vsi-aaa-evpn-vxlan] quit
# 创建VXLAN 10。
[SwitchA-vsi-aaa] vxlan 10
[SwitchA-vsi-aaa-vxlan-10] quit
[SwitchA-vsi-aaa] quit
# 在VSI实例bbb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。
[SwitchA] vsi bbb
[SwitchA-vsi-bbb] evpn encapsulation vxlan
[SwitchA-vsi-bbb-evpn-vxlan] route-distinguisher auto
[SwitchA-vsi-bbb-evpn-vxlan] vpn-target auto
[SwitchA-vsi-bbb-evpn-vxlan] quit
# 创建VXLAN 20。
[SwitchA-vsi-bbb] vxlan 20
[SwitchA-vsi-bbb-vxlan-20] quit
[SwitchA-vsi-bbb] quit
# 配置BGP发布EVPN路由。
[SwitchA] bgp 200
[SwitchA-bgp-default] peer 4.4.4.4 as-number 200
[SwitchA-bgp-default] peer 4.4.4.4 connect-interface loopback 0
[SwitchA-bgp-default] address-family l2vpn evpn
[SwitchA-bgp-default-evpn] peer 4.4.4.4 enable
[SwitchA-bgp-default-evpn] quit
[SwitchA-bgp-default] quit
# 在接入服务器的接口GigabitEthernet1/0/1上创建以太网服务实例1000,该实例用来匹配VLAN 2的数据帧。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] service-instance 1000
[SwitchA-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 2
# 配置以太网服务实例1000与VSI实例aaa关联。
[SwitchA-GigabitEthernet1/0/1-srv1000] xconnect vsi aaa
[SwitchA-GigabitEthernet1/0/1-srv1000] quit
# 在接口GigabitEthernet1/0/1上创建以太网服务实例2000,该实例用来匹配VLAN 3的数据帧。
[SwitchA-GigabitEthernet1/0/1] service-instance 2000
[SwitchA-GigabitEthernet1/0/1-srv2000] encapsulation s-vid 3
# 配置以太网服务实例2000与VSI实例bbb关联。
[SwitchA-GigabitEthernet1/0/1-srv2000] xconnect vsi bbb
[SwitchA-GigabitEthernet1/0/1-srv2000] quit
[SwitchA-GigabitEthernet1/0/1] quit
# 配置L3 VNI的RD和RT。
[SwitchA] ip vpn-instance tenant1
[SwitchA-vpn-instance-tenant1] route-distinguisher 1:1
[SwitchA-vpn-instance-tenant1] address-family evpn
[SwitchA-vpn-evpn-tenant1] vpn-target 1:1
[SwitchA-vpn-evpn-tenant1] quit
[SwitchA-vpn-instance-tenant1] quit
# 配置VSI虚接口VSI-interface1。
[SwitchA] interface vsi-interface 1
[SwitchA-Vsi-interface1] ip binding vpn-instance tenant1
[SwitchA-Vsi-interface1] ip address 10.1.1.1 255.255.255.0
[SwitchA-Vsi-interface1] distributed-gateway local
[SwitchA-Vsi-interface1] local-proxy-arp enable
[SwitchA-Vsi-interface1] quit
# 配置VSI虚接口VSI-interface2。
[SwitchA] interface vsi-interface 2
[SwitchA-Vsi-interface2] ip binding vpn-instance tenant1
[SwitchA-Vsi-interface2] ip address 10.1.2.1 255.255.255.0
[SwitchA-Vsi-interface2] distributed-gateway local
[SwitchA-Vsi-interface2] local-proxy-arp enable
[SwitchA-Vsi-interface2] quit
# 创建VSI虚接口VSI-interface3,在该接口上配置VPN实例vpna对应的L3VNI为1000。
[SwitchA] interface vsi-interface 3
[SwitchA-Vsi-interface3] ip binding vpn-instance tenant1
[SwitchA-Vsi-interface3] l3-vni 1000
[SwitchA-Vsi-interface3] quit
# 配置VXLAN 10所在的VSI实例和接口VSI-interface1关联
[SwitchA] vsi aaa
[SwitchA-vsi-vpna] gateway vsi-interface 1
# 配置VXLAN 20所在的VSI实例和接口VSI-interface2关联
[SwitchA] vsi vpnb
[SwitchA-vsi-vpnb] gateway vsi-interface 2
Switch B和C上的配置跟A类似。Switch D需要配置为RR反射器:
# 配置Switch D与其他交换机建立BGP连接。
<SwitchD> system-view
[SwitchD] bgp 200
[SwitchD-bgp-default] group evpn
[SwitchD-bgp-default] peer 1.1.1.1 group evpn
[SwitchD-bgp-default] peer 2.2.2.2 group evpn
[SwitchD-bgp-default] peer 3.3.3.3 group evpn
[SwitchD-bgp-default] peer evpn as-number 200
[SwitchD-bgp-default] peer evpn connect-interface loopback 0
# 配置BGP发布EVPN路由,并关闭BGP EVPN路由的VPN-Target过滤功能。
[SwitchD-bgp-default] address-family l2vpn evpn
[SwitchD-bgp-default-evpn] peer evpn enable
[SwitchD-bgp-default-evpn] undo policy vpn-target
# 配置Switch D为路由反射器。
[SwitchD-bgp-default-evpn] peer evpn reflect-client
[SwitchD-bgp-default-evpn] quit
[SwitchD-bgp-default] quit
云计算发展过程中,计算虚拟化和存储虚拟化已经取得长足发展,但网络虚拟化一直是云业务资源虚拟化的短板, VxLAN的网络架构是在传统物理网络基础上构建了逻辑的二层网络,提供了网络资源池化的较佳解决方式,是H3C云网融合技术路线中网络部分的关键技术。它克服了基于 VLAN 的传统限制,可为处于任何位置的用户带来更高的可扩展性和灵活性、以及优化的性能。传统自学习方式构建VxLAN面临的挑战:
隧道手动建立:隧道建立和VxLAN匹配需要手动完成
地址泛洪同步:传统VxLAN只定义了VxLAN的报文封装,MAC+IP地址学习依赖于数据平面泛洪行为来完成,会导致BUM报文泛洪到整个Fabric
采用EVPN方式构建VxLAN带来的优势:
隧道自动建立:利用控制平面MP-BGP完成VTEP之间隧道自动建立及VxLAN匹配
地址自动同步:利用控制平面MP-BGP在VTEP之间同步MAC+IP,减少网络中的广播
可靠性:设备本身运行EVPN协议完成控制面功能,不依赖控制器下发流表,降低控制器的单点故障风险
一致性:数据中心内和数据中心间都使用EVPN技术进行构建, IDC/DCI使用统一技术,便于维护管理
标准化:控制面使用EVPN,属于标准协议,便于各厂商互通
使用VxLAN技术构建的云计算数据中心带来的优势:
位置无关性:业务可在任意位置灵活部署,缓解了服务器虚拟化后相关的网络扩展问题
可扩展性:在传统网络架构上规划新的VxLAN网络,部署方便,同时避免了大二层的广播风暴,可扩展性极强
适合云业务:支持千万级别租户隔离,有力支持云业务的大规模部署
Copyright ©2011-2016 杭州华三通信技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
本文档中的信息可能变动,恕不另行通知。