华为云Stack 8.X 流量模型分析(二)

news2024/11/26 21:31:56

二、流量模型分析相关知识

1.vNIC

​ 虚拟网络接口卡(vNIC)是基于主机物理 NIC 的虚拟网络接口。每个主机可以有多个 NIC,每个 NIC 可以是多个 vNIC 的基础。

​ 将 vNIC 附加到虚拟机时,Red Hat Virtualization Manager 会在虚拟机之间创建多个关联的 vNIC( vNIC 本身)以及 vNIC 所基于的物理主机 NIC。特别是,当 vNIC 附加到虚拟机时,会在 vNIC 所基于的物理主机 NIC 上创建新的 vNIC 和 MAC 地址。然后,在虚拟机附加了 vNIC 后第一次启动虚拟机时,libvirt 为 vNIC 分配 PCI 地址。然后,MAC 地址和 PCI 地址用于获取虚拟机中的 vNIC 的名称(如 eth0)。

2.OVS

​ OVS(OpenvSwitch)是一个高质量、多层的虚拟交换软件。它的目的是通过编程扩展支持大规模网络自动化,同时还支持标准的管理接口和协议。

​ OVS官方的定位是要做一个产品级质量的多层虚拟交换机,通过支持可编程扩展来实现大规模的网络自动化。设计目标是方便管理和配[虚拟机网络,检测多物理主机在动态虚拟环境中的流量情况。针对这一目标,OVS具备很强的灵活性。可以在管理程序中作为软件switch运行,也可以直接部署到硬件设备上作为控制层。

3.OpenStack与Neutron

​ OpenStack是一个云平台管理的项目,它不是一个软件,它是由几个主要的组件组合起来,为公有云、私有云和混合云的建设与管理提供软件的开源项目。OpenStack的主要目标是管理数据中心的资源,简化资源分配。它管理计算、存储、网络三部分资源。华为FusionSphere OpenStack就是基于OpenStack的架构开源代码进行开发的。

​ Neutron是OpenStack的SDN组件,用于实现网络虚拟化和自动化。Neutron的应用分为两大类:基于OpenStack的应用、基于SDN的应用。前者是在云的场景下,与OpenStack其他部件一起配合,为用户提供云服务。后者是在SDN场景下,与SDN Controller一起配合,为用户提供网络服务。

3.qbr与br-int

​ qbr是Quantum Bridge的缩写,Quantum是OpenStack网络组件的前一个商标名,由于版权原因现改名为Neutron。

​ br-int是Integration Bridge(综合网桥)的缩写。

​ qbr与br-int都是Bridge。qbr的实现载体是Linux Bridge,br-int的实现载体是OVS。需要注意的是Linux Bridge不是qbr的唯一实现载体,OVS也不是br-int的唯一实现载体,也可以用其他的实现方式来替换它们。只不过这样的实现方式是当前OpenStack解决方案的比较经典的方式而已。qbr与br-int之间,通过veth pair连接,VM与qbr之间,通过tap连接。VM与qbr之间只有1个tap,及1个tap分别挂接在VM和qbr之上。

​ vm通常需要挂载两层Bridge,及VM先接qbr(Linux Bridge),再接br-int(OVS)。如果只有一个qbr,由于qbr仅仅是一个Linux Bridge,它的功能不能满足实际场景的需求;如果只有一个br-int,由于br-int实际是一个OVS,而OVS现在还不支持基于iptables规则的安全组功能,且OpenStack(HCS)是要基于iptables规则来实现安全组功能。所以OpenStack(HCS)引入qbr其目的主要就是利用iptables来实现security group功能(qbr有时候也被称为安全网桥),而引入br-int,才是真正为了实现一个综合网桥的功能。

4.br-ethx

​ br-ethx是一个Bridge,也是一个OVS,它的全称是:Bridge-Ethernet-External。br-ethx负责与“外”部通信,这里的“外”部指的是Host外部,但是却又要属于一个Network(这个Network指的是Neutron的概念)的内部,指的是VLAN内部。

​ br-ethx与br-int之间的接口是veth pair。值得注意的是,br-ethx上的接口是一个真正的Host的网卡接口(NIC Interface,Interface in Network Interface Card)。网卡接口是网卡物理口上的一个Interface。

5.br-tun

​ br-tun是一个Bridge,也是一个OVS,它的全称是:Bridge-Tunnel。这里的Tunnel指的是VXLANTunnel。

​ br-tun用于连接br-int网桥和linux网桥,实现物理环境的互联。

6.vlan与vxlan

​ VLAN(Virtual Local Area Network,虚拟局域网)和 VxLAN(Virtual eXtential LAN,虚拟可拓展局域网)。二者的作用都是为了实现网络隔离,具体的作用原理与区别本文不做阐述。

​ VLAN中对应的是br-ethx,而VXLAN中对应的是br-tun,二者都是OVS,两者的差别不是实现组件的差别,而是组件所执行的功能的差别。br-ethx所执行的功能是一个普通二层交换机的功能,br-tun所执行的是VXLAN中VTEP(VXLAN Tunneling End Point,VXLAN隧道终结点)的功能。

7.QinQ

​ QinQ(802.1Q-in-802.1Q)也称为VLAN Stacking(堆叠VLAN)或Double VLAN(双VLAN),由IEEE 802.1ad标准定义,是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的目的。它将VLAN标记封装为两层—私有网络的内部标记和公共网络的外部标记。

QinQ特性使网络最多可以提供4094*4094个VLAN,满足城域网对VLAN数量的需求,它主要解决了如下几个问题:

  1. 缓解日益紧缺的公网VLAN ID资源问题。
  2. 用户在规划自己的私网VLAN ID时,不会与公网VLAN ID发生冲突。
  3. 为小型城域网或企业网提供一种较为简单的二层VPN解决方案。

​ 如下图所示,我们规划了两个VLAN:VLAN100、VLAN200,现在让位于Host1的VM1访问位于Host2的VM3,在用户看来可能就是VLAN100内的一个访问,但在Host看来,其实是VLAN10与VLAN30的一次访问。

image.png

​ 首先我们要清楚,4台虚拟机的VLAN ID分别变成了10、20、30、40,与我们用户自己划分的VLAN ID 100、200完全不是一个概念,这就涉及内外视角所看到的VLAN ID的不同。

VM ID用户视角VLAN ID(外部VLAN)Host视角VLAN ID(内部VLAN)
VM110010
VM220020
VM310030
VM420040

​ 一台虚拟机之所以会有两个VLAN ID,是为了防止在公网中VLAN ID之间产生冲突,不同用户在私网内规划VLAN可能不会进行统一的规划,当不同VLAN划分方式的私网用户通过公网相互访问时就会对Host造成困扰,到底要听谁的规划规则?所以Host干脆谁的也不听了,它自身再宏观地规划一个巨大的VLAN。当不同Host之间进行通信时,先将外VLAN ID转化成内VLAN ID(内外VID转换),查询到目标后在将内VLAN ID转化成外VLAN ID(内外VID转换)。

8.VID

VID是一种抽象的称呼,用于划分端口,它的含义随着网络类型的不同而不同:在VLAN网络中,VID指的就是VLAN ID;在VXLAN,VID指的就是VNI;在GRE网络中,VID指的就是GRE Key。

8.1 VLAN类型网络出报文内外VID的转换

image.png

如上图,以VM1为例,报文从VM1发出,从br-ethx离开Host1:

  1. 报文从VM1的A1端口发出,为Untag报文;
  2. 报文从B1端口进入qbr1,再从C1端口离开qbr1,也是Untag报文;
  3. 报文从D1端口进入br-int,在D1端口,报文被打上标签,VLAN ID = 10;
  4. 报文从E端口离开br-int,此时报文VID = 10;
  5. 报文从F端口进入br-ethx,在F端口,报文的标签被转变为VLAN ID = 100;
  6. 报文从G端口离开Host,VLAN ID = 100。
8.2 VLAN类型网络入报文内外VID的转换

image.png

如上图,以VM3为例,报文从Host2进入,从qbr1进入VM3:

  1. 报文从Host进入到br-ethx,是Tag报文,VID = 100;
  2. 报文从br-ethx离开,在离开的端口F,报文VID转变为30;
  3. 报文从E端口进入br-int,此时报文VID = 30;
  4. 报文进入br-int后,从D1端口被转发出去,在离开D1时,被剥除Tag,变成Untag报文;
  5. 报文从C1端口进入qbr1,然后从B1端口离开,再从A1端口进入VM3,始终为Untag报文。
8.3 VXLAN类型网络出报文内外VID的转换

image.png

如上图,以VM1为例,报文从VM1发出,从br-tun离开Host:

  1. 报文从VM1的A1端口发出,为Untag报文;
  2. 报文从B1端口进入qbr1,再从C1端口离开qbr1,也是Untag报文;
  3. 报文从D端口进入br-int,在D端口,报文被打上标签,VLAN ID = 10;
  4. 报文从E端口离开br-int,此时报文VID = 10;
  5. 报文从F端口进入br-tun,此时报文VID = 10;
  6. 报文从G端口离开Host,在G端口,报文被从VLAN封装为VXLAN,并且VNI = 100。
8.4 VXLAN类型网络入报文内外VID的转换

image.png

如上图,以VM3为例,报文从Host2进入,从qbr1进入VM3:

  1. 报文来到Host进到br-tun,为VXLAN报文,VNI = 100;
  2. 报文在br-tun的G端口,被转换为VLAN报文,VLAN ID = 30;
  3. 报文从br-tun离开,一直到进入br-int,都是VLAN报文,VLAN ID = 30;
  4. 报文从br-int D1端口离开br-int,报文被剥去Tag,变成Untag报文;
  5. 报文从C1端口进入qb1,然后再从B1端口离开,再从A1端口进入VM1,始终为Untag报文。

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

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

相关文章

LeetCode 剑指 Offer II 054. 所有大于等于节点的值之和

给定一个二叉搜索树,请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须…

网络监测之如何保障企业业务系统安全?

网络信息安全在网络时代的重要性不言而喻。随着互联网的普及和数字化进程的加速,网络已经成为人们生活、工作和学习的重要平台。在这个平台上,信息交流、数据存储、在线支付等都需要依赖于网络信息安全。其中企事业单位业务系统安全值得关注。 企事业单…

前端未死,顺势而生

随着人工智能和低代码的崛起,“前端已死”的声音逐渐兴起。前端已死?尊嘟假嘟?快来发表你的看法吧! 一、“前端已死”因何而来? 在开始讨论之前,首先要明确什么是“前端”。 所谓前端,主要涉及…

计算机图形学理论(3):着色器编程

本系列根据国外一个图形小哥的讲解为本,整合互联网的一些资料,结合自己的一些理解。 CPU vs GPU CPU支持: 快速缓存分支适应性高性能 GPU支持: 多个 ALU快速板载内存并行任务的高吞吐量(在每个片段、顶点上执行着色…

概率中的 50 个具有挑战性的问题 [05/50]:正方形硬币

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇…

Spring Security 6.x 系列(12)—— Form表单认证登录注销自定义配置

一、前言 在本系列文章中介绍了 Form 表单认证和注销流程,对部分源码也进行详细分析。 本章主要学习 Spring Security 中表单认证登录注销的相关自定义配置。 二、自定义登录页面 Spring Security 表单认证默认规则中对未认证的请求会重定向到默认登录页面&…

固定效应模型-以stata为工具

固定效应模型-以stata为工具 文章目录 1.固定效应模型2. 模型原理3. `stata`代码实现1.固定效应模型 固定效应模型(Fixed Effects Model)是一种面板数据分析方法,通过引入个体固定效应来控制个体间的异质性,并更准确地估计解释变量对因变量的影响。它在许多经济、社会科学…

快速剪辑视频软件,视频图像翻转软件

在这个信息爆炸的时代,视频已经成为了人们获取信息、娱乐、学习的主要方式之一。一个好的视频,不仅可以吸引观众的眼球,更可以传达出深层次的意义。那该什么快速的编辑视频,有没有好用的工具推荐呢?今天小编就给大家介…

Pytorch项目(模型训练与优化),肺癌检测项目之六

数据优化方案 数据优化方案1:重复抽样 (1)对多数类的样本实施欠采样,减少多数类数量 (2)对少数类的样本实施过采样,增加少数类数量 数据优化方案2:数据增强 数据增强&#xff08…

如何提升亚马逊、速卖通店铺自然排名?测评自养号的关键要素

一、自然排名的重要性 一条链接是否推广成功或者赚到钱,就看这条链接的自然排名有没有打上来! 无论是搜索流量的自然排名,还是关联流量的自然排名,或BSR排行榜,这些自然排名的入口就是我们要时刻盯紧的位置。 二、自然排名的位…

【数据库系统概论】第2章-关系数据库

复习记录 2.1 关系数据结构及形式化定义2.1.1 关系2.1.2 关系模式2.1.3 关系数据库 2.2 关系操作2.3 关系的完整性2.4 关系代数2.5 题目 2.1 关系数据结构及形式化定义 2.1.1 关系 一些概念 关系 R ( D 1 , D 2 , . . . , D n ) R(D_1,D_2,...,D_n) R(D1​,D2​,...,Dn​) …

Python----静态Web服务器-返回指定页面数据

1. 静态Web服务器的问题 目前的Web服务器,不管用户访问什么页面,返回的都是固定页面的数据,接下来需要根据用户的请求返回指定页面的数据 返回指定页面数据的实现步骤: 获取用户请求资源的路径根据请求资源的路径,读取指定文件…

Vue3数据交互axios

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

【C++】function包装器全解(代码演示,例题演示)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Linux》…

【LearnOpenGL基础入门——6】纹理

目录 一.前言 二.纹理环绕方式 三.纹理过滤 四.多级渐远纹理 五.加载与创建纹理 六.生成纹理 七.应用纹理 八.纹理单元 一.前言 我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我…

vue3(六)-基础入门之自定义组件

一、全局组件 html: <div id"app"><mytemplace></mytemplace> </div>javascript: <script>const { createApp } Vueconst app createApp({})app.component(mytemplace, {template: <div><button>返回</button>…

智慧楼宇整体解决方案:PPT全文50页,附下载

关键词&#xff1a;智慧楼宇建设方案&#xff0c;智慧建筑建设方案&#xff0c;智慧楼宇控制系统&#xff0c;智慧楼宇解决方案&#xff0c;智慧建筑与建造&#xff0c;智慧建筑的定义 一、智慧楼宇背景分析 1、城市化进程加速&#xff1a;随着全球城市化率的提高&#xff0c…

敏捷开发 - 知识普及

敏捷开发- Scrum 前言 知乎有一篇文章描写Scrum,我觉得比较好:https://zhuanlan.zhihu.com/p/631459977 简单科普下PM和PMO 原文来源:https://zhuanlan.zhihu.com/p/546820914 PM - 项目经理(Project Manager) ​ 需要具备以下能力 ​ 1.号召力 2.影响力 3.交流能力 4.应…

三菱人机交互GT Designer的安装

今天&#xff0c;与小编一起来学习三菱的GT Designer软件&#xff0c;下面就是小编记录的软件查找&#xff0c;安装的全过程&#xff0c;希望对你学习三菱有帮助。 目录 安装 选择官网下载安装包 解压安装包进行安装 创建一个工程 安装 选择官网下载安装包 三菱&#xff08;中…

像素级调整,高效转换——轻松提升你的图片处理体验!

探索更高级的图片处理体验&#xff0c;我们为你带来像素级调整与高效转换的完美结合&#xff01;借助我们的专业工具&#xff0c;轻松调整图片像素&#xff0c;让你在细节处展现无限创意&#xff0c;提升作品质感。 第一步&#xff0c;进入首助编辑高手主页面&#xff0c;可以看…