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.rhkb.cn/news/386502.html

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

相关文章

删除的视频怎样才能恢复?详尽指南

在日常生活中,我们有时会不小心删除一些重要的视频文件,或者在整理存储空间时不慎丢失了珍贵的记忆片段。这时候,我们可以通过一些数据恢复工具和技巧,找回这些被删除的视频。本文将详细介绍几种常见且有效的视频恢复方法&#xf…

如何用PostMan按照规律进行循环访问接口

①设置动态变量 步骤一: 设置环境变量 1. 创建环境变量集合 在 Postman 左上角选择 "环境",然后点击 "添加" 来创建一个新的环境变量集合。给它起一个名称,比如 "uploadDemo". 2. 添加初始变量 在新创建的环境变量集…

C语言边界互通传送迷宫

目录 注意事项开头程序程序的流程图程序输入与输出的效果结尾 注意事项 程序里有关字符’\033’的输出都关于Sunshine-Linux的其中一篇博客——《printf函数高级用法设置打印字体颜色和背景色等》 开头 大家好,我叫这是我58。今天,我们来看一下我用C语…

微服务面试-分布式 注册中心 远程调用 保护

标红的原理还是不太熟悉 重新看 分布式事务 CAP理论 Consistency(一致性) Availability(可用性) Partition tolerance (分区容错性) BASE 理论 就是做取舍 cap三选二 AT模式脏写 TCC模式 注册中…

4nm点状激光模组的应用让未来科技走向潮流

在科技发展时代,激光技术以其高精度、高效率的特性,正逐步成为众多行业不可或缺的核心技术之一。其中,4nm点状激光模组作为激光技术领域的佼佼者,凭借其卓越的性能和广泛的应用前景,正引领着科技发展的新潮流。接下来我…

UnityShaderUI编辑器扩展

前言: 当我们在制作通用Shader的时候,避免不了许多参数混杂在一起,尽管在材质面板已经使用过Header标签来区分,但是较长的Shader参数就会导致冗余,功能块不够简约明了,如图: 对于Shader制作者来…

用spingboot+vue实现酒店管理系统的不同角色登录功能(附源码)

酒店管理系统 一、项目介绍 1、项目用到的技术栈 开发工具:idea 语言:java、js、htmlajax 数据库:MySQL 服务器:Tomcat 框架:mybatis、jQuery、springboot、vue 2、项目实现功能 管理员和用户登录和退出功能以及用…

WSL for Windows

1、安装 超详细Windows10/Windows11 子系统(WSL2)安装Ubuntu20.04(带桌面环境)_wsl安装ubuntu20.04-CSDN博客https://blog.csdn.net/weixin_44301630/article/details/122390018 注意,安装之后首次启动 Ubuntu 时&…

NC 删除有序链表中重复的元素-I

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 删除给出链表…

用依赖倒置和控制反转,突破Golang循环调用限制之后的思考

在软件开发中,随着项目规模的扩大和业务逻辑的复杂化,重构代码变得越来越重要。本文将介绍如何在既有代码基础上,通过依赖倒置(DIP)和控制反转(IoC),实现新增加的代码可以循环引用到…

初学Mybatis之动态 SQL

动态 SQL 是指根据不同的条件生成不同的 SQL 语句 动态 SQL 详情请看链接 搭建环境: mysql 建立博客表 CREATE TABLE blog(id VARCHAR(50) NOT NULL COMMENT 博客id,title VARCHAR(100) NOT NULL COMMENT 博客标题,author VARCHAR(30) NOT NULL COMMENT 博客作者…

SolidWorks 2022安装包下载(图文详细安装教程)

SolidWorks 2022提供了强大的工具和功能,旨在帮助工程师和设计师进行产品设计和工程分析。它具有直观的用户界面和用户友好的操作,使得用户可以快速上手并进行复杂的设计任务。 主要特点和功能包括: 三维建模和装配:SolidWorks 20…

电脑没有摄像头怎么用手机当摄像头?虚拟摄像头使用的详细教程来了(全)

随着科技水平以及全球化经济的快速发展,视频会议、在线课程和直播已经成为日常办公或者生活中必不可少的一个环节。然而,在如今仍有许多台式电脑和一些老旧的笔记本电脑并没有内置摄像头,亦或者自带的摄像头质量不够理想,这使得视…

《python语言程序设计》2018版第6章第19题几何问题点的位置,利用4.31显示如何测试一个点是在一条有向线的左、右还是刚好在线上

# 这个是4.31的代码,一个函数里包含了。在线上,在线左,在线右 def judgePoint(x0, y0, x1, y1, x2, y2):juMethod ((x1 - x0) * (y2 - y0)) - ((x2 - x0) * (y1 - y0))if juMethod > 0:print("p2 is on the left side of the line f…

学习笔记:MySQL数据库操作5

1. 触发器(Triggers) 触发器是数据库的一种高级功能,它允许在执行特定数据库操作(如INSERT、UPDATE、DELETE)之前或之后自动执行一段代码。 1.1 创建商品和订单表 商品表(goods) gid: 商品编号…

Web3.js 4.x版本事件监听详解:从HTTP到WebSocket的迁移

项目场景 在一个使用以太坊区块链技术的项目中,需要监听智能合约的事件,以便在事件触发时能够及时响应。项目中使用了web3.js库的4.x版本,节点使用Geth启动,并通过HTTP与节点进行通信。 问题描述 合约DataStorage.sol文件已经定…

优雅单片机之STM32C8T6------蓝牙模块基本设置(2)

0,C8T6系列 1,入门之程序的下载 2,蓝牙模块基本设置(本文) 2,蓝牙模块基本应用 3,蓝牙小车(待定) 一,蓝牙模块基础设置 需要硬件:电脑&#x…

数据驱动未来:构建下一代湖仓一体电商数据分析平台,引领实时商业智能革命

1.1 项目背景 本项目是一个创新的湖仓一体实时电商数据分析平台,旨在为电商平台提供深度的数据洞察和业务分析。技术层面,项目涵盖了从基础架构搭建到大数据技术组件的集成,采用了湖仓一体的设计理念,实现了数据仓库与数据湖的有…

NGINX项目实战

一、nginx四层代理 部署支持4层TCP/UDP代理的Nginx服务器 部署nginx服务器 编译安装必须要使用--with-stream参数开启4层代理模块。 [rootproxy ~]# rm -rf /usr/local/nginx/ #清理环境 [rootproxy nginx-1.16.1]# ./configure --with-http_ssl_module --with-stream #开…

Java 沙漏图案(Hour-glass Pattern)

给定正整数 n,以沙漏形式打印数字模式。示例: 输入:rows_no 7 输出: 1 2 3 4 5 6 7 2 3 4 5 6 7 3 4 5 6 7 4 5 6 7 5 6 7 6 7 7 6 7 5 6 7 4 5 6 7 3 4 5 6 7 2 3 4 5 6 7 1 2 3 4 5 6…