В этой статье мы продолжим тему дизайна сетей ЦОД. Мы уже поговорили про надежность, рассмотрели организацию кабельной инфраструктуры в ЦОД и теперь самое время перейти к рассмотрению вопросов управления и оптимизации трафика. Немаловажную роль в оптимизации трафика на логическом уровне играет построение кабельной инфраструктуры, поэтому далее будем предполагать, что рекомендации по физическому построению сети из предыдущей статьи выполнены.
Уходим от VLANов
Начнем рассмотрение оптимизации сети мы с разбора технологии VLAN и ее недостатков. VLAN - виртуальная локальная компьютерная сеть, которая представляет собой группу хостов с общим набором требований, которые взаимодействуют так, как если бы они были подключены к широковещательному домену независимо от их физического местонахождения. VLAN имеет те же свойства, что и физическая локальная сеть, но позволяет конечным членам группироваться вместе, даже если они не находятся в одной физической сети. Если по-простому, то мы можем сгруппировать порты коммутатора по VLAN и широковещательные домены будут действовать только в рамках этой группы портов.
На этой очень старой картинке из учебника CCNA все узлы физически подключены к одному коммутатору, но логически они разделены по трем VLAN. Таким образом они на канальном уровне изолированы друг от друга.
C VLANами разобрались, теперь поговорим о протоколе связующего дерева – Spanning Tree (STP). Данный протокол предназначен для предотвращения образования петель на втором уровне. Для этого он сначала выбирает корневой коммутатор среди всех имеющихся коммутаторов, путем голосования, строит маршрут к этому корневому коммутатору и затем отключает все избыточные соединения между узлами и этим коммутатором. Это краткое описание работы STP.
Проблема протокола Spanning-Tree заключается в том, что данный протокол разрабатывался задолго то появления VLAN и в нем не были предусмотрены возможности использования больше одного экземпляра STP в сети. Так получалось, что, если какой-то интерфейс по терминологии STP переводился в состояние перенаправления фреймов, то он перенаправлял фреймы всех VLAN-ов. А если блокировался, то не пропускал ни одну VLAN вообще. Позднее Cisco предложила вариант решения данной проблемы под названием Per VLAN Spanning Tree (PVST+). Данное решение создавало собственный экземпляр Spanning Tree для каждого из VLAN.
Так или иначе, но технология VLAN в своей работе полагается STP, и соответственно возможности по резервированию и использованию множественных путей ограничены функциональностью связующего дерева. Кроме того, при не совсем корректной настройке коммутационного оборудования, VLAN уязвимы к различным атакам, например к VLAN Hopping. Суть атаки заключается в том, что злоумышленник может представиться коммутатором с транковым портом и в результате получить доступы в другие VLAN.
Переходим на VXLAN
В качестве альтернативы использования VLAN и Spanning Tree предлагается использовать технологию VXLAN. VXLAN — это протокол инкапсуляции, который обеспечивает подключение центров обработки данных с использованием туннелирования для расширения соединений уровня 2 в используемой сети уровня 3. На сегодня VXLAN является самым распространенным протоколом для создания сетей, которые идут поверх физической сети, позволяя использовать виртуальные сети.
Разберем эту технологию подробно. VXLAN инкапсулирует Ethernet-кадры канального уровня в пакеты протокола UDP, который как известно работает на сетевом уровне, при этом VXLAN позволяет создавать виртуальные подсети канального уровня, или сегменты, которые охватывают физические сети сетевого уровня. Для идентификации подсетей канального уровня используется сетевой идентификатор VNI, который отвечает за сегментацию трафика.
Для передачи пакетов используется туннель VTEP, при это пакеты инкасулируются и декапсулируются на конечный устройствах туннеля. Если конечные устройства не могут самостоятельно работать с VTEP, то на помощь могут прийти аппаратные VTEP-шлюзы. Также VTEP может находиться в гипервизорах, чтобы напрямую поддерживать виртуализированные рабочие нагрузки. Этот тип VTEP известен как программный VTEP.
Вот так работает аппаратный VTEP:
Преимуществом VXLAN является возможность передачи трафика второго уровня через промежуточные коммутаторы, который могут не находиться в одном широковещательном домене. Классическое взаимодействие между коммутаторами на канальном уровне основано на МАС-адресах, которые хранятся в таблицах на всех коммутаторах, участвующих в обмене. Но благодаря использованию туннелирования наши транзитные коммутаторы могут работать в рамках IP фабрики свободной топологии по правилам маршрутизации сетевого уровня. То есть мы можем безболезненно отключать некоторые коммутаторы без оказания влияния на всю сеть. При использовании в ЦОД VXLAN устраняет недостатки классических VLAN и позволяет оператору сети оптимизировать работу с маршрутизируемой сетью 3-го уровня.
Также VXLAN используют совместно с Ethernet VPN (EVPN). EVPN — это расширение протокола маршрутизации BGP, которое позволяет сети передавать информацию о доступности конечного устройства, такую как MAC-адреса канального уровня и IP-адреса сетевого уровня. Эта технология плоскости управления использует MP-BGP (расширение протокола пограничного шлюза, позволяющее параллельно распределять различные типы адресов) для распределения MAC-адресов и IP-адресов конечных устройств, где MAC-адреса рассматриваются как маршруты.
При необходимости мы можем выполнить наложение канального уровня , но нам больше не требуется STP для сходимости плоскости управления благодаря использованию EVPN в качестве плоскости управления.
Кроме того, если говорить о сетях крупных ЦОД то здесь становятся важны уже количественные характеристики. И тут у VXLAN тоже будут преимущества, так как эта технология использует 24-разрядный идентификатор, который может определять до 16 миллионов виртуальных сетей, в то время как классический VLAN имеет только 12-разрядный идентификатор и ограничен 4094 виртуальными сетями.
Подавляем ARP
Традиционно в сетях много различного “паразитного” трафика, который загружает каналы, создает дополнительную нагрузку на сетевое оборудование и может стать причиной сбоев, особенно на канальном уровне. Примерами такого трафика являются прежде всего широковещательные пакеты и различные многоадресные рассылки. Одним из наиболее распространенных примеров такого трафика является ARP.
При поиске соответствия MAC адресов IP рассылаются широковещательные запросы по всем коммутаторам, как представлено на рисунке. Однако с помощью использования технологии VXLAN можно использовать механизм подавления ARP. Подавление ARP помогает сократить трафик за счет использования EVPN для прокси-ответов на ARP-запросы непосредственно клиентам из конечной точки виртуального туннеля VTEP. Без использования режима подавления ARP все запросы ARP транслируются по всей структуре VXLAN и отправляются каждому VTEP, у которого есть VNI для сети. Но при включенном подавлении ARP MAC-адреса, полученные через EVPN, передаются на уровень управления ARP. Конечный коммутатор, который действует как VTEP, отвечает непосредственно отправителю запроса ARP через прокси-сервер ARP reply. Рассмотрим работу механизма подавления на примере.
Машина VM 1 отправляет ARP запрос для того, чтобы узнать MAC адрес VM 7. Туннель VTEP 1 создает запись подавления для VM1, пересылает ARP запрос в VXLAN и отправляет точку подавления на VTEP 2 и VTEP 3 через BGP EVPN. VTEP 2 и VTEP 3 деинкапсулируют ARP запрос и распространяют его в своих зонах ответственности. Далее VM 7 отправляет ARP ответ. Теперь VTEP 2 создает точку подавления для VM 7, пересылая ARP ответы на VTEP 1, и передавая точки подавления на VTEP 1 и VTEP 3 через BGP EVPN. Затем VTEP 1 деинкапсулирует ARP ответ и перенаправляет его на VM 1.
Аналогично VM 4 передает ARP запрос, чтобы узнать MAC адрес VM 1. VTEP 1 создает точку подавления VM 4 и отвечает на ARP запрос. VM 10 отправляет ARP запрос для получения MAC адреса VM 1. VTEP 3 создает точку подавления для VM 10 и отвечает на ARP запрос.
Таким образом, использование ARP подавления уменьшает объем широковещательного трафика в сети ЦОД, поскольку подавление ARP уменьшает необходимость в заполнении ARP-запросами каждого VTEP в инфраструктуре VXLAN.
Заключение
В этой статье мы рассмотрели некоторые концепции, доступные в сети центров обработки данных, которые могут помочь вам оптимизировать сетевую инфраструктуру. Такая оптимизация в совокупности с представленными ранее требованиями по надежности и построению кабельной инфраструктуры ЦОД позволят получить действительно надежную и производительную сетевую инфраструктуру.
А сейчас приглашаю вас на бесплатный вебинар, в рамках которого мы предложим схему расследования BGP инцидента, по которой может действовать сетевой инженер. В ходе занятия рассмотрим недавние сетевые аварии и то, как можно использовать различные сервисы BGP-аналитики для выявления деталей.