Гибридная пересылка

Начиная с NDIS 6.40 (Windows Server 2012 R2, архитектура расширяемого коммутатора Hyper-V поддерживает гибридную пересылку с помощью компонента виртуализации сети Hyper-V (HNV) расширяемого коммутатора и расширений переадресации.

Примечание На этой странице предполагается, что вы знакомы с виртуализацией сети с помощью разгрузки задач Инкапсуляции универсальной маршрутизации (NVGRE) и обзором расширяемого коммутатора Hyper-V.

Пакеты NVGRE и не NVGRE

В гибридной среде пересылки существует два типа пакетов, которые входят и покидают расширяемый коммутатор Hyper-V: пакеты NVGRE и пакеты, отличные от NVGRE:

  • Пакеты NVGRE имеют инкапсулированный формат, указанный в NVGRE: Network Virtualization using Generic Routing Encapsulation Internet Draft. Пакеты NVGRE перенаправляются компонентом HNV расширяемого коммутатора Hyper-V.
  • Пакеты, отличные от NVGRE, — это обычные сетевые пакеты. Пакеты, не относящиеся к NVGRE, перенаправляются расширением пересылки (или, при отсутствии расширения пересылки, самим расширяемым коммутатором).

Поток пакетов NVGRE и пакетов, отличных от NVGRE, через коммутатор

В пути к данным входящего трафика после расширений записи и фильтрации, но перед расширением пересылки, если пакет является пакетом NVGRE, расширяемый переключатель устанавливает флаг NativeForwardingRequired в структуре NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO для пакета. Эта структура содержится в элементе NetBufferListInfoструктуры NET_BUFFER_LIST пакета.

Примечание Элемент NetBufferListInfoNET_BUFFER_LIST часто называется "данными внеполосного (OOB) пакета".

Если в данных OOB пакета установлен флаг NativeForwardingRequired , пакет является пакетом NVGRE. Если он не задан, пакет не является пакетом NVGRE.

Расширения должны использовать макрос NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL для проверка значения флага NativeForwardingRequired.

Пакеты NVGRE и не NVGRE обрабатываются следующим образом:

  • Компонент HNV расширяемого коммутатора Hyper-V вперед (т. е. определяет целевую таблицу для) всех пакетов NVGRE.
  • Компонент HNV при необходимости выполняет инкапсуляцию и декапсуляцию NVGRE.
  • Расширение переадресации пересылает все пакеты, не относящиеся к NVGRE.
  • Расширение переадресации не может пересылать пакеты NVGRE, но может выполнять те же действия фильтрации, что и расширение фильтрации, включая добавление или исключение портов назначения или даже удаление пакетов.
  • Если расширения пересылки нет, расширяемый коммутатор Hyper-V перенаправит все пакеты.

Дополнительные сведения см. в разделе Поток пакетов через путь к данным расширяемого коммутатора.

Поддержка виртуализации сети сторонних производителей

VirtualSubnetId можно настроить на порте сетевого адаптера виртуальной машины в качестве внешней виртуальной подсети. Эта функция была добавлена для включения расширений переадресации для предоставления сторонних решений для виртуализации сети. Входящего трафика расширяемый коммутатор Hyper-V не устанавливает флаг NativeForwardingRequired в структурах NET_BUFFER_LIST для этих пакетов. Затем расширение переадресации может изменить заголовки пакетов при необходимости во время переадресации. Изменяемые пакеты должны быть клонированы, а их указатели ParentNetBufferList должны иметь исходный NET_BUFFER_LIST. (См. раздел Клонирование трафика пакетов.)

Добавление данных порта назначения расширяемого коммутатора в пакет

Клонирование трафика пакетов

Расширения пересылки

Поток пакетов через путь к данным расширяемого коммутатора

NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO