Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解 SR-IOV 使用情况

您可以使用合适的硬件和 SR-IOV 在基于 Linux 的虚拟化设备与网络功能虚拟化 (NFV) 模块之间启用通信。

虚拟化物理设备时,物理网卡接口和外部物理交换机以及虚拟网卡接口和内部虚拟交换机共存。当设备中的隔离虚拟机 (VM) 或容器(每个虚拟机或容器都有自己的内存、磁盘空间和 CPU 周期)尝试相互通信时,正在使用的多个端口、MAC 地址和 IP 地址将带来挑战。

SR-IOV 将虚拟化功能的概念向下扩展到物理网卡。单个物理卡按物理 NIC 端口划分为多个分区,这些分区对应于在较高层运行的虚拟功能。这些虚拟功能之间的通信的处理方式与具有单个 NIC 的设备之间的通信通常使用网桥处理的方式相同。SR-IOV 包括一组用于创建、删除、列出和查询 SR-IOV 网卡交换机的标准方法,以及一组可以设置的标准参数。

SR-IOV 的单根仅指控制所有操作的 NIC 的一个主要部分。启用 SR-IOV 的 NIC 是一个标准以太网端口,可提供与任何网卡相同的物理逐位功能。

SR-IOV 提供多种虚拟功能,这些功能可通过使用简单队列来处理输入和输出任务来实现。设备上运行的每个 VNF 都映射到其中一个网卡分区,以便 VNF 本身可以直接访问网卡硬件资源。NIC 具有简单的第 2 层分拣器功能,可将帧分类为流量队列。数据包使用直接内存访问 (DMA) 直接在网络虚拟功能之间移动到虚拟机的内存,完全绕过虚拟机管理程序。网卡在 SR-IOV 操作中的作用如图 1 所示。

图 1:使用 SR-IOV VNF Communication Using SR-IOV 的 VNF 通信

虚拟机管理程序参与分配 VNF 和管理物理卡,但不参与数据包内数据的传输。VNF 到 VNF 的通信由虚拟网卡 1、虚拟网卡 2 和虚拟网卡 N 执行。网卡还会跟踪所有虚拟功能和分拣机,以便在 VNF 和外部设备端口之间移动流量。

SR-IOV 支持取决于硬件平台(特别是网卡硬件)以及 VNF 或容器的软件,以便使用 DMA 进行数据传输。