Использование расширяемого коммутатора Hyper-V в Windows Server 2012 R2

Опубликовано: 8 Марта, 2023

Виртуализированные среды и сети

Чтобы предложить экономичные и эффективные вычислительные среды, которые можно быстро принять и перенастроить для поддержки новых рабочих нагрузок или изменений в существующих рабочих нагрузках, компании переходят на модель виртуализированного центра обработки данных с использованием частных или общедоступных облаков. Сетевая безопасность и изоляция являются ключевыми проблемами при развертывании виртуализированной среды, в которой несколько рабочих нагрузок клиентов размещаются на общих ресурсах, а физическая изоляция больше не существует. В дополнение к проблемам сетевой безопасности и изоляции рабочих нагрузок клиентам может потребоваться поддержка текущих моделей IP-адресов при переносе ресурсов в виртуализированную среду.

С выпуском Windows Server 2012 Microsoft представила новую стратегию Software Defined Networking (SDN) для решения этих проблем. С помощью SDN в Windows Server 2012 и Windows Server 2012 R2 Microsoft обеспечивает динамическую настройку виртуальных сетей поверх физической сети, а также возможность быстрого и эффективного перемещения виртуальных сетей по физической сети. Еще одна область, на которую влияет SDN, — управление потоком сетевого трафика. Для виртуализированных данных рабочей нагрузки могут потребоваться гарантии полосы пропускания и ограничения, которые со временем меняются, или могут потребоваться специальные фильтры безопасности. При использовании стратегии SDN сетевые политики создаются и динамически изменяются по мере изменения требований к рабочей нагрузке. Стратегия SDN привела к появлению виртуальной сети Hyper-V (HVN) и расширяемого коммутатора Hyper-V в Windows Server 2012, а также к нескольким важным улучшениям в Windows Server 2012 R2.

Виртуальная сеть Hyper-V

Hyper-V Virtual Networking (HNV) обеспечивает возможность наложения пространств логических сетевых адресов или адресов клиентов (CA) поверх пространств физических IP-адресов или адресов поставщиков (PA) для поддержки безопасных и изолированных мультиарендных сред. Используя HNV, вы можете реализовать несколько безопасных и изолированных центров сертификации без необходимости перенастраивать базовую инфраструктуру PA. Поскольку пространства CA являются логическими и изолированными, несколько клиентов могут использовать одни и те же диапазоны адресов подсети для своих рабочих нагрузок в одном физическом адресном пространстве, не сталкиваясь с конфликтами адресов.

Hyper-V использует виртуализацию сети для универсальной инкапсуляции маршрутизации (NVGRE) в качестве механизма виртуализации IP-адресов для успешной маршрутизации пакетов рабочей нагрузки. На рис. 1 показан формат сетевого пакета GRE.

Изображение 1194
Рисунок 1: Формат пакета NVGRE

Пакет виртуальной машины (рабочая нагрузка) инкапсулируется внутри другого пакета, который использует IP-адреса источника и получателя в дополнение к идентификатору виртуальной подсети для маршрутизации пакета клиента. Идентификатор виртуальной подсети позволяет виртуальным коммутаторам хоста определить, какой виртуальной машине предназначен пакет, даже если центры сертификации могут быть одинаковыми. Именно это позволяет всем виртуальным машинам на одном хосте совместно использовать одно пространство PA.

Расширяемый коммутатор Hyper-V

Расширяемый коммутатор Hyper-V — это виртуальный сетевой коммутатор уровня 2, который позволяет виртуальным машинам подключаться к физической сетевой инфраструктуре. Чтобы соответствовать жестким требованиям безопасности инфраструктур предприятий и поставщиков услуг, Microsoft сделала коммутатор расширяемым и программно управляемым с помощью опубликованных API-интерфейсов Windows.

Расширяемость коммутатора позволяет сторонним поставщикам, предприятиям и поставщикам услуг удовлетворять уникальные требования безопасности и предоставлять дополнительные функции. Несколько сторонних поставщиков уже выпустили расширения Hyper-V Extensible Switch, включая Cisco, NEC, 5Nine и InMon. Расширения варьируются от улучшений безопасности до виртуальных брандмауэров, потоков трафика и функций мониторинга сети.

Поддерживаемые типы расширений

Расширяемый коммутатор Hyper-V позволяет разрабатывать три типа расширений, а именно расширения для захвата, расширения для фильтрации и расширения для пересылки.

Все три типа расширений разрабатываются как драйверы фильтров NDIS и устанавливаются как модифицированные драйверы фильтров. Количество расширений каждого типа, которые можно установить на расширяемом коммутаторе Hyper-V, не ограничено. Каждое расширение устанавливается в многоуровневом подходе по типу. По умолчанию последнее расширение, установленное на уровне, будет первым обрабатывать пакет, проходящий через коммутатор, но можно изменить порядок расширений, чтобы изменить порядок фильтрации. Первое расширение на уровне проверяет пакет, а затем передает пакет следующему расширению на уровне.

Захват расширений

Расширение Capturing позволяет захватывать и отслеживать пакетный трафик, проходящий через виртуальный коммутатор Hyper-V. Расширение Capturing не может модифицировать, отбрасывать или изменять доставку пакетов на расширяемый порт коммутатора. Это делает расширение Capturing идеальным для сетевых мониторов, которые проверяют пакетный трафик и состояние.

Расширение Capturing может отслеживать пакеты по пути входящих (входных) и исходящих (исходящих) данных, но не может изменять данные внутри пакетов или добавлять адресатов портов к внеполосным данным пакета. Расширение Capturing может создавать пакеты специально для сообщения об условиях трафика приложениям мониторинга.

Фильтрация расширений

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

Расширения фильтрации имеют немного разные возможности в зависимости от пути к данным. На пути данных входящего пакета (вход) расширение фильтрации может применять правила фильтрации только к исходному порту пакета и подключению сетевого адаптера. На пути передачи исходящих пакетов (выходе) расширение фильтрации может применять правила фильтрации к исходному и целевому порту пакета.

Правила фильтрации могут включать в себя управление потоком данных на основе исходного или конечного порта, блокировку доставки пакета на один или несколько расширяемых портов коммутатора, отсрочку пересылки пакетов по исходящему пути и возможность клонирования пакета и изменения данные и порт назначения.

Расширения для переадресации

Расширение Forwarding имеет те же возможности, что и расширение Filtering. Расширения пересылки выполняют пересылку и фильтрацию основных пакетов для расширяемого коммутатора Hyper-V. Они достигают этого, определяя порт назначения для пакета и фильтруя пакеты, применяя политики портов, такие как политики безопасности или политики профилей.

Расширения пересылки могут применять правила фильтрации к портам источника или назначения независимо от направления потока данных. Правила пересылки также могут вводить новые, измененные или клонированные пакеты на пути входящих данных, но могут изменять только клонированные пакеты на пути исходящих данных или исключать доставку на порт назначения. Расширение переадресации может исключать доставку пакетов только по пути исходящих данных и может только добавлять или изменять порты назначения для пакета по пути входящих данных.

Расширения Windows Server 2012 R2 для расширяемого коммутатора Hyper-V

Когда Hyper-V Extensible Switch был выпущен с Windows Server 2012, HVN был реализован как сетевой фильтр за пределами виртуального коммутатора. Этот подход к проектированию позволял только расширениям виртуального коммутатора видеть пространство CA, поскольку любая инкапсуляция или декапсуляция NVGRE пространства PA происходила за пределами коммутатора. Эта конструкция не позволяла расширениям коммутатора отслеживать или изменять пакеты в зависимости от пространства PA.

Чтобы устранить это ограничение, в конструкцию расширяемого коммутатора Hyper-V в Windows Server 2012 R2 были внесены два изменения.

  1. Реализация HVN перенесена в расширяемый коммутатор Hyper-V.
  2. Расширяемый коммутатор Hyper-V получил возможность пересылать пакеты в зависимости от типа пакета (гибридная переадресация).

Перемещение реализации HVN в расширяемый коммутатор Hyper-V позволяет любому установленному расширению видеть как пространство CA, так и пространство PA. Внедрение гибридной пересылки позволяет пересылать пакет различными модулями в зависимости от типа пакета. Например, трафик, инкапсулированный с помощью NVGRE, обрабатывается модулем HVN, а трафик, отличный от NVGRE, обходит модуль HVN и обрабатывается расширением пересылки. Расширение пересылки может применять дополнительные политики к пакету, даже если его переслал модуль HVN.

Сведения о пакетном потоке

На рис. 2 показан поток входящего и исходящего трафика для пакетов с использованием реализации расширяемого коммутатора Hyper-V в Windows Server 2012 R2.

Изображение 1195
Рис. 2. Поток входящего и исходящего трафика расширяемого коммутатора Hyper-V

Для понимания расширяемого коммутатора Hyper-V необходимо рассмотреть два отдельных сценария потока пакетов:

  1. Пакет исходит от внешнего источника
  2. Пакет исходит от узла Hyper-V или виртуальной машины на узле Hyper-V.

В первом случае, когда пакет исходит из внешнего источника, если пакет не использует HVN, то нет необходимости выполнять инкапсуляцию и декапсуляцию, так как NVGRE не используется. Пакет проходит через все установленные расширения захвата и фильтрации, а затем напрямую к расширению пересылки, минуя HVN. По мере того, как пакет проходит по выходному пути, он проходит обратно через любые расширения пересылки, фильтрации и захвата.

Если пакет исходит из внешнего источника и использует HVN, то пакет будет инкапсулирован с использованием NVGRE в источнике. По мере прохождения по входному пути в пункте назначения он декапсулируется модулем HVN и сопоставляется с пространством ЦС. Затем пакет проходит через расширения пересылки, фильтрации и захвата по пути выхода.

Во втором случае, если пакет исходит от узла Hyper-V или виртуальной машины на узле Hyper-V и не использует HVN, он будет иметь PA и не будет инкапсулирован с использованием NVGRE. Пакет проходит через расширения захвата и фильтрации, а затем направляется прямо к расширению пересылки. После прохождения через расширение пересылки пакет обрабатывается как исходящий трафик через расширения фильтрации и захвата.

Если пакет исходит от узла Hyper-V или виртуальной машины на узле Hyper-V и использует HVN, пакет будет иметь ЦС. По мере прохождения по входному пути он проходит через расширения захвата и фильтрации, прежде чем модуль HVN обработает пакет. Модуль HVN выполняет инкапсуляцию и меняет адреса на PA. Затем пакет проходит по выходному пути через все расширения.

Вывод

В Windows Server 2012 R2 Microsoft усовершенствовала виртуальную сеть Hyper-V и расширяемый коммутатор Hyper-V, сделав ее еще более надежной и надежной платформой для развертывания частных и общедоступных облачных сред с несколькими арендаторами. Коммутатор Hyper-V Extensible Switch позволяет сторонним поставщикам разрабатывать расширения, предоставляющие специализированные функции без необходимости развертывания виртуальной машины или физического устройства в сетевой архитектуре. Примерами расширений, использующих расширяемый коммутатор Hyper-V, являются Cisco Nexus 1000V и 5Nine Cloud Security для Hyper-V. Используя расширяемый коммутатор Hyper-V, эти расширения могут обрабатывать пакеты и предоставлять специализированные возможности без установки агентов на каких-либо виртуальных машинах, независимо от гостевой операционной системы виртуальной машины и без необходимости сложной реконфигурации физической сети. Это снижение сложности сети, повышение производительности маршрутизации и дополнительные возможности для захвата, фильтрации и пересылки пакетов данных виртуализированных рабочих нагрузок улучшают сетевую изоляцию и безопасность, необходимые для виртуализированного центра обработки данных.