Чтобы обсудить шлюзы VXLAN, сначала необходимо рассмотреть сам VXLAN. Напомним, что традиционные VLAN (виртуальные локальные сети) используют 12-битные идентификаторы VLAN для разделения сетей, поддерживая до 4096 логических сетей. Это хорошо работает для небольших сетей, но в современных центрах обработки данных с тысячами виртуальных машин, контейнеров и многопользовательскими средами VLAN недостаточно. Так появился VXLAN, определенный Рабочей группой по проектированию интернета (IETF) в RFC 7348. Его цель — расширить широковещательный домен уровня 2 (Ethernet) на сети уровня 3 (IP) с использованием туннелей UDP.
Проще говоря, VXLAN инкапсулирует кадры Ethernet в пакеты UDP и добавляет 24-битный сетевой идентификатор VXLAN (VNI), теоретически поддерживая 16 миллионов виртуальных сетей. Это как присвоение каждой виртуальной сети «идентификационной карты», позволяющей им свободно перемещаться в физической сети, не мешая друг другу. Основным компонентом VXLAN является конечная точка туннеля VXLAN (VTEP), которая отвечает за инкапсуляцию и декапсуляцию пакетов. VTEP может быть программным (например, Open vSwitch) или аппаратным (например, микросхема ASIC на коммутаторе).
Почему VXLAN так популярен? Потому что он идеально соответствует потребностям облачных вычислений и SDN (программно-определяемых сетей). В публичных облаках, таких как AWS и Azure, VXLAN обеспечивает беспрепятственное расширение виртуальных сетей арендаторов. В частных центрах обработки данных он поддерживает архитектуры оверлейных сетей, такие как VMware NSX или Cisco ACI. Представьте себе центр обработки данных с тысячами серверов, на каждом из которых работают десятки виртуальных машин (ВМ). VXLAN позволяет этим ВМ воспринимать себя как часть одной и той же сети уровня 2, обеспечивая бесперебойную передачу широковещательных ARP-запросов и DHCP-запросов.
Однако VXLAN — не панацея. Работа в сети уровня L3 требует преобразования L2 в L3, и именно здесь вступает в действие шлюз. Шлюз VXLAN соединяет виртуальную сеть VXLAN с внешними сетями (такими как традиционные VLAN или сети IP-маршрутизации), обеспечивая передачу данных из виртуального мира в реальный. Механизм пересылки — это сердце и душа шлюза, определяющий, как пакеты обрабатываются, маршрутизируются и распределяются.
Процесс пересылки VXLAN подобен изящному балету, где каждый шаг от источника к получателю тесно взаимосвязан. Давайте разберем его пошагово.
Сначала с исходного хоста (например, виртуальной машины) отправляется пакет. Это стандартный Ethernet-кадр, содержащий MAC-адрес источника, MAC-адрес назначения, тег VLAN (если есть) и полезную нагрузку. После получения этого кадра исходный VTEP проверяет MAC-адрес назначения. Если MAC-адрес назначения присутствует в его таблице MAC-адресов (полученной путем обучения или рассылки), он знает, какому удаленному VTEP следует переслать пакет.
Процесс инкапсуляции имеет решающее значение: VTEP добавляет заголовок VXLAN (включая VNI, флаги и т. д.), затем внешний заголовок UDP (с исходным портом, основанным на хеше внутреннего кадра, и фиксированным портом назначения 4789), заголовок IP (с исходным IP-адресом локального VTEP и IP-адресом назначения удаленного VTEP) и, наконец, внешний заголовок Ethernet. Весь пакет теперь выглядит как пакет UDP/IP, как обычный трафик и может маршрутизироваться в сети L3.
В физической сети пакет пересылается маршрутизатором или коммутатором до тех пор, пока не достигнет целевого VTEP. Целевой VTEP удаляет внешний заголовок, проверяет заголовок VXLAN, чтобы убедиться в совпадении VNI, а затем доставляет внутренний кадр Ethernet целевому хосту. Если пакет представляет собой неизвестный одноадресный, широковещательный или многоадресный (BUM) трафик, VTEP реплицирует пакет всем соответствующим VTEP, используя широковещательную рассылку, полагаясь на многоадресные группы или репликацию заголовка одноадресной рассылки (HER).
В основе принципа пересылки лежит разделение плоскости управления и плоскости данных. Плоскость управления использует Ethernet VPN (EVPN) или механизм Flood and Learn для изучения сопоставлений MAC-адресов и IP-адресов. EVPN основан на протоколе BGP и позволяет VTEP обмениваться маршрутной информацией, такой как MAC-VRF (виртуальная маршрутизация и пересылка) и IP-VRF. Плоскость данных отвечает за фактическую пересылку, используя туннели VXLAN для эффективной передачи.
Однако в реальных условиях эффективность пересылки напрямую влияет на производительность. Традиционная рассылка широковещательных сообщений может легко вызвать штормы, особенно в больших сетях. Это приводит к необходимости оптимизации шлюзов: шлюзы не только соединяют внутренние и внешние сети, но и выступают в качестве прокси-агентов ARP, обрабатывают утечки маршрутов и обеспечивают кратчайшие пути пересылки.
Централизованный шлюз VXLAN
Централизованный шлюз VXLAN, также называемый централизованным шлюзом или шлюзом уровня L3, обычно развертывается на периферии или в ядре центра обработки данных. Он действует как центральный узел, через который должен проходить весь трафик между VNI или подсетями.
В принципе, централизованный шлюз действует как шлюз по умолчанию, предоставляя услуги маршрутизации уровня 3 для всех сетей VXLAN. Рассмотрим два VNI: VNI 10000 (подсеть 10.1.1.0/24) и VNI 20000 (подсеть 10.2.1.0/24). Если виртуальная машина A в VNI 10000 хочет получить доступ к виртуальной машине B в VNI 20000, пакет сначала достигает локального VTEP. Локальный VTEP обнаруживает, что целевой IP-адрес находится не в локальной подсети, и пересылает его на централизованный шлюз. Шлюз декапсулирует пакет, принимает решение о маршрутизации, а затем повторно инкапсулирует пакет в туннель к целевому VNI.

Преимущества очевидны:
○ Простое управлениеВсе конфигурации маршрутизации централизованы на одном или двух устройствах, что позволяет операторам поддерживать всего несколько шлюзов для покрытия всей сети. Такой подход подходит для небольших и средних центров обработки данных или сред, впервые внедряющих VXLAN.
○РесурсоэффективныйКак правило, шлюзы представляют собой высокопроизводительное оборудование (например, Cisco Nexus 9000 или Arista 7050), способное обрабатывать огромные объемы трафика. Плоскость управления централизована, что облегчает интеграцию с контроллерами SDN, такими как NSX Manager.
○Строгий контроль безопасностиТрафик должен проходить через шлюз, что облегчает реализацию списков контроля доступа (ACL), межсетевых экранов и NAT. Представьте себе сценарий с несколькими арендаторами, где централизованный шлюз может легко изолировать трафик арендаторов.
Однако недостатки игнорировать нельзя:
○ Единая точка отказаВ случае отказа шлюза связь уровня L3 по всей сети парализуется. Хотя протокол VRRP (Virtual Router Redundancy Protocol) может использоваться для обеспечения резервирования, он все же сопряжен с рисками.
○узкое место производительностиВесь трафик между серверами (связь между ними) должен обходить шлюз, что приводит к неоптимальному маршруту. Например, в кластере из 1000 узлов, если пропускная способность шлюза составляет 100 Гбит/с, в часы пик, вероятно, возникнет перегрузка.
○Низкая масштабируемостьПо мере роста масштабов сети нагрузка на шлюзы увеличивается экспоненциально. В реальном примере я видел финансовый дата-центр, использующий централизованный шлюз. Первоначально все работало без сбоев, но после удвоения количества виртуальных машин задержка резко возросла с микросекунд до миллисекунд.
Сценарий применения: Подходит для сред, требующих высокой простоты управления, таких как частные корпоративные облака или тестовые сети. Архитектура Cisco ACI часто использует централизованную модель в сочетании с топологией «лист-магистраль» для обеспечения эффективной работы основных шлюзов.
Распределенный шлюз VXLAN
Распределенный шлюз VXLAN, также известный как распределенный шлюз или шлюз Anycast, перекладывает функциональность шлюза на каждый коммутатор доступа или VTEP гипервизора. Каждый VTEP действует как локальный шлюз, обрабатывая пересылку L3 для локальной подсети.
Принцип более гибкий: каждый VTEP настраивается с тем же виртуальным IP-адресом (VIP), что и шлюз по умолчанию, с использованием механизма Anycast. Межподсетевые пакеты, отправляемые виртуальными машинами, маршрутизируются непосредственно на локальном VTEP, минуя центральную точку. Здесь особенно полезен EVPN: с помощью BGP EVPN VTEP изучает маршруты удаленных хостов и использует привязку MAC/IP для предотвращения ARP-флудинга.
Например, виртуальная машина A (10.1.1.10) хочет получить доступ к виртуальной машине B (10.2.1.10). Шлюзом по умолчанию для виртуальной машины A является VIP-адрес локального VTEP (10.1.1.1). Локальный VTEP направляет пакет в целевую подсеть, инкапсулирует его в пакет VXLAN и отправляет напрямую в VTEP виртуальной машины B. Этот процесс минимизирует путь и задержку.
Выдающиеся преимущества:
○ Высокая масштабируемостьРаспределение функциональности шлюза на каждый узел увеличивает размер сети, что выгодно для больших сетей. Крупные облачные провайдеры, такие как Google Cloud, используют аналогичный механизм для поддержки миллионов виртуальных машин.
○Превосходные характеристикиОбработка трафика между востоком и западом осуществляется локально, чтобы избежать узких мест. Данные тестирования показывают, что пропускная способность в распределенном режиме может увеличиться на 30-50%.
○Быстрое восстановление после сбоевСбой одного VTEP затрагивает только локальный хост, оставляя другие узлы незатронутыми. В сочетании с быстрой сходимостью EVPN время восстановления составляет секунды.
○Рациональное использование ресурсовИспользуйте существующий ASIC-чип коммутатора Leaf для аппаратного ускорения, обеспечивая скорость пересылки данных на уровне Тбит/с.
Какие есть недостатки?
○ Сложная конфигурацияДля каждого VTEP требуется настройка маршрутизации, EVPN и других функций, что делает первоначальное развертывание трудоемким процессом. Операционная группа должна быть знакома с BGP и SDN.
○Высокие требования к аппаратному обеспечениюРаспределенный шлюз: Не все коммутаторы поддерживают распределенные шлюзы; требуются чипы Broadcom Trident или Tomahawk. Программные реализации (например, OVS на KVM) работают хуже, чем аппаратные.
○Проблемы с согласованностьюРаспределенная архитектура означает, что синхронизация состояния основана на EVPN. Если сессия BGP колеблется, это может привести к образованию «черной дыры» маршрутизации.
Сценарий применения: Идеально подходит для гипермасштабных центров обработки данных или публичных облаков. Распределенный маршрутизатор VMware NSX-T — типичный пример. В сочетании с Kubernetes он обеспечивает бесперебойную работу контейнерных сетей.
Централизованный шлюз VxLAN против распределенного шлюза VxLAN
А теперь перейдём к кульминации: что лучше? Ответ: «зависит от обстоятельств», но нам нужно глубоко изучить данные и примеры из практики, чтобы убедить вас.
С точки зрения производительности, распределенные системы явно превосходят другие. В типичном тесте производительности центров обработки данных (на основе тестового оборудования Spirent) средняя задержка централизованного шлюза составляла 150 мкс, тогда как у распределенной системы — всего 50 мкс. Что касается пропускной способности, распределенные системы легко достигают скорости пересылки данных на уровне линии связи, поскольку они используют маршрутизацию Spine-Leaf Equal Cost Multi-Path (ECMP).
Масштабируемость — еще одно поле битвы. Централизованные сети подходят для сетей со 100-500 узлами; при большем масштабе распределенные сети получают преимущество. Возьмем, к примеру, Alibaba Cloud. Их VPC (виртуальное частное облако) использует распределенные шлюзы VXLAN для поддержки миллионов пользователей по всему миру, обеспечивая задержку в одном регионе менее 1 мс. Централизованный подход давно бы потерпел крах.
А как насчет стоимости? Централизованное решение предлагает меньшие первоначальные инвестиции, требуя лишь нескольких высокопроизводительных шлюзов. Распределенное решение требует, чтобы все конечные узлы поддерживали разгрузку VXLAN, что приводит к более высоким затратам на модернизацию оборудования. Однако в долгосрочной перспективе распределенное решение предлагает более низкие эксплуатационные расходы, поскольку инструменты автоматизации, такие как Ansible, позволяют выполнять пакетную настройку.
Безопасность и надежность: Централизованные системы обеспечивают централизованную защиту, но сопряжены с высоким риском атак на отдельные точки. Распределенные системы более отказоустойчивы, но требуют надежной плоскости управления для предотвращения DDoS-атак.
Пример из реальной жизни: компания электронной коммерции использовала централизованную сеть VXLAN для создания своего сайта. В пиковые периоды загрузка ЦП шлюза взлетала до 90%, что приводило к жалобам пользователей на задержки. Переход на распределенную модель решил проблему, позволив компании легко удвоить свои масштабы. И наоборот, небольшой банк настаивал на централизованной модели, поскольку уделял приоритетное внимание проверкам на соответствие требованиям и считал централизованное управление более удобным.
В целом, если вам нужна максимальная производительность и масштабируемость сети, то распределенный подход — это то, что вам нужно. Если ваш бюджет ограничен, а у вашей управленческой команды нет опыта, более практичным будет централизованный подход. В будущем, с развитием 5G и периферийных вычислений, распределенные сети станут более популярными, но централизованные сети по-прежнему будут ценны в определенных сценариях, таких как межфилиальное взаимодействие.

Сетевые пакетные брокеры Mylinking™Поддержка удаления заголовков VxLAN, VLAN, GRE, MPLS.
Поддерживается удаление заголовков VxLAN, VLAN, GRE, MPLS из исходного пакета данных и их пересылка на выходной ресурс.
Дата публикации: 09.10.2025
