Overlay网络

Overlay 介绍

Overlay网络是将已有的物理网络(Underlay网络)作为基础,在其上建立叠加的逻辑网络,实现网络资源的虚拟化。
在这里插入图片描述
传统网络带来了以下一些问题:
● 虚拟机规模受
网络规格限制在传统二层网络环境下,数据报文是通过查询MAC地址表进行二层转发,而网络设备MAC地址表的容量限制了虚拟机的数量。
● 网络隔离能力限制
当前主流的网络隔离技术是VLAN,由于IEEE 802.1Q中定义的VLAN ID只有12比特,仅能表示4096个VLAN,无法满足大二层网络中标识大量租户或租户群的需求。
● 虚拟机迁移范围受网络架构限制
为了保证虚拟机迁移过程中业务不中断,则需要保证虚拟机的IP地址、MAC地址等参数保持不变,这就要求业务网络是一个二层网络,且要求网络本身具备多路径的冗余备份和可靠性。传统的STP、设备虚拟化等技术只适用于中小规模的网络。
针对上述问题,为了满足云计算虚拟化的网络能力需求,逐步演化出了Overlay网络技术。
● 针对虚拟机规模受网络规格限制
虚拟机发出的数据包封装在IP数据包中,对网络只表现为封装后的网络参数。因此,极大降低了大二层网络对MAC地址规格的需求。
● 针对网络隔离能力限制
Overlay技术扩展了隔离标识的位数(24比特),极大扩展了隔离数量。
● 针对虚拟机迁移范围受网络架构限制
Overlay将以太报文封装在IP报文之上,通过路由在网络中传输。通过路由网络,虚拟机迁移不受网络架构限制。而且路由网络具备良好的扩展能力、故障自愈能力、负载均衡能力。
Overlay技术有多种,例如VXLAN、NVGRE、STT等,其中VXLAN是目前获得最广泛支持的Overlay技术。

VXLAN

VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用MAC-in-UDP的报文封装模式,如图7-2所示,原始报文在VXLAN接入点(被称为VTEP)加上VXLAN帧头后再被封装在UDP报头中,并使用承载网络的IP/MAC地址作为外层头进行封装,承载网络只需要按照普通的二三层转发流程进行转发即可。

VXLAN报文转发过程

在这里插入图片描述

  1. VM1发送目的地址为VM2的报文。
  2. VTEP1收到该报文后进行VXLAN封装,封装的外层目的IP为VTEP2。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP2。
  3. VTEP2收到报文后,对报文进行解封装,得到VM1发送的原始报文,然后将其转发至VM2。

二层MAC学习及BUM报文转发

在VXLAN网络中,同子网虚拟机的互通是通过查找MAC表进行转发。如下图所示,VM1给VM2发送报文时,经过VTEP1转发,VTEP1上需要学习到VM2的MAC地址。最初的VXLAN标准并没有定义控制平面,VTEP之间无法传递学习到的主机MAC地址。但是VXLAN有着与传统以太网非常相似的MAC学习机制,当VTEP接收到VXLAN报文后,会记录源VTEP的IP、虚拟机MAC和VNI到本地MAC表中,这样当VTEP接收到目的MAC为此虚拟机的MAC时,就可以进行VXLAN封装并转发。
在这里插入图片描述
VM1发送目的地址为VM2的报文。
VTEP1接收到报文后,进行VXLAN封装,并将其转发至VTEP2。同时,VTEP1可以学习到VM1的MAC地址、VNI、入接口。
VTEP2接收到报文后,对报文进行解封装。同时,VTEP2可以学习到VM1的MAC地址、VNI、入接口(为VTEP1)。
经过上述流程,VTEP1和VTEP2可以学习到VM1的MAC地址。VTEP1和VTEP2学习到VM2的MAC地址过程与之类似。

BUM报文转发

前面描述的报文转发过程都是已知单播报文转发,如果VTEP收到一个未知地址的BUM 报文(Broadcast,Unknown Unicast,Multicast,广播、未知单播、组播流量统称)如何处理呢。与传统以太网BUM报文转发类似,VTEP会通过泛洪的方式转发流量。
在这里插入图片描述
以上图中VM1想向VM2发送报文为例,因为VM1不知道VM2的MAC地址,所以会发送ARP广播报文请求VM2的MAC地址。
VM1发送ARP广播请求,请求VM2的MAC地址。
VTEP1收到ARP请求后,因为是广播报文,VTEP1会在该VNI内查找所有的隧道列表,依据获取的隧道列表进行报文封装后,向所有隧道发送报文,从而将报文转发至同子网的VTEP2和VTEP3。
同时,VTEP1会学习到VM1的MAC地址。
VTEP2和VTEP3接收到报文后,进行解封装,得到VM1发送的原始ARP报文,然后转发至VM2和VM3。
同时VTEP2、VTEP3会学习到VM1的MAC地址。
VM2和VM3接收到ARP请求后,比较报文中的目的IP地址是否为本机的IP地址。
VM3发现目的IP不是本机IP,故将报文丢弃;VM2发现目的IP是本机IP,则对ARP请求做出应答。
ARP应答报文为已知单播报文,转发流程与前文描述的一致,此处不在赘述。
经过ARP应答流程,VTEP1和VM1就可以学习到VM2的MAC地址。后续的转发流程同已知单播转发流程一致。

VXLAN 网关部署

与不同VLAN需要通过三层网关互通一样,VXLAN中不同VNI的互通也需要有三层网关。

在典型的“Spine-Leaf”VXLAN组网结构下,根据三层网关的部署位置不同,VXLAN三层网关可以分为集中式网关和分布式网关。

集中式网关部署

集中式网关是指将三层网关集中部署在Spine设备上,如下图所示,所有跨子网的流量都经过三层网关进行转发,实现流量的集中管理。

集中式网关部署方式可以对跨子网流量进行集中管理,网关的部署和管理比较简单,但是因为同Leaf下跨子网流量也需要经过Spine转发,所以流量转发路径不是最优。同时,所有通过三层转发的终端租户的表项都需要在Spine上生成。但是,Spine的表项规格有限,当终端租户的数量越来越多时,容易成为网络瓶颈

分布式网关部署

VXLAN分布式网关是将Leaf节点作为VXLAN隧道端点VTEP,每个Leaf节点都可作为VXLAN三层网关,Spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。
在这里插入图片描述
在Leaf上部署VXLAN三层网关,即可实现同Leaf下跨子网通信。此时,流量只需要在Leaf节点进行转发,不再需要经过Spine节点,从而节约了大量的带宽资源。同时,Leaf节点只需要学习自身连接虚拟机的ARP表项,而不必像集中三层网关一样,需要学习所有虚拟机的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。
对于分布式网关场景,因为需要在三层网关间传递主机路由才能保证虚拟机间互通,所以需要有控制平面来进行路由的传递。

双活网关

在传统网络中,为了保证高可靠性,通常部署多个网关进行备份。与传统网络类似,VXLAN网络也支持Overlay层面的双活网关。

集中式网关场景下多活网关

在典型的“Spine-Leaf”组网结构下,Leaf作为二层网关,Spine作为三层网关。多个Spine配置相同的VTEP地址、虚拟MAC地址,从而可以将多个Spine虚拟成一个VXLAN隧道端点。这样使得无论流量发到哪一个Spine设备,该设备都可以提供网关服务,将报文正确转发给下一跳设备。
在这里插入图片描述

分布式网关场景下双活接入

在分布式网关场景下,Spine作为透传设备,Leaf作为三层网关。通过在Leaf上部署M-LAG,可以实现双活接入,即服务器可以双活接入到多个Leaf。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泰迪智能科技大数据实验室——陕西省高校合作成功案例

近年来,陕西省紧跟国家大数据发展战略,积极推进大数据产业发展。在政策扶持、产业布局、技术创新等方面取得显著成效。泰迪智能科技大数据实验室立足陕西,携手西安邮电大学、西安财经大学、陕西科技大学镐京学院、宝鸡文理学院、渭南师范学院…

使用Selenium爬虫批量下载AlphaFold数据库中的PDB文件

注意:本方法使用了python,下载速度一般,如果需要更快的大批量下载可以考虑使用其他方法,例如FTP Alphafold数据库其实提供了许多物种的蛋白质组: AlphaFold Protein Structure Database 但是如果你搜索的物种不在这个…

【从0制作自己的ros导航小车:上位机篇】02、ros1多机通讯与坐标变换可视化

从0制作自己的ros导航小车 前言一、ros1多机通讯二、rviz可视化小车坐标系 前言 上节课完成了里程计数据与坐标变换发布,但是还没有测试,本节进行测试,测试之前需要知道一件事,上位机也就是开发板一般不做可视化用,因…

Python 教程(七):match...case 模式匹配

目录 专栏列表前言基本语法match 语句case 语句 模式匹配的类型示例具体值匹配类型匹配序列匹配星号表达式命名变量复杂匹配 模式匹配的优势总结 专栏列表 Python教程(一):环境搭建及PyCharm安装Python 教程(二)&…

NASA:水瓶座官方发布的第 3 级辅助雷诺兹海面温度标准映射图像降序年度数据 V3.0

Aquarius Official Release Level 3 Ancillary Reynolds Sea Surface Temperature Standard Mapped Image Descending Annual Data V5.0 水瓶座官方发布的第 3 级辅助雷诺兹海面温度标准映射图像降序年度数据 V5.0 (AQUARIUS_L3_ANCILLARY_SST_SMID_ANNUAL_V5) 简介 水瓶座 3…

Golang | Leetcode Golang题解之第301题删除无效的括号

题目&#xff1a; 题解&#xff1a; func checkValid(str string, lmask, rmask int, left, right []int) bool {cnt : 0pos1, pos2 : 0, 0for i : range str {if pos1 < len(left) && i left[pos1] {if lmask>>pos1&1 0 {cnt}pos1} else if pos2 <…

FFmpeg实战 - 解复用解码

文章目录 前置知识音视频基础概念解复用、解码的流程分析FFMPEG有8个常用库 常见音视频格式的介绍aac格式介绍h264格式介绍flv格式介绍mp4格式介绍 FFmpeg解码解封装实战数据包和数据帧&#xff08;AVPacket/AVFrame&#xff09;AVPacket/AVFrame的引用计数问题API介绍注意事项…

实习日志2之windows上大模型(qwen2-7b)部署

一、模型部署 1、下载ollama(大模型本地部署工具)&#xff0c;并安装 下载网址&#xff1a;https://ollama.com/ ollama是大模型部署方案&#xff0c;对应docker&#xff0c;本质也是基于docker的容器化技术。 2、下载大模型 在命令框&#xff0c;如windows系统在cmd窗口输…

笔试练习day1

目录 数字统计题目解析解法(枚举数字拆分)代码 两个数组的交集题目解析解法哈希表代码 点击消除题目解析解法栈代码 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x1f978;&#x1f978;&#x1f97…

开源AI智能名片小程序源码在对立型定位策略中的应用与深入探索

摘要&#xff1a;在当今数字化营销风起云涌的时代&#xff0c;开源AI智能名片小程序源码作为技术创新的前沿阵地&#xff0c;为中小企业及后发创业品牌提供了实现差异化竞争与市场突破的利器。本文旨在深入探讨开源AI智能名片小程序源码如何有效融入对立型定位策略之中&#xf…

二进制部署k8s集群之master节点和etcd数据库集群(上)

目录 1.操作系统初始化配置 2.升级Linux内核 3.部署docker引擎 4.部署etcd集群 4.1 了解etcdctl工具对etcd做增删改查 4.2 通过etcdctl工具实现数据库的备份和恢复 5.部署Master组件 6.部署 Worker Node 组件 二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a…

【Cyber RT】Apollo Cyber RT安装, 环境搭建,test ok

一、下载源码 克隆Apollo 源码仓库 git clone https://gitee.com/ApolloAuto/apollo.git (耗时30min) 二、启动Apollo Docker 开发容器 进入到Apollo源码根目录,执行下述命令以启动Apollo Docker开发容器 cd apollo ./docker/scripts/dev_start.sh 如果只是使用Cyber…

经典文献阅读之--GraphAD(端到端自动驾驶的交互场景图)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…

使用IPIDEA海外代理助力宠物跨境电商1.1

3.如何获取具体分类的数据&#xff1f; 以前我们做选品&#xff0c;通常会招聘多个运营专员&#xff0c;每隔几小时去亚马逊平台上查看猫狗商品数据&#xff0c;然后人工把数据一条一条复制粘贴下来。通常一遍做下来&#xff0c;1-2小时就过去了&#xff08;根据数据样本的大小…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 围棋的气(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

Spring-原理篇-DispatcherServlet 初始化 怎么和IOC进行了打通?

委托模式的体现&#xff0c;在初始化醒目的时候Spring MVC为我们提供了一个DispatcherServlet&#xff0c;映射了所有的路径&#xff0c;所有的请求都会先到达这里然后被转发到具体的Controller 进行处理&#xff0c;此文来探索一下&#xff0c;DispatcherServlet 初始化的时候…

Hive之扩展函数(UDF)

Hive之扩展函数(UDF) 1、概念讲解 当所提供的函数无法解决遇到的问题时&#xff0c;我们通常会进行自定义函数&#xff0c;即&#xff1a;扩展函数。Hive的扩展函数可分为三种&#xff1a;UDF,UDTF,UDAF。 UDF&#xff1a;一进一出 UDTF&#xff1a;一进多出 UDAF&#xff1a…

架构分析(CPU:ARM vs RISC-V)

ARM N2 ARM V2 对比 N2和V2&#xff0c;整体架构具有一致性。保证 SiFive P870 P870 Pipeline Veyron V1

MATLAB画散点密度图(附代码和测试数据的压缩包)

1. 有关 Matlab 获取代码关注公众号WZZHHH回复关键词&#xff0c;或者咸鱼关注&#xff1a;WZZHHH123 怀俄明探空站数据解算PWV和Tm&#xff1a;怀俄明探空站数据解算PWV和Tm 怀俄明多线程下载探空站数据&#xff08;包括检查和下载遗漏数据的代码&#xff09;&#xff1a;怀俄…

【C++深度探索】深入解析AVL树的底层实现机制

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 &#x1f525; 所属专栏&#xff1a;C从入门至进阶 这里将会不定期更新有关C/C的内容&#xff0c;欢迎大家点赞&#xff0c;收藏&#xff0c;评论&#x1f973;&#x1f973;&#x1f389;&#x1f389;&#x1f389; 前言 AV…