网络虚拟化介绍(OVS、DVS)

2023-11-09 05:44
文章标签 介绍 网络 虚拟化 dvs ovs

本文主要是介绍网络虚拟化介绍(OVS、DVS),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

虚拟化中网络架构

虚拟交换机类型

虚拟交换机OVS(Open Vswitch)

分布式虚拟交换机DVS

虚拟机和物理网卡的通信模式

虚拟交换机中其它功能特性


网络虚拟化概念

网络虚拟化就是把网络层的一些功能从硬件中剥离出来,建立新的网络虚拟层;该虚拟层可以接管网络服务和配置,实现网络服务与物理层的解耦,打破物理资源限制;通过网络虚拟层能够在一个物理网络上模拟出多个逻辑网络,并且多用户在逻辑网络上相互隔离,保证网络安全

网络虚拟化的特点

隔离性:不同租户的流量相互之间不能互访;但是IP/MAC地址都可以独立规划

可移动性:虚拟机可以跨二层/三层迁移,甚至可以跨广域网迁移(迁移前后虚拟机Vlan和IP地址都不会发生变化)

可扩展性:逻辑网络的规模和数量可扩展


虚拟化中网络架构

以服务器的物理网卡为界,物理网卡以下为物理资源,物理网卡以上为虚拟资源

虚拟网卡(网卡也属于I/O设备,以也可以借用I/O虚拟化的思想)

网卡虚拟化包括软件和硬件两种

软件网卡虚拟化:通过软件将同一块网卡虚拟为多个虚拟网卡,实现多个虚拟机共享同一网卡,虚拟网卡有单独的IP地址和MAC地址

硬件网卡虚拟化:通过硬件辅助让单个/多个虚拟机直接访问单个物理设备(例如IO直通、SR-IOV)

计算虚拟化3——I/O设备虚拟化-CSDN博客

虚拟交换机

目前主要有OVS和DVS两种虚拟交换机解决方案(上图网络架构为OVS方式)

通过在虚拟交换机上形成虚拟交换端口连接服务器的物理网口和虚拟网卡,实现虚拟机和虚拟机之间、虚拟机与外界网络之间的流量传递与通信

虚拟交换端口

虚拟交换机上的端口,用来连接虚拟网卡,为虚拟机提供接入网络的服务

端口组

为了方便管理,虚拟交换机没有物理交换机端口的概念,都是叫做端口组(将具有同样属性的一组虚拟交换机端口称为端口组—端口组包含速率、Vlan、Qos、DHCP隔离、ARP抑制等特性)

注意事项

一个虚拟交换机可以有多个端口组

端口组不可以跨虚拟交换机(即端口组只在本地生效)

端口组的场景举例

创建一个端口组,为其分配vlan2 ,然后将虚拟机分配到该端口组上,该虚拟机所属vlan就是vlan2

上行链路

上行链路也是虚拟交换机的一部分,是虚拟链路,通过与服务器的物理网卡关联连接外部的物理网络

上行链路可以关联一个单独的物理网卡,也可以关联多个网卡绑定后的一个逻辑通道

注意事项

不同的虚拟交换机不能共用上行链路

同一台虚拟交换机上的所有上行链路组成了上行链路组

其中虚拟网卡和虚拟交换机之间的链路也是虚拟的链路


虚拟交换机类型

先了解Linux Bridge网桥的概念

Bridge也是一种通过软件实现的虚拟网络设备,,功能类似于物理的交换机

对于普通的网络设备就是数据从一端进入,从另一个端出去;但是Bridge是数据可以从多个端口进入,从多个端口出去

在虚拟机交换场景下,一般通过Bridge将虚拟机虚拟网卡和服务器物理网卡连接起来(将Bridge设备与虚拟网卡和物理网卡绑定起来),这样就可以通过网桥实现虚拟机之间以及与外部的通信

虚拟交换机OVS(Open Vswitch)

OVS是Bridge的加强版,相比于Bridge,OVS有以下优点

  1. OVS支持SDN等多种标准的管理接口和协议
  2. Bridge只支持Vxlan,但是OVS时至GRE、IPSec、Vxlan等
  3. OVS适用于多种虚拟化架构(例如Xen、KVM、VMware)

OVS还有其它特性,此处不细说

OVS虚拟交换机的网络架构

OVS虚拟机网络下虚拟机通信的路径

同一主机内通信

同一Vlan通信(VM1和VM2):直接通过OVS的端口组1就可以通信

不同Vlan通信(VM1和VM3):需要通过物理交换机来通信

不同主机之间通信

不同主机之间的虚拟机通信都需要跨物理交换机,主要包含以下情况

同一Vlan通信(VM1和VM3)

不同Vlan通信(VM1和VM6)

虚拟机与外部通信

直接通过物理交换机通信

分布式虚拟交换机DVS

DVS和OVS的区别

与OVS相比,OVS是在一台服务器当中,DVS是在多台服务器当中

一台DVS分布式虚拟交换机可以分布在多台物理服务器上

DVS虚拟交换机的网络架构

DVS虚拟机网络下虚拟机通信的路径

同一主机内通信

不同主机之间的虚拟机通信都需要跨物理交换机,主要包含一下情况

同一Vlan,同一DVS通信(VM4和VM5):直接通过DVS的端口组1就可以通信

同一Vlan,不同DVS通信(VM1和VM3):需要通过物理交换机来通信

不同Vlan:需要通过物理交换机来通信

不同主机内通信

不同主机之间的虚拟机通信都需要跨物理交换机,主要包含以下情况

同一Vlan,同一DVS通信(VM3和VM4):需要通过物理交换机来通信

同一Vlan,不同DVS通信(VM1和VM6):需要通过物理交换机来通信

不同Vlan:需要通过物理交换机来通信

虚拟机与外部通信

直接通过物理交换机通信


虚拟机和物理网卡的通信模式

计算虚拟化3——I/O设备虚拟化-CSDN博客

普通模式(虚拟机的虚拟网卡是由软件模拟的)

虚拟机路由转发涉及到前后端两个虚拟网卡设备;前端网卡是连接在虚拟交换机的虚拟端口上,后端网卡是虚拟交换机连接真实物理网口的网卡

虚拟机进行数据转发时虚拟机将数据发给前端网卡,前端网卡在发给后端网卡,最后经由物理网口传出

该方式网络性能不是很好,并且网络时延要高一些

直通模式(虚拟机使用的每个虚拟网卡对应一个物理网卡)

利用VMDq技术,虚拟机发出的流量通过独立报文队列到达VMM后,由VMM将流量转发到物理网卡

该方式相比于SR-IOV直通方式,支持热迁移等高级功能

SR-IOV直通模式(虚拟机使用的虚拟网卡是由对应硬件模拟的)

物理网卡需要使用智能网卡,并且需要在虚拟机上安装一个网卡驱动

SR-IOV类型物理网卡可以虚拟出多个虚拟网卡给虚拟机使用,虚拟机就认为自己有一块单独的物理网卡;进行流量转发时,虚拟机将流量发给VMM上的PCI控制器,该控制器直接将流量转发到物理网卡上

提升了网络I/O的性能,相比于硬件直通减少了网卡数量上的需求


虚拟交换机中其它功能特性

安全组

通过安全组设定访问规则,通过将虚拟机加入到安全组,就受到该访问规则组的保护,以此来限制虚拟机的通信(在创建虚拟机时可以选择加入的安全组)

二层安全策略

可以通过设置端口组来实现这些二层安全策略,主要有以下策略

DHCP Server隔离:防止DHCP Server仿冒,禁止用户虚拟机启动DHCP Server服务,防止用户无意识或恶意启动DHCP Server服务,影响正常的虚拟机IP地址分配过程

ARP广播抑制和IP广播抑制

防止ARP或IP广播泛洪,影响设备性能;也可以防止ARP欺骗

IP和MAC地址绑定

防止虚拟机用户通过修改虚拟网卡的IP和MAC地址来发起IP、MAC仿冒攻击

网络接口类型

Trunk、Access

Vlan端口与ARP讲解(Access-Trunk-Hybrid、免费ARP-代理ARP)-CSDN博客

网络QoS

QoS理论讲解_qos优先级_静下心来敲木鱼的博客-CSDN博客

网卡绑定技术

通过网卡绑定(bond)技术可以实现网卡冗余、负载均衡,达到高可靠和高可用的目的

Linux网络配置与网络信息查看讲解(网卡基本配置、网卡会话配置、网卡绑定、主机名配置、路由配置)-CSDN博客

Vxlan技术

数据中心——Vxlan基本概念1 -CSDN博客

数据中心——Vxlan基本概念2 -CSDN博客

这篇关于网络虚拟化介绍(OVS、DVS)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/374267

相关文章

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor