hostprofi.ru
Подобрать хостинг
Термин·буква V

vNIC

краткое определение

vNIC (virtual Network Interface Card) — виртуальный сетевой адаптер виртуальной машины, эмулируемый гипервизором. Гостевая ОС видит vNIC как обычный сетевой адаптер и взаимодействует с физической сетью через паравиртуальный или эмулируемый интерфейс.

vNIC — виртуальная сетевая карта, которую гипервизор предоставляет виртуальной машине. Гостевая ОС работает с vNIC как с обычным сетевым адаптером (Ethernet). Гипервизор транслирует сетевые запросы ВМ в реальные сетевые операции через физический NIC хоста.

Как работает

В KVM vNIC реализован двумя способами:

  • Эмуляция (e1000, rtl8139): гипервизор эмулирует конкретный реальный адаптер. Медленнее, но совместима со старыми ОС без специальных драйверов.
  • virtio-net: паравиртуальный интерфейс. Гостевая ОС использует специальный драйвер virtio, который работает напрямую с гипервизором без эмуляции. Пропускная способность до 10 Гбит/с, latency минимальна.

Физически пакеты от ВМ попадают в tap-интерфейс хоста, затем через Linux bridge или OVS (Open vSwitch) выходят на физический NIC. Для SR-IOV (Single Root I/O Virtualization) физическая карта создаёт Virtual Functions (VF), которые передаются напрямую в ВМ, обходя гипервизор — производительность bare-metal.

Каждая ВМ может иметь несколько vNIC: одна для публичного трафика, другая для приватной сети, третья для хранилища. MAC-адрес vNIC назначается гипервизором и уникален в рамках кластера.

История

Эмуляция сетевых карт появилась в первых версиях QEMU (2003). virtio-net разработан Русланом Ижбулатовым и включён в ядро Linux 2.6.25 (2008). SR-IOV в Ethernet-адаптерах появился с Intel 82576 (2008).

На что обращать внимание

Всегда используйте virtio-net в Linux-ВМ: производительность в 5–10 раз выше эмуляции e1000. Для Windows Server устанавливайте VirtIO-Win драйверы. При необходимости 10/25 Гбит/с и минимальной latency — настраивайте SR-IOV passthrough вместо программной коммутации.

Типы vNIC и паравиртуальные драйверы

Virtio-net обеспечивает до 10+ Гбит/с при минимальных накладных расходах на CPU. Эмулируемые e1000 ограничены 1 Гбит/с. Windows Server требует установки Virtio-драйверов от Red Hat.

SR-IOV: прямой доступ к физическому NIC

SR-IOV позволяет ВМ обращаться к физическому NIC напрямую, минуя гипервизор. Физический NIC создаёт виртуальные функции (VF) через PCI passthrough. Производительность: 25–100 Гбит/с при latency менее 1 мкс.

Сетевые режимы в Proxmox VE

Типы vNIC в Proxmox VE: VirtIO (для Linux), E1000 (совместимость с Windows). Сетевая модель: bridge (подключение к Linux-бриджу), NAT (через masquerade), VLAN-тегирование для изоляции сетей.

Настройка сетевой производительности

Jumbo frames (MTU 9000) в приватной сети снижают CPU-overhead при больших объёмах данных. Проверка: ip link show | grep mtu. В KVM: virsh edit vm-name → добавить <driver name='vhost' txmode='iothread'/>. iothread-режим: отдельный поток для сетевых операций.

MTU и фрагментация

По умолчанию MTU 1500 байт. При туннелировании (VXlan, WireGuard) эффективный MTU снижается на overhead: VxLAN -50 байт, WireGuard -80 байт. Без правильного MTU: Path MTU Discovery Black Hole — соединения зависают. Решение: MSS clamping в iptables: -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu.

Другие термины