Гибридное перенаправление
Начиная с версии NDIS 6.40 (Windows Server 2012 R2, архитектура расширяемого коммутатора Hyper-V поддерживает гибридное перенаправление с помощью компонента Hyper-V Network Virtualization (HNV) расширяемого коммутатора и путем переадресации расширений.
Примечание На этой странице предполагается, что вы знакомы с виртуализацией сети с использованием Generic Routing Encapsulation (NVGRE) Task Offload и Обзором Hyper-V расширяемого коммутатора.
Пакеты NVGRE и не-NVGRE
В гибридной среде пересылки существует два типа пакетов, которые входят в Hyper-V расширяемый коммутатор и покидают его: пакеты NVGRE и пакеты, отличные от NVGRE.
- Пакеты NVGRE имеют инкапсулированный формат, указанный в NVGRE: виртуализация сети с использованием общей маршрутизации инкапсуляции интернет-драфте. Пакеты NVGRE пересылаются компонентом HNV расширяемого коммутатора Hyper-V.
- Пакеты, отличные от NVGRE, являются обычными сетевыми пакетами. Пакеты, отличные от NVGRE, перенаправляются с помощью функции модуля пересылки (или, в отсутствие модуля пересылки, самим расширяемым коммутатором).
Поток пакетов NVGRE и не-NVGRE через коммутатор
В пути обработки данных входящего трафика после захвата и фильтрации модулей, но перед модулем пересылки, если пакет является пакетом NVGRE, расширяемый коммутатор задает флаг NativeForwardingRequired в структуре NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO пакета. Эта структура содержится в NetBufferListInfo член структуры NET_BUFFER_LIST пакета.
Примечание Элемент NetBufferListInfo структуры NET_BUFFER_LIST часто называется "данными вне полосы (OOB) пакета".
Если флаг NativeForwardingRequired задан в данных OOB пакета, пакет является пакетом 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. (См. раздел Клонирование трафика пакетов.)
Связанные разделы
добавление данных порта назначения расширяемого коммутатора в пакет
клонирование пакетного трафика
поток пакетов через расширяемую магистраль данных коммутатора