当前位置:网站首页>智汇华云 | 华云软件定义网络 DCI介绍
智汇华云 | 华云软件定义网络 DCI介绍
2022-08-04 08:02:00 【互联网科技、】
在典型的企业级数据中心部署中数据中心可能跨地域部署,并且会有不同的业务部署在跨地域的数据中心里。这就意味着网络要有能力在两个或者多个数据中心之间进行扩展,从而让跨地域的业务之间可以进行二三层通信。华云软件定义网络支持基于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确认路由的路由实例。
边栏推荐
- Distributed Computing Experiment 1 Load Balancing
- YOLOv5应用轻量级通用上采样算子CARAFE
- RT-Thread Studio学习(十一)IIC
- The national vocational skills contest competition of network security emergency response
- 一天学会JDBC04:ResultSet的用法
- Distributed Computing Experiment 4 Random Signal Analysis System
- 一天搞定JDBC02:开启事务
- MySQL 8.0.29 详细安装(windows zip版)
- 推荐几种可以直接翻译PDF英文文献的方法
- 使用requests post请求爬取申万一级行业指数行情
猜你喜欢

RT-Thread Studio学习(十二)W25Q128(SPI)的读写
![玩转TypeScript对象、对象作为参数进行函数传递、接口和内置对象[无敌态]](/img/23/3405b488d11a4700a9b47758214574.png)
玩转TypeScript对象、对象作为参数进行函数传递、接口和内置对象[无敌态]

【CNN基础】转置卷积学习笔记

redis---分布式锁存在的问题及解决方案(Redisson)

Distributed Computing Experiment 4 Random Signal Analysis System

一天学会JDBC04:ResultSet的用法

此时已莺飞草长,愿世间美好与你环环相扣

24.循环神经网络RNN

给Unity Behavior Designer(Unity行为树) 的Can See Object 画圆锥辅助图

「PHP基础知识」转换数据类型
随机推荐
沃尔玛、阿里国际该如何做测评自养号?
无人驾驶运用了什么技术,无人驾驶技术是
2022爱分析· 银行数字化厂商全景报告
leetcode 22.8.1 二进制加法
金仓数据库 KDTS 迁移工具使用指南 (6. 注意事项)
使用GBase 8c数据库的时候,遇到这种报错
【JS 逆向百例】某网站加速乐 Cookie 混淆逆向详解
【STM32】STM32F103系列名称与封装、内存
金仓数据库KingbaseES客户端编程接口指南-JDBC(6. JDBC 大对象数据处理)
Distributed Computing Experiment 4 Random Signal Analysis System
【字符串】最小表示法
The difference between character stream and byte stream
Redis非关系型数据库
在GBase 8c数据库后台,使用什么样的命令来对gtm、dn节点进行主备切换的操作?
unity2D横版游戏教程7-敌人AI死亡效果
1161. Maximum Level Sum of a Binary Tree
大佬们,mysql里text类型的字段,FlinkCDC需要特殊处理吗 就像处理bigint uns
华为设备配置VRRP与NQA联动监视上行链路
js-第一个出现两次的字母
Distributed Computing MapReduce | Spark Experiment