• 回到顶部
  • 021-64859922
  • QQ客服
  • 微信二维码

ANOS数据中心案例文档

时间:2023-04-11 15:04

1数据中心网络(VxLAN+EVPN)

1.1概述

     EVPN是在现有(RFC4761)方案基础上,参考了BGP/MPLS L3 VPN(RFC4364)的架构提出的。在SDN架构中,控制和数据是分离的,应用在控制层之上构建。对于EVPN来说,控制层是MP-BGP,而EVPN可以看成是构建在MP-BGP上的应用。所以EVPN不仅仅是一种技术和架构,它也有应用场景的含义。在EVPN架构中,PE之间的MAC/IP地址学习是基于控制平面的,采用MP-BGP协议通告MAC/IP的可达性,其策略控制非常类似于IP VPN。

 

 

    

 

 

 

 

 

 

 

 

 

ANOS数据中心的EVPN方案控制层RFC7432协议定义的MP-BGP协议扩展,数据层面是VxLAN封装转发。

EVPN继承了MP-BGP和VxLAN的优势。具有如下特点:

       

  • 简化配置:通过MP-BGP实现VTEP自动发现、VxLAN隧道自动建立、VxLAN隧道与VxLAN自动关联,无需用户手工配置,降低网络部署难度。
  • 分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。
  • 支持多归属:当同一个站点通过多台VTEP接入VxLAN网络时,连接该站点的多条路径均可以进行流量转发,以提高网络带宽利用率。
  • 支持对称IRB(Integrated Bridging and Routing,集成的桥接和路由):MP-BGP同时发布二层MAC地址和三层路由信息,VTEP既可以进行二层转发,也可以进行三层路由。这样,不仅可以保证流量采用最优路径转发,还可以减少广播流量。

 

1.1.1网络模型

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如上所示,EVPN的典型网络模型中包括如下几部分:

   

  • VTEP(VxLAN Tunnel End Point,VxLAN隧道端点):EVPN的边缘设备。EVPN的相关处理都在VTEP上进行。通常是物理交换机或虚拟交换机。
  • VxLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VxLAN头、UDP头和IP头后,通过VxLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。
  • 核心设备:IP核心网络中的设备(如图P设备)。核心设备不参与EVPN处理,仅需要根据封装后报文的外层目的IP地址对报文进行三层转发。

 

1.1.2 VxLAN隧道建立

   VxLAN是一种“MAC in UDP”技术,是在物理网络上构建的一种Overlay架构。

      

        

     

 

 

 

 

 

 

 

 

 

 

     VxLAN封装整个占50字节,其基本封装格式为MAC in UDP,即使用UDP封装二层报文,其UDP目的端口为4789;VxLAN头占8字节,包含24bits的VxLAN ID(VNI),这也是VNI支持2^24个ID的原因;外层IP头为隧道两端的VTEP设备地址。

     EVPN的二层转发中,通过路由完成VTEP站点的自动发现。每个站点都通告自己的VNI信息,这样每个VTEP设备都有全网的VxLAN信息以及VxLAN和下一跳的关系。VTEP设备会和那些跟自己有相同VNI的下一跳自动建立VxLAN隧道,并将此VxLAN隧道跟这些相同的VNI关联。    

    在EVPN的三层转发中,当一个网关接收到远端网关通告的路由时,并且此路由在VRF的RT策略中检查通过可以下发时,EVPN也会尝试跟对端建立VxLAN隧道。此隧道用于三层转发时进行外层加封装用。如果某个VTEP跟同一个对端VTEP既建立了二层隧道,又建立了三层隧道,此时隧道可以共用,即两个VTEP之间最多只会建立一条VxLAN隧道。

 

1.1.3 VxLAN通信流程

 

1.二层通信流程(VM1->VM2)  

 

 

 

 

 

 

 

 

 

 

 

     

 

 

 

     1)VM1发送ARP请求给VTEP1。

     2)VTEP1为了避免泛洪,ARP代答回应VM2的MAC2。

     3)VM1发送二层包到VTEP1,VTEP1组VxLAN包。

     4)VTEP1查找MAC table发给VTEP2。

     5)VTEP2解包查找MAC table发包给VM2。

 

2.三层分布式非对称通信流程(VM1->VM3)  

  

     

 

 

 

 

 

 

 

 

 

 

 

 

     1)VTEP1收到VM1发送的报文,根据目的IP3得到VM3的VNI是20,以及VM3的MAC3。

     2)VTEP1修改报文的源MAC为VTEP1的MAC,目的MAC为VM3的MAC3,VxLAN报文的VNI为VM3的VNI(20)。

     3)VTEP1将报文发送给VTEP2。

     4)VTEP2收到报文后,解封装后查到目的MAC3,通过查找MAC表转发到VM3。

 

3.三层分布式对称通信流程(VM1->VM3)  

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

     1)VTEP1收到VM1发送的报文,根据目的VM3的目的IP3,得到VM3的L3的VNI是100。

     2)VTEP1修改报文的源MAC为VTEP1的MAC,目的MAC为VTEP2的MAC,报文的VNI为L3VNI(100)。

     3)报文发送给VTEP2。

     4)VTEP2收到报文后解封装VxLAN包,修改目的MAC为MAC3,并发送给VM3。

1.1.4 MAC/IP通告学习

     EVPN在控制层面学习MAC和ARP。在EVPN里面,站点的MAC和ARP信息是通过EVPN的MAC/IP路由通告的。本地MAC和ARP的学习仍然需要靠VTEP在数据层面完成,本地MAC的学习可以靠以太报文的源MAC学习获得,而ARP可以靠ARP或免费ARP等报文学习获得。本地学到MAC和ARP后,EVPN控制面通过BGP邻居分发到其他VTEP设备。

     远端VTEP收到路由时,会将MAC下发到二层转发表里,将IP下发到三层转发表里。实际使用中,为了抑制ARP广播请求泛洪,可以让对端VTEP学习到本端VTEP下挂的主机ARP,从而使得远端VTEP可以直接代答回应远端主机发起的ARP请求。

1.1.5 虚拟机迁移

    MAC地址迁移是指虚拟机或主机从其接入的VTEP或网关设备迁到数据中心网络的另一台VTEP或网关下。迁移后的VTEP或网关会重新感知到主机/虚拟机上线,继而重新通告该MAC/IP路由,此路由跟迁移前通告的MAC/IP路由的区别在于BGP update消息中携带了一种新的扩展团体——MAC Mobility扩展团体。此扩展团体里面包含一个系列号。每次迁移,迁移序列号将递增,远端在收到一个比自己系列号更大的消息时,更新自己的MAC/IP路由消息,下一跳指向迁移后通告此路由的VTEP或GW。原VTEP在收到此路由更新后,撤销之前通告的路由。   

1.1.6 ARP泛洪抑制

    广播发送的ARP请求报文占用核心网络带宽,VTEP根据从BGP收到的EVPN 路由在本地建立ARP缓存表项。后续当VTEP收到本站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,优先根据本地存储的ARP表项进行代答回应。

 

1.2 案例

1.2.1 二层流量的转发

 

    1. 组网需求

   

    Leaf1和Leaf2(DCS6300-48X6C)为与服务器连接的VTEP设备,Spine1(DCS6700-32C)负责在路由器之间反射BGP路由。虚拟机VM1和VM3属于VxLAN 10,VM2和VM4属于VxLAN 20。相同VxLAN之间可以二层互通。

 

    2. 组网图

     

 

1.2.2 三层流量的转发

    1. 组网需求

       Leaf1和Leaf2(DCS6300-48X6C)为与服务器连接的VTEP设备,Spine1(DCS6700-32C)负责在路由器之间反射BGP路由。虚拟机VM1和VM3属于VxLAN 10,VM2和VM4属于VxLAN 20。让VxLAN 20和VxLAN 10属于同一个三层网关。虚拟机VM1和VM2,VM3,VM4都能互相通信。

 

    2. 组网图 

 

 

1.2.3 ARP代答

    1.组网需求

    Leaf1和Leaf2(DCS6300-48X6C)为与服务器连接的VTEP设备,Spine1(DCS6700-32C)负责在路由器之间反射BGP路由。虚拟机VM1和VM3属于VxLAN 10。先让VM1和VM3可以通信(图一)。之后断掉右边Leaf1和Spine2的连线(图二),然后再通过VM1 ping VM3,看是否Leaf1会直接回复VM1 ARP的回复包。

 

    2.组网图

 

                                                                                                                                     图一

 

                                                                                                                                     图二

 

1.2.4 虚拟机迁移

    1.组网需求

    Leaf1和Leaf2(DCS6300-48X6C)为与服务器连接的VTEP设备,Spine1 (DCS6700-32C)负责在路由器之间反射BGP路由。虚拟机VM1和VM3属于VxLAN 10。先让VM1和VM3可以通行(图一)。之后把VM1移到Leaf2的server3 (图二)看是否VM1可以VM3正常通信。

 

    2.组网图

 

                                                                                                                                       图一

 

                                                                                                                                        图二

 

1.2.5 端口和VNI(1:N)的映射

    1.组网需求

    Leaf1DCS6300-48X6C)为与服务器连接的VTEP设备,Spine1 (DCS6700-32C)负责在路由器之间反射BGP路由。虚拟机VM1属于VxLAN 10,虚拟机VM2属于VxLAN 20,让VxLAN 10 和 VxLAN 20属于同一个三层网关。是否VM1和VM2可以通信。

 

    2.组网图

 

 

1.2.6 数据中心之间的二三层通信

    1.组网需求

    Leaf1和Leaf2(DCS6300-48X6C)为与服务器连接的VTEP设备,Spine1,Spine2(DCS6700-32C)负责在路由器之间反射BGP路由。在图一中虚拟机VM1和VM2属于VxLAN 10,是否VM1可以VM2通信。在图二中虚拟机VM1属于VxLAN 10,VM2属于VxLAN 20,VxLAN 10 与 VxLAN 20 属于同一个三层网关,是否VM1可以VM2通信。

 

    2.组网图

 

                                                                                                                               图一

 

 

 

                                                                                                                                  图二                                                              

技术文章 & 视频

 

为运营商提供云网融合的创新网络产品及解决方案,参与运营商IT私有云、通信网络云和IP网络建设,并为运营商提供5G移动通信网络领域的产品和方案。同时,木犀技术(南京)有限公司助力运营商业务转型,携手在政企行业市场领域打造出一系列业界标杆,成为运营商业务转型的可信赖战略合作伙伴。