• 智汇华云 | 华云软件定义网络 DCI介绍


    在典型的企业级数据中心部署中数据中心可能跨地域部署,并且会有不同的业务部署在跨地域的数据中心里。这就意味着网络要有能力在两个或者多个数据中心之间进行扩展,从而让跨地域的业务之间可以进行二三层通信。华云软件定义网络支持基于EVPN VxLAN 的两个及以上数据中心的连接,简称DCI(Data Center Interconnect),即华云软件定义网络支持多数据中心之间以MP-BGP EVPN 作为控制平面的VxLAN Overlay网络。

     

    VxLAN 概述

    顾名思义,VXLAN旨在提供与VLAN相同的以太网二层网络服务,但具有更大的扩展性和灵活性。 与VLAN相比,VXLAN具有以下优点:

    在整个数据中心灵活放置多租户段:它提供了一种解决方案,在底层网络基础设施上扩展二层网络段,以便租户工作负载可以放置在跨数据中心的物理Pod上。

    可扩展性更强,可访问更多的二层网段:VLAN使用12位的VLAN ID来访问二层网段,因此只能访问4094个VLAN。 VXLAN使用一个24位的段ID,称为VXLAN网络标识符(VNID),它可以使1600万个VXLAN段同时存在于同一个管理域中。

    更好地利用底层基础设施中的可用网络路径:VLAN使用生成树协议(Spanning Tree Protocol) 预防环路,通过阻塞冗余路径,最终网络中的一半网络链路不被有效使用。 VXLAN报文在底层网络中基于三层报头进行传输,可以充分利用三层路由、ECMP (equal-cost multipath)路由和链路聚合协议,使用所有可用路径。

    VXLAN是一种基于三层网络的二层Overlay方案。 它使用MAC地址封装在UDP报文中 (MAC-in-Udp)来提供一种跨数据中心网络扩展二层网段的方法。 VXLAN是一种在公共物理基础设施上支持灵活的、大规模的多租户环境的解决方案。 物理数据中心网络的传输协议是IP + UDP。

    VXLAN 报文格式:

    MP-BGP EVPN 控制平面概述

    MP-BGP EVPN是基于行业标准的VxLAN控制协议。 在EVPN之前,VxLAN Overlay网络以flood-and-learn模式运行。 在这种模式下,终端主机信息学习和VTEP发现都是数据平面驱动的,不需要控制协议在VTEP之间分发终端主机可达信息。 MP-BGP EVPN改变了这种模式。 它为远程VTEP背后的终端主机引入了控制平面学习。 它实现了控制平面和数据平面的分离,为VxLAN Overlay网络的二层转发和三层转发提供了统一的控制平面。

    华云软件定义网络实现了MP-BGP EVPN的控制平面,提供了如下主要的优点:

    MP-BGP EVPN协议基于行业标准,允许多厂商互操作。

    它使控制平面学习终端主机第二层和第三层可达信息,使组织能够建立更健壮和可扩展的VxLAN Overlay网络。

    采用稳定的MP-BGP VPN技术,支持可扩展的多租户VxLAN Overlay网络。

    EVPN地址族携带二层和三层可达信息,从而在VxLAN Overlay网络中提供完整的桥接和路由。

    通过对本地VTEP进行基于协议的主机MAC/IP路由分配和ARP (Address Resolution Protocol)抑制,最大限度地减少网络泛滥。

    DCI互联

    华云软件定义网络实现的DCI之间互联方式有多种,根据需求的不同可构建特定的互联方式。

    DC之间直接EBGP互联

    DC首先IBGP接入软件网关,软件网关之间EBGP互联

    DC直接互联

    DC间直接互联要求DC间控制器以及DC间数据通路三层互通。

    当DC间控制器直接互联时,DC间支持丰富的功能集。其中Route Target路由条目作为MP EVPN的扩展属性,可以在DC间定制VPN路由,从而避免DC间巨量路由交互, 降低控制面带宽损耗。

    DC之间通过软件网关互联

    华云软件定义网络软件网关(华云软件定义网络GW)作为重要的辅助组件在DCI中扮演着VNI MAPPING的重要角色。SDN控制器中的路由条目通告给华云软件定义网络GW, 华云软件定义网络GW根据配置面的VNI MAPPING信息将转换EVPN路由中的Vxlan ID,Route Target以及修改路由下一跳为华云软件定义网络GW,然后通告给远端华云软件定义网络GW。远端华云软件定义网络GW再将以上信息根据配置修改后,将路由通告在于其互联的DC。

    DC间网络二层互通

    DC间二层互通的场景下

    各DC中需要构建L2 BGP VPN,配置全局Route Target。

    当DC中各自的虚拟网络关联到BGP VPN上后,华云软件定义网络控制器将虚拟网络路由以BGP EVPN type 2类型通告到远端DC。

    Type2 路由格式:

    远端DC根据路由的扩展属性Route Target将路由导入到相应的虚拟网络中,在二层表中安装对应路由。

    华云软件定义网络控制器type2 路由

    此外华云软件定义网络支持Type3 类型路由,数据面根据Type3 类型路由生成头端复制列表。并在二层表中生成广播列表,进而使得当Overlay网络中存在静默主机时,主动发送ARP请求获取对端虚拟工作负载的ARP地址。

    Type3 路由格式:

    华云软件定义网络控制器上的Type3路由条目

    二层通信时虚机请求同网络虚机ARP地址,获取ARP地址后,查询二层桥接表,下一跳地址为远端DC Vtep或者如果有软件网关的场景下软件网关Vtep地址。 将原始报文封装后,外层报文为udp + vxlan, vxlan id为路由通告时携带的Label。

    内外层报文如下图所示:

    DC间网络三层互通

    DC间三层通信的场景下,即为Vxlan Routing的场景。Vxlan Routing需要借助三层VNI,

    三层VNI提供路由的路由实例上下文。

    首先需要在各DC中创建Vxlan Routing路由器,将虚拟网络关联到Vxlan Routing路由器上。

    再者创建L3 BGP VPN以及相应的Route Target, 将Vxlan Routing路由器关联到L3 BGP VPN上。

    当虚拟路由器关联到L3 BGP VPN上后,虚拟网络的路由会以EVPN type5路由发布,type5路由格式如下。

    华云软件定义网络控制器的Type 5路由

    上层为三层通信时报文封装示例,内层报文的DMAC为远端VTEP的MAC地址,提供路由上下文。外层VXlan头部的VNI为三层VNI,提供三层路由上下文。当报文到达远端DC时,根据三层VNI确认路由的路由实例。

  • 相关阅读:
    强化学习中这种loss图正常吗
    C语言,编写程序输出半径为1到15的圆的面积,若面积在30到100之间则予以输出,否则,不予输出
    jenkins 共用宿主机中的docker自动化部署
    【MATLAB源码-第43期】基于matlab的turbo码误码率仿真比较不同迭代次数,采用logmap/sova算法。
    在win7和win10上通过INF文件安装64位WDM驱动
    前端Canvas入门——怎么用Canvas画一些简单的图案
    window 自启动程序并定时检测进程(SpringBoot 项目)
    基于springboot+vue的靓车汽车销售网站(前后端分离)
    postgresql并行查询(高级特性)
    什么是ChatGPT
  • 原文地址:https://blog.csdn.net/weilidai/article/details/126139459