В прошлом году мы говорили о Прямые складские помещения — программно-определяемое хранилище в Windows Server 2016. Сегодня мы поговорим об еще одном новом продукте Microsoft, на этот раз из области программно-определяемых сетей (SDN).
Сетевой контроллер — это служба управления сетевой инфраструктурой в Windows Server 2016. Содержание
Откуда взялись виртуальные сети? Windows Server 2016: сетевой контроллер Службы сетевого контроллера
Откуда взялись виртуальные сети?
ВЛАН.Первые виртуальные сети появились в 1998 году.
Это были локальные виртуальные VLAN, работающие по протоколу IEEE 802.1Q. Технология позволяет разделить одну сеть L2 на множество логических сетей L2. Но у VLAN есть ограничение, которое оказалось существенным по мере роста количества сетей: максимальное количество соединений в одной сети L2 — 4096. Чтобы его преодолеть, производители начали разрабатывать новые протоколы с большей масштабируемостью, например: IEEE 802.1. реклама и IEEE 802.1ah. Мы не будем на них подробно останавливаться и пойдем дальше.
VXLAN, STT и NVGRE. В 2011 году VMware, Arista и Cisco выпустили протокол VXLAN, который позволяет создавать до 16 миллионов логических сегментов L2 в одной сети.
Параллельно с ними Microsoft создает протокол NVGRE аналогичной спецификации, который начинает развиваться в Windows Server 2012. Nicira предлагает протокол STT. Решена проблема ограниченной масштабируемости; вы можете создать столько сетей, сколько захотите.
По мере роста сетей инфраструктурой становится сложно управлять, и возникает необходимость в централизованной консоли для настройки виртуального и физического оборудования.
Так возникает концепция программно-определяемых сетей (SDN) с централизованным управлением сетевой инфраструктурой.
СДН.
Подход к управлению сетью с использованием унифицированных программных средств.
Ничира была одной из первых, кто внедрил технологию SDN. После приобретения Nicira VMware создает продукт VMware NSX, использующий протокол VXLAN. В 2013 году Microsoft предлагает свою версию программно-определяемой сети в редакции Windows Server 2012R2 на базе протокола NVGRE. Протокол NVGRE имел ряд недостатков:
- Управление виртуальными сетями в Windows Server 2012R2 осуществлялось только с помощью диспетчера виртуальных машин (VMM).
Это была точка хранения всех конфигураций виртуальной инфраструктуры и единая точка отказа.
- OEM-производители использовали VXLAN в качестве основного протокола, и лишь немногие реализовали поддержку NVGRE.
Эта служба доступна только в редакции Windows Server 2016 Datacenter. Давайте посмотрим на возможности сетевого контроллера.
Windows Server 2016: сетевой контроллер
Сетевой контроллер — это единая точка управления и мониторинга всех физических и виртуальных сетей домена.Он используется для настройки IP-подсетей, VLAN, маршрутизаторов и межсетевых экранов.
NC хранит информацию о топологии сети, балансирует трафик и устанавливает правила NAT.
Глоссарий
Услуги:В целом принцип архитектуры Network Controller следующий: узлы контроллера располагаются на отдельных виртуальных машинах, а службы маршрутизации, балансировки трафика и межсетевого экрана — на серверах виртуализации.Сети:
- Управление виртуальными сетями — это служба управления виртуализированной сетью.
- Программное управление балансировкой нагрузки — это служба балансировки трафика и правил NAT.
- Firewall Management — сервис для настройки межсетевых экранов и таблиц контроля доступа для виртуальных машин.
- Управление шлюзом RAS — это служба туннелирования VPN.
- iDNS — сервис для создания виртуальных DNS-серверов.
Услуги на хостинге:
- Backend Network (адреса провайдеров, PA) — сеть с адресами провайдеров.
Здесь создаются виртуальные туннели и через них проходит трафик.
- Management Network — это сеть управления, через которую проходит трафик между компонентами SDN.
- Сеть ВМ (адреса клиентов, CA) — это виртуализированная сеть, к которой подключаются виртуальные машины.
- Транзитная сеть – транзитная сеть.
Он используется для обмена трафиком между BGP и мультиплексором/шлюзом SLB. Маршруты BGP публикуются в транзитной сети.
Сервисные виртуальные машины:
- Расширение коммутатора Azure VFP — это расширение коммутатора Hyper-V. Добавляет функциональность коммутатора L3 к виртуальному коммутатору.
Включает распределенный балансировщик нагрузки (DLB) и распределенный межсетевой экран (DFW).
- Распределенный балансировщик нагрузки — балансировщик трафика.
- Распределенный межсетевой экран — это межсетевой экран, отвечающий за выполнение правил доступа к виртуальным машинам.
- Распределенный маршрутизатор (vSwitch) — это виртуальный маршрутизатор.
- NC Host Agent — получает информацию о виртуальных сетях и правилах межсетевого экрана от NC.
- SLB Host Agent — получает правила балансировки от NC.
- Мультиплексор SLB (MUX) — это виртуальные машины Windows Server с ролью программной балансировки нагрузки.
Они содержат информацию о правилах балансировки трафика.
MUX публикуют маршруты в BGP и обрабатывают входящие пакеты.
- Шлюз – виртуальный шлюз.
Архитектура сетевого контроллера.
Сетевой контроллер основан на программном коммутаторе Open vSwitch. Этот коммутатор также используется в программно-определяемых сетях VMWare NSX и OpenStack Neutron. Он поддерживает протокол управления ОВСДБ (Open vSwitch Database), отвечающий за обмен информацией между сетевым оборудованием.
Давайте посмотрим, как работает сетевой контроллер.
В NC прописаны серверы, виртуальные машины, виртуальные свитчи гипервизоров.
После регистрации и настройки серверы устанавливают соединение с Network Controller и получают от него всю необходимую информацию о сетях виртуальных машин, правилах балансировки и VPN-туннелях.
Виртуальные сети на узлах подключены к виртуальному коммутатору Hyper-V с помощью расширения коммутатора Azure VFP. Через него осуществляется управление виртуальными портами, к которым подключены ВМ:
- включить или отключить порты;
- Двунаправленное управление полосой пропускания;
- назначение приоритетов пакетам по классу (COS);
- Цель: ведение статистики и управление ACL на портах виртуального коммутатора.
Службы сетевого контроллера
Давайте подробно рассмотрим, какие службы входят в Network Controller и чем они управляют. Управление виртуальной сетью.Это сервис для создания и управления виртуальными сетями.
Он управляет виртуальными коммутаторами Hyper-V и виртуальными сетевыми адаптерами на виртуальных машинах.
Управление виртуальной сетью содержит настройки виртуальной сети, которые используются другими службами сетевого контроллера.
Управление брандмауэром.
Этот сервис упрощает организацию межсетевого экрана: нет необходимости вручную настраивать межсетевые экраны на каждой ВМ и запоминать конфигурации.
Сетевой контроллер хранит все настройки списков управления доступом (ACL) для виртуальных машин и сетей.
Распределенный межсетевой экран на хостах запрашивает у него информацию и применяет правила к нужным сетям и виртуальным машинам.
Никакой настройки на стороне виртуальной машины не требуется.
Ниже представлена схема принципа работы межсетевого экрана в Network Controller. На нем Northbound — это интерфейс, через который осуществляется управление сетевым контроллером с помощью REST API. Southbound используется для связи с сетевыми устройствами, мультиплексорами SLB, шлюзами и серверами, для обнаружения сети и других служб.
Шлюзы определяют, для каких туннелей виртуальной сети необходимо построить.
Затем они пересылают входящие пакеты через туннель на серверы с виртуальными машинами, подключенными к нужной виртуальной сети.
Вот как работает служба брандмауэра в сетевом контроллере.
Программное обеспечение для управления балансировщиком нагрузки.
Сервис работает на уровне виртуализированных сетей и балансирует трафик на уровне L4. Балансировка трафика происходит с помощью виртуальных машин службы мультиплексора SLB (MUX) и маршрутизаторов BGP. Вы можете сделать 8 MUX на NC. MUX получает правила маршрутизации от сетевого контроллера.
Мультиплексоры объявляют маршруты /32 каждому VIP через маршрутизаторы BGP. Пример
Пакет для определенного виртуального IP-адреса поступает на маршрутизатор BGP. Маршрутизатор BGP проверяет, какой переход будет следующим пакетом.В данном случае это MUX. На основе таблиц правил балансировки, полученных от Network Controller, MUX определяет назначение пакета: виртуализированная сеть, хост и виртуальная машина.
Затем MUX генерирует пакет VXLAN и отправляет его хосту во внутренней сети.
Хост получает пакет и пересылает его виртуальному коммутатору (vSwitch), который указывает виртуальную машину для приема пакета.
Пакет декапсулируется, анализируется и отправляется на виртуальную машину.
Виртуальная машина обрабатывает пакет. Адрес источника не меняется после прохождения пакета через MUX. Поэтому виртуальная машина не видит за собой балансировщик MUX и читает, что пакет пришел напрямую из Интернета.
Этот тип балансировки называется прозрачной балансировкой нагрузки.
Виртуальная машина отправляет ответ. Виртуальный коммутатор на хосте определяет, что это ответ на пакет, пришедший от балансировщика нагрузки, и отправляет его обратно в Интернет. Причем не через ту же цепочку, а перезаписывает адрес отправителя на IP балансировщика и отправляет напрямую в Интернет. Этот подход называется прямым возвратом сервера (DSR).
Это существенно ускоряет процесс обработки пакетов.
Балансировка трафика в сетевом контроллере.
В Windows Server 2016 правила NAT теперь также задаются с помощью программного управления балансировкой нагрузки.
Сетевой контроллер знает, для какой сети организован NAT. MUX содержит информацию о хостах и виртуальных машинах, подключенных к сети, для которой организуется NAT. NAT в сетевом контроллере реализован путем балансировки трафика для группы из одного хоста.
В настоящее время поддерживается только балансировка трафика TCP и UDP. Менеджер шлюза RAS. Это сервис по созданию VPN-туннелей для соединения облачной инфраструктуры с физической инфраструктурой.
В Network Controller вы можете построить VPN любым удобным способом:
- через IPsec, который теперь работает как с IKEv1, так и с IKEv2;
- создавать SSTP-туннели;
- создавать туннели GRE.
Он устанавливает туннель, инкапсулирует трафик в пакеты VXLAN и пересылает его хостам.
Служба создания VPN-туннелей RAG Gateway Management. iDNS: внутренний DNS. Сервис позволяет создавать виртуальные DNS-серверы.
На данный момент он существует как реализация концепции и поддерживает работу только с одной зоной DNS, что неудобно для клиентов.
Мультитенантный режим будет добавлен в следующем выпуске Windows Server 2016. Давайте посмотрим, как работает сервис iDNS. Организуется DNS-зона, в которой будут созданы клиентские зоны.
Сетевой контроллер настроен: указана обслуживаемая DNS-зона и DNS-серверы верхнего уровня, которые будут обрабатывать запросы, поступающие от клиентов.
После настройки сетевой контроллер iDNS распространяет информацию по хостам.
Прокси-служба iDNS на хостах обрабатывает DNS-запросы от клиентов.
Это работает следующим образом:
- Клиент отправляет запрос на разрешение имени.
- iDNS-прокси проверяет, обслуживает ли он запросы, исходящие из данной виртуальной сети.
Это определяется основным DNS-суффиксом сетевого адаптера.
Он должен соответствовать зоне, обслуживаемой iDNS. Если iDNS-прокси обслуживает запросы из этой сети, он отправляет запрос вышестоящему DNS-серверу.
- DNS-сервер проверяет, относится ли запрос к внутренним зонам.
Если клиент пытается разрешить внутреннее имя, DNS-сервер обрабатывает его.
Если нет, то он отправляет запрос дальше.
Как работает служба iDNS в сетевом контроллере.
Пример
Имеется виртуальная сеть, для которой доступен сервис iDNS. При подключении виртуальных машин к этой сети в корневой зоне DNS, указанной во время установки, будет создана зона с именем, соответствующим идентификатору виртуальной сети.Все, что мы подробно описали выше, — это службы сетевого контроллера, которые были включены в официальный выпуск Windows Server 2016. Нам также удалось протестировать службы, которые были включены в техническую предварительную версию, но удалены из выпуска.В этой зоне будут созданы записи для виртуальных машин.
А-записи виртуальных машин в сервисе iDNS.
Одним из таких сервисов является Canary Network Diagnostics, предназначенный для мониторинга производительности сети, сбора статистики работы физического и виртуального сетевого оборудования и обнаружения ошибок.
Дополнения должны войти в релиз Windows Server 2016R2, и о них мы поговорим в будущем.
В следующей части мы расскажем, как развернуть сетевой контроллер, а также о некоторых интересных подводных камнях, которые мы обнаружили во время тестирования.
Пишите вопросы в комментариях.
Автор: Сергей Груздов Теги: #Виртуализация #Сетевые технологии #DataLine #SDN #Windows Server 2016 #программно-определяемые сети #программно-определяемые сети (sdn) #dataline #dataline #dataline #dataline #сетевой контроллер
-
Халли, Морис
19 Oct, 24 -
Адаптивные Изображения На Практике (Часть 1)
19 Oct, 24