ai-infra-interview-305

第 299 题:网络虚拟化?SR-IOV vs virtio

题目

网络虚拟化?SR-IOV vs virtio


完整讲解

一、网络虚拟化需求

云与容器场景下,多租户、多实例共享物理机,需要隔离灵活组网:每 VM/容器有独立 IP、MAC、策略,且不暴露底层物理细节。网络虚拟化即在物理网上抽象出多套逻辑网络。

二、SR-IOV

SR-IOV(Single Root I/O Virtualization):物理网卡呈现多个虚拟功能(VF),每个 VF 可直通给一台 VM,绕过宿主机协议栈,接近物理网卡性能、延迟低。适合性能敏感、需低延迟的 VM;缺点是需要硬件与驱动支持、VF 数量有限、迁移与策略需额外方案。

三、Virtio

Virtio半虚拟化方案,前端(guest 内 virtio-net 驱动)与后端(宿主机 vhost-net 或用户态 vhost-user)通过共享队列通信,数据仍经宿主机内核或用户态处理。易迁移、易扩展、不依赖特定硬件;性能与延迟不如 SR-IOV 直通,但足够多数云工作负载。vhost-net 在内核、vhost-user 在用户态(如 DPDK),可进一步加速。

对比:SR-IOV = 直通、高性能、硬件依赖;Virtio = 半虚拟、易迁移与扩展、性能次之。选型看是否强需求「接近物理性能」与硬件能力。


面试要点


记忆要点

  1. SR-IOV = VF 直通、高性能;Virtio = 半虚拟、队列、易迁移。
  2. SR-IOV 需硬件;Virtio 有 vhost-net/user 等后端。
  3. 选型看性能需求与硬件/迁移需求。
返回模块 返回总览