云计算之虚拟化技术学习(KVM/Xen/Hyper-V/VMware)

news2024/12/29 9:01:55

文章目录

  • 虚拟化技术
    • 什么是虚拟化
    • 服务器虚拟化
      • cpu的虚拟化
      • 内存虚拟化管理
      • 硬盘的虚拟化
      • 网络虚拟化
      • IO虚拟化
      • Intel虚拟化技术
    • 主流的虚拟化技术
      • 虚拟化技术对比
      • Xen
      • KVM
      • Hyper-V
      • VMware ESX/ESXi
  • 虚拟化服务平台
    • Libvirt
    • 基于KVM的虚拟化服务平台

虚拟化技术

什么是虚拟化

虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也叫虚拟机(VM,Virtual Machine)。从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。

物理机,通常称为“宿主机(Host)”。虚拟机,则称为“客户机(Guest)”。

谁来完成物理资源虚拟化的工作呢?就是大名鼎鼎的 Hypervisor 。

Hypervisor,汉译过来是“超级监督者”,也叫做VMM(Virtual Machine Monitor,虚拟机监视器)。它不是一款具体的软件,而是一类软件的统称。像VMware、KVM、Xen、Virtual Box,都属于Hypervisor。

Hypervisor分为两大类:

  • Type-1(Baremetal Hypervisor, 全虚拟化:Full-Virtualization),hypervisor直接运行在物理机之上。虚拟机运行在hypervisor之上。不需要对客户机操作系统或者应用程序进行修改(客户机操作系统或者应用程序像往常一样运行,意识不到虚拟环境的存在)。
  • Type-2(Hosted Hypervisor,半虚拟化:Para-Virtualization),物理机上安装正常的操作系统(例如Linux或Windows),然后在正常操作系统上安装hypervisor,生成和管理虚拟机。半虚拟化需要对运行在虚拟机上的客户机操作系统进行修改(这些客户机操作系统会意识到它们运行在虚拟环境里)并提供相近的性能。
    在这里插入图片描述

服务器虚拟化

SaaS: Software-as-a-Service(软件即服务)
PaaS: Platform-as-a-Service(平台即服务)
IaaS: Infrastructure-as-a-Service(基础设施即服务)

服务器的虚拟化是IaaS层的虚拟化。

cpu的虚拟化

MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。

硬件级物理cup虚拟化技术

  • 英特尔硬件虚拟化技术interl-VT
  • AMD硬件虚拟化技术AMD-V

内存虚拟化管理

硬件级内存虚拟化,硬件级物理内存映射到虚拟机

  • 英特尔硬件虚拟化技术EPT,Extended Page Table
  • AMD硬件虚拟化技术NTP,Nested Page Table

硬盘的虚拟化

虚拟机如何使用硬盘的空间:虚拟机在物理硬盘上划分一个文件来使用,此文件也是靠宿主机通过文件系统将磁盘分区后,并创建文件系统后,分给虚拟机一个文件的大小的空间。在宿主机上表现的就是一个文件,而在虚拟机上表现的就是一块硬盘。所以还需要用软件的方式模拟一个适配器,将此文件,模拟成硬盘。

网络虚拟化

用软件的方式给每个虚拟机虚拟一块网卡和MAC地址,当通信时使用同一块物理网卡,网卡通讯有排队方式,在同一台物理网卡上,排队执行任务。(将物理网卡设为混杂模式;无论是不是发向本机物理网卡的内容都给与接收);此时将物理网卡也虚拟化一个MAC地址,把物理网卡当作交换机来使用。

IO虚拟化

I/O全虚拟化技术
通过VMM模拟I/O设备(磁盘和网卡等)实现虚拟化。
Guest OS所能看到就是一组统一的I/O设备。VMM截获Guest OS对I/O设备的访问请求,然后通过软件模拟真实的硬件。这种方式对Guest而言非常透明,无需考虑底层硬件的情况。

I/O半虚拟化技术
通过前端(Front-End)/后端(Back-End)模拟实现虚拟化。
Guest OS中的驱动程序为前端,VMM提供的与Guest通信的驱动程序为后端。前端驱动将Guest OS的请求通过与VMM间的特殊通信机制发送给VMM的后端驱动,后端驱动在处理完请求后再发送给物理驱动。

I/O透传技术
设备透传就是向一个特定客户操作系统提供一种设备隔离,对于性能而言,使用设备透传可以获得近乎本机的性能。对于某些网络应用程序(或那些拥有高磁盘 I/O 的应用程序)来说,这种技术简直是完美的。这些网络应用程序没有采用虚拟化,原因是穿过管理程序(达到管理程序中的驱动程序或从管理程序到用户空间模拟)会导致竞争和性能降低。但是,当这些设备不能被共享时,也可以将它们分配到特定的客户机中。例如,如果一个系统包含多个视频适配器,则那些适配器可以被传递到特定的客户域中。

Intel虚拟化技术

Intel虚拟化技术其实可以大致分为三类:

  • 第一类是处理器相关的,称为VT-x,是实现处理器虚拟化的硬件扩展,这也是硬件虚拟化的基础;
  • 第二类是芯片组相关的,成为VT-d,是从芯片组的层面为虚拟化提供必要支持,通过它,可以实现诸如直接分配物理设备给客户机的功能;
  • 第三类是输入输出设备相关的,主要目的是通过定义新的输入输出协议,使新一代的输入输出设备可以更好地支持虚拟化环境下的工作,比如Intel网卡自有的VMDq技术和PCI组织定义的单根设备虚拟化协议(SR-IOV)。
    在这里插入图片描述

主流的虚拟化技术

主流的技术框架有计有开源的Xen、KVM,微软的Hyper-V、VMware的ESX/ESXi等。

虚拟化技术对比

虚拟化技术KVMXenHyper-vVMware ESX/ESXi
领导厂家红帽思杰(Citrix)微软VMware
虚拟化种类全虚拟化全/半虚拟化全/半虚拟化全虚拟化
是否开源
CPU与内存虚拟化KVM内核实现Xen内核实现Hyper-V内核实现ESXi内核实现
磁盘/网络IO虚拟化QEMU实现由Domain0(主机上启动的第一个管理VM)实现根分区虚拟化内核实现
虚拟化调度与管理Linux进程管理由Domain0(主机上启动的第一个管理VM)实现Hyper-V内核 +根分区虚拟化内核实现
硬件要求广泛广泛1.CPU支持AMD-V或Intel-VT;2.CPU支持64位运算;3.CPU支持DEP技术很少,只支持主流服务器厂家
Windows 支持度一般良好良好,win8以上最好良好
Linux支持度最好良好良好,内核已内置显卡驱动良好,内核已内置显卡驱动

Vmware或Hyper-v虚拟windows系统,不管是虚拟化软件本身,还是其中的子系统,都要支付许可费用。
Xen或KVM虚拟windows,其中的子系统要支付许可费用

Xen

Xen是由剑桥大学计算机实验室开发的一个开源项目,是一个开源的可直接运行于硬件层之上的虚拟化软件,它属于type-I型虚拟化系统。

Xen早期是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。

Xen仅对CPU和Memory直接接管,而其它IO硬件驱动则由其上运行的第一个虚拟机来提供支持,它能够在计算机硬件上并发的运行多个客户操作系统(Guest OS)。支持x86、x86-64、安腾( Itanium)、Power PC和ARM多种处理器,因此Xen可以在大量的计算设备上运行,目前Xen支持Linux、NetBSD、FreeBSD、Solaris、 Windows和其他常用的操作系统作为客户操作系统在其管理程序上运行。

在Xen环境中,主要有两个组成部分。一个是虚拟机监控器(VMM),也叫hypervisor。Hypervisor层在硬件与虚拟机之间,是必须最先载入到硬件的第一层。Hypervisor载入后,就可以部署虚拟机了。在Xen中,虚拟机叫做“domain”。在这些虚拟机中,其中一个扮演着很重要的角色,就是domain0,具有很高的特权。通常,在任何虚拟机之前安装的操作系统才有这种特权。

Domain0要负责一些专门的工作。由于hypervisor中不包含任何与硬件对话的驱动,也没有与管理员对话的接口,这些驱动就由domain0来提供了。通过domain0,管理员可以利用一些Xen工具来创建其它虚拟机(Xen术语叫domainU)。这些domainU也叫无特权domain。这是因为在基于i386的CPU架构中,它们绝不会享有最高优先级,只有domain0才可以。

在domain0中,还会载入一个xend进程。这个进程会管理所有其它虚拟机,并提供这些虚拟机控制台的访问。在创建虚拟机时,管理员使用配置程序与domain0直接对话。

在这里插入图片描述

KVM

KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。

KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。

在这里插入图片描述

KVM基本结构

  1. KVM驱动,现在已经是linux kernel的一个模块了。其主要负责虚拟机的创建,虚拟内存的分配,VCPU寄存器的读写以及VCPU的运行。
  2. QEMU,用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。
    在这里插入图片描述

Hyper-V

Hyper-V 是微软提出的一种系统管理程序虚拟化技术,采用微内核的架构,兼顾了安全性和性能的要求。Hyper-V 底层的 Hypervisor 运行在最高的特权级别下,微软将其称为 ring -1(而 Intel 则将其称为 root mode),而虚机的 OS 内核和驱动运行在 ring 0,应用程序运行在 ring 3 下,这种架构就不需要采用复杂的 BT(二进制特权指令翻译)技术,可以进一步提高安全性。从架构上讲 Hyper-V 只有“硬件-Hyper-V-虚拟机”三层,本身非常小巧,代码简单,且不包含任何第三方驱动,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。

Hyper-V 支持按分区隔离。分区是虚拟机监控程序支持的逻辑隔离单元,其中将会运行操作系统。Microsoft 虚拟机监控程序必须至少具有一个运行 Windows 的父分区或根分区,用于运行 64 位版本的 Windows Server 2008 操作系统。虚拟化管理堆栈在父分区中运行,并且可以直接访问硬件设备。随后,根分区会创建子分区用于承载来宾操作系统。根分区使用虚拟化调用应用程序编程接口 (API) 来创建子分区。

分区对物理处理器没有访问权限,也不能处理处理器中断。相反,它们具有处理器的虚拟视图,并运行于每个来宾分区专用的虚拟内存地址区域。虚拟机监控程序负责处理处理器中断,并将其重定向到相应的分区。Hyper-V 还可以通过输入输出内存管理单元 (IOMMU) 利用硬件加速来加快各个来宾虚拟地址空间相互之间的地址转换。IOMMU 独立于 CPU 使用的内存管理硬件运行,并用于将物理内存地址重新映射到子分区使用的地址。从系统的结构图,我们可以看出来 Hyper-V 与 Xen 的架构很相似。

在这里插入图片描述
Hyper-V 具有基于类型 1 的虚拟机监控程序体系结构。 虚拟机监控程序虚拟化处理器和内存,并为根分区中的虚拟化堆栈提供机制,用于管理 (虚拟机) 子分区,并向虚拟机公开 I/O 设备等服务。

根分区拥有并有权直接访问物理 I/O 设备。 根分区中的虚拟化堆栈为虚拟机、管理 API 和虚拟化 I/O 设备提供内存管理器。 它还实现模拟设备,例如集成设备电子 (IDE) 磁盘控制器和 PS/2 输入设备端口,并支持特定于 Hyper-V 的合成设备以提高性能和降低开销。
在这里插入图片描述

VMware ESX/ESXi

VMWare (Virtual Machine ware)是一个“虚拟PC”软件公司。VMware ESXi本身可以看做一个操作系统,采用Linux内核,安装方式为裸金属方式,可直接安装在物理服务器上,不需安装其他操作系统,它是专为运行虚拟机、最大限度降低配置要求和简化部署而设计,提供接近本机性能的祼机体系结构、各种旨在提高整合率的功能(例如取消内存复制),以及用于在共享存储上管理虚拟机文件的群集文件系统。VMware ESXi 和 VMware ESX 为灵活的动态虚拟基础架构提供了关键基础。

在生产环境VMWare ESX用的比较多,VMWare ESXi在生产环境用的比较少

在这里插入图片描述

虚拟化服务平台

KVM这样的Hypervisor软件,实际上是提供了一种虚拟化能力,模拟CPU的运行,更为底层。但是它的用户交互并不良好,不方便使用。于是,为了更好地管理虚拟机,就需要OpenStack这样的云管理平台。云管理平台有点像个商店,负责管理商品(计算资源、存储资源、网络资源等),卖给用户,但它本身不制造商品(不具备虚拟化能力),它的商品,来自于KVM。当然,如果不用KVM,也可以用Xen等其它hypervisor。

Libvirt

Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。

libvirt是提供了一个方便的方式来管理虚拟机和其他虚拟化功能的软件的集合,如存储和网络接口管理。这些软件包括一个API库,一个守护进程(Libvirtd),和一个命令行实用程序(virsh)。

libvirt的首要目标是能够管理多个不同的虚拟化供应商/虚拟机管理程序提供一个单一的方式。例如,命令“virsh列表等等都可以用于任何支持现有的虚拟机管理程序列表(KVM、Xen、VMware ESX,等)不需要学习管理程序特定的工具!

支持的虚拟化平台

  • LXC : lightweight Linux container system
  • OpenVZ :lightweight Linux container system
  • Kernel-based Virtual Machine/QEMU (KVM) : open-source hypervisor for Linux and SmartOS
  • Xen : Bare-Metal hypervisor
  • User-mode Linux (UML) :paravirtualized kernel
  • VirtualBox : hypervisor by Oracle (formerly by Sun) for Windows, Linux, Mac OS X, and Solaris
  • VMware ESX and GSX : hypervisors for Intel hardware
  • VMware Workstation and Player : hypervisors for Windows and Linux
  • Hyper-V : hypervisor for Windows by Microsoft
  • PowerVM : hypervisor by IBM for AIX, Linux and IBM i
  • Parallels Workstation : hypervisor for Mac by Parallels IP Holdings GmbH
  • Bhyve : hypervisor for FreeBSD 10+

在这里插入图片描述
在这里插入图片描述

基于KVM的虚拟化服务平台

虚拟机的组成

  • 内核虚拟化模块(KVM)
  • 系统设备仿真(QEMU)
  • 虚拟机管理程序(LIBVIRT)
  • 虚拟机配置声明文件(一个XML,位置: /etc/libvirt/qemu)
  • 虚拟机硬盘(一个磁盘镜像文件,位置: /var/lib/libvirt/images)

必备软件

  • qemu-kvm: 为kvm提供底层仿真支持
  • libvirt-daemon: libvirtd守护进程,管理虚拟机
  • libvirt-client: libvirt客户端软件,提供客户端管理命令(virsh命令)
  • libvirt-daemon-driver-qemu: libvirtd连接qemu的驱动程序

可选功能

  • virt-install: 系统安装工具
  • virt-manager: 图形管理工具
  • virt-v2v: 虚拟机迁移工具
  • vrit-p2v: 物理机迁移工具

virsh命令工具介绍
提供管理各虚拟机的命令接口:支持交互模式;格式:

virsh <控制指令> [虚拟机名称] [参数]

virsh list --all								# 列出所有虚拟机
virsh nodeindo									# 查看KVM节点(真机)服务器信息
virsh net-list									# 列出虚拟网络
virsh dominfo <虚拟机名称>						# 查看指定虚拟机信息
virsh autostart <虚拟机名称>						# 设置虚拟机为开机自启
virsh autostart --disable <虚拟机名称>			# 关闭虚拟机开机自启
virsh start|reboot|shutdown <虚拟机名称>			# 运行/重启/关闭
virsh destroy <虚拟机名称>						# 强制关闭虚拟机

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

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

相关文章

最长公共子序列长度

求两个字符串的最长公共子序列长度。 输入格式: 输入长度≤100的两个字符串。 输出格式: 输出两个字符串的最长公共子序列长度。 输入样例1: ABCBDAB BDCABA输出样例1: 4输入样例2: ABACDEF PGHIK输出样例2: 0 (1条消息) HBU训练营【动态规划DP】——最长公共子序列长…

力扣(LeetCode)799. 香槟塔(C++)

动态规划 设 iii 是行 , jjj 是列 &#xff0c; f[i][j]f[i][j]f[i][j] 表示经过杯子的酒量 &#xff0c;初始 f[0][0]pouredf[0][0]pouredf[0][0]poured &#xff0c; 为了理解&#xff0c;当做每个杯子有无限容量。 当香槟溢出时&#xff0c;f[i][j]f[i][j]f[i][j] 保留自己的…

放大镜-第12届蓝桥杯Scratch选拔赛真题精选

[导读]&#xff1a;超平老师计划推出Scratch蓝桥杯真题解析100讲&#xff0c;这是超平老师解读Scratch蓝桥真题系列的第80讲。 蓝桥杯选拔赛每一届都要举行4~5次&#xff0c;和省赛、国赛相比&#xff0c;题目要简单不少&#xff0c;再加上篇幅有限&#xff0c;因此我精挑细选…

SpringCloud系列(一)Eureka 注册中心

本文主要介绍 Eureka 用来做什么&#xff1f; 如何搭建以及测试&#xff1b;  微服务框架区分于普通的单体架构项目&#xff0c;它是一种经过良好架构设计的分布式架构方案&#xff0c;根据业务功能对系统进行拆分&#xff0c;将每个业务模块都当做是一个独立的项目进行开发&a…

session共享问题及四种解决方案-前端存储、session的复制 、session粘性、后端存储(Mysql、Redis等)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a; 才疏学浅的木子 &#x1f647;‍♂️ 本人也在学习阶段如若发现问题&#xff0c;请告知非常感谢 &#x1f647;‍♂️ &#x1f4d2; 本文来自专栏&#xff1a; 常用工具类以及常见问题处理方法 &#x1f308; 每日一语&…

Alos PALSAR 12.5米免费DEM下载教程

Alos PALSAR 12.5米免费DEM下载教程ALOS 12.5米数据简介2. 下载2.1 搜索数据2.2 下载数据3. 使用数据ALOS 12.5米数据简介 ALOS 12.5m DEM 数据&#xff0c;是使用ALOS&#xff08;Advanced Land Observing Satellite&#xff09;卫星相控阵型L波段合成孔径雷达&#xff08;PA…

SpringBoot + EasyExcel 实现表格数据导入

1. 准备 导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version><scope>compile</scope> </dependency><dependency><groupId>org.proj…

使用vi、vim、sed、echo、cat操作文件

记录&#xff1a;324 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;使用vi编辑器、vim编辑器、sed编辑器操作文件读、写、删、替换等操作&#xff1b;使用echo命令和cat命令将内容输出文件并查看内容。 版本&#xff1a; 操作系统&#xff1a;CentOS 7.9 1.vi编辑器…

同花顺_代码解析_技术指标_R

本文通过对同花顺中现成代码进行解析&#xff0c;用以了解同花顺相关策略设计的思想 目录 RAD RADER RCCD ROC ROCFS RSI RSIFS RAD 威力雷达 大盘指标。 RAD的判断基准法与传统指标相似: 白线上穿黄线为金叉,示强势,为买入建仓机会参考&#xff1b; 白线下穿黄线为…

红黑树的插入(C++实现)

1. 红黑树 1.1 概念 红黑树是一种二叉搜索树&#xff0c;它是AVL树的优化版本。红黑树是每个节点都带有颜色属性的二叉搜索树&#xff0c;颜色为红色或黑色。 之所以选择“红色”是因为这是作者在帕罗奥多研究中心公司Xerox PARC工作时用彩色雷射列印机可以产生的最好看的颜色…

Java学习之包访问修饰符

基本介绍 java 提供四种访问控制修饰符号&#xff0c;用于控制方法和属性(成员变量)的访问权限&#xff08;范围&#xff09; 公开级别:用 public 修饰,对外公开受保护级别:用 protected 修饰,对子类和同一个包中的类公开默认级别:没有修饰符号,向同一个包的类公开.私有级别:…

采用sFlow工具实现流量监控--实验

采用sFlow工具实现流量监控--实验采用sFlow工具实现流量监控---实验学习目标学习内容实验原理实验拓扑实验仿真启动sFlow-rt以及floodlight控制器创建拓扑部署sFlow agent步骤1.步骤2.步骤3步骤4步骤5.步骤6.总结申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&…

C++模拟OpenGL库——图形学状态机接口封装(一):用状态模式重构部分代码及接口定义

目录 什么是状态机&#xff1f; 基于状态机模式进行重构 Canvas.h源码 什么是状态机&#xff1f; 回顾之前两部分内容&#xff0c;我们做了&#xff1a; 绘制点绘制线&#xff08;Brensenham&#xff09;绘制三角形&#xff08;拆分法&#xff09;图片操作&#xff08;stb…

RabbitMQ------延迟队列(整合SpringBoot以及使用延迟插件实现真正延时)(七)

RabbitMQ------延迟队列&#xff08;七&#xff09; 延迟队列 延迟队列&#xff0c;内部是有序的&#xff0c;特点&#xff1a;延时属性。 简单讲&#xff1a;延时队列是用来存放需要在指定时间被处理的元素队列。 是基于死信队列的消息过期场景。 适用场景 1.订单在十分钟…

Linux(centos7)安装MySQL5.7

Linux 安装MySQL5.7 数据库 所有的安装方式是基于手动式的安装&#xff0c;也就是整体的下载然后配置 rpm与yum之间的关系 rpm 是Linux 免除编译安装带来的安装方式&#xff0c;而yum 是在rpm 上面的进一步的优化&#xff0c;换句话说yum 既包含了rpm 的简单安装&#xff0c…

百度地图自定义覆盖物(html)格式

<style type"text/css"> body, html{ width: 100%; height: 100%; overflow: hidden; margin: 0; font-family: "微软雅黑"; display: flex; justify-content: space-between; } #cont…

使用html+css实现一个静态页面(厦门旅游网站制作6个页面) 旅游网页设计制作 HTML5期末考核大作业,网站——美丽家乡。 学生旅行 游玩 主题住宿网页

&#x1f468;‍&#x1f393;静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计&#x1f469;‍&#x1f393;&#xff0c;一般的网页作业需要融入以下知识点&#xff1a;div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

FL Studio2023水果完整中文版音乐制作软件

FL Studio2023水果中文版是一款由 Image Line 公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件。它让你的计算机就像是全功能的录音室&#xff0c;漂亮的大混音盘&#xff0c;先进的创作工具&#xff0c;让你的音乐突破想象力的限制。它可以播放由你指定或加入的…

IP包头分析

数据来源 IP包头长度 ip包头的长度在20-60个字节间&#xff0c;一般是20字节&#xff08;固定部分&#xff09;&#xff0c;可选项最大是40个字节&#xff08;比较少用&#xff09;。 第一行 版本 就是指出IP数据包是什么版本&#xff1b;常见的版本就是0100 IPV4和 0110 IPV6…

机器学习中基本符号表示和常用术语

目录一. 基本符号表示二. 常用术语1. 精准率计算&#xff08;precision&#xff09;2.召回率计算&#xff08;recall&#xff09;3.准确率的计算&#xff08;accuracy&#xff09;4.F1 Score5. G分数6.一. 基本符号表示 TP &#xff08;true positive&#xff09;&#xff1a;预…