virtio-net入门

本文介绍了io虚拟化技术,并重点讲解了基于virtio的半虚拟化网络实现,包括其运行结构和架构层次。
摘要由CSDN通过智能技术生成

io虚拟化

    计算机系统中,主要有计算资源,存储资源和网络资源。所以,系统虚拟化技术又可以细分为计算虚拟化,存储虚拟化和网络虚拟化。其中存储设备和网络设备一般都是以外设的形式和CPU通过I/O总线连接起来的,所以存储虚拟化和网络虚拟化又可以统一归类为I/O虚拟化技术。

I/O虚拟化技术可以分成两种,一种是全虚拟化,另外一种是半虚拟化。
全虚拟化:Guest OS不知道自己是虚拟机,所以也就不需要修改Guest OS的驱动程序。这样Guest OS移植性好,但是虚拟机的I/O性能不高。
半虚拟化:Guest OS知道自己是虚拟机,通过前端驱动和后端模拟设备互相配合实现IO虚拟化。和全虚拟化相比,半虚拟化技术可以帮助大幅度提高虚拟机I/O的性能。目前在云计算场景中广泛使用的就是virtio在Linux上的具体实现,而且virtio已经成为虚拟化I/O技术的抽象接口规范和事实标准,即使非Linux系统也可以适用。

virtio的总体设计思想可以概括为以下四点:直观,高效,标准化,可扩展。
1) 直观:virtio设备被设计的和之前的硬件设备一样,支持常用的总线机制,比如中断和DMA。这样的设计使得驱动开发人员能够快速上手,完成virtio设备驱动的开发。
2) 高效:virtio设备能支持单独的输入和输出通道,在大量数据传送的时候也能保持高效。
3) 标准化:对硬件架构和操作系统环境没有依赖,支持多种不同总线的传输机制(在virtio规范1.1中支持PCI, MMIO和Channel I/O总线。比如在那些不支持PCI的嵌入式设备还可以通过使用MMIO的方式使用virtio)。
4) 可扩展:在virtio设备发现和设备初始化的时候通过引入特性位(Feature Bits)标识符实现动态适配的协商机制&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值