Чтобы обсудить шлюзы 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 позволяет этим ВМ воспринимать себя как часть одной сети второго уровня, обеспечивая бесперебойную передачу широковещательных сообщений 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, также называемый централизованным шлюзом или шлюзом уровня 3, обычно разворачивается на периферийном или центральном уровне центра обработки данных. Он действует как центральный концентратор, через который проходит весь трафик между 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. Представьте себе многопользовательскую среду, где централизованный шлюз может легко изолировать трафик арендаторов.
Но нельзя игнорировать и недостатки:
○ Единая точка отказаВ случае отказа шлюза связь уровня 3 во всей сети парализуется. Хотя протокол 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 мкс. Что касается пропускной способности, распределённые системы легко могут обеспечить пересылку на уровне линии, поскольку используют маршрутизацию ECMP (Equal Cost Multi-Path) по схеме Spine-Leaf.
Масштабируемость — ещё одно поле битвы. Централизованные сети подходят для сетей с 100–500 узлами; при превышении этого масштаба распределённые сети получают преимущество. Возьмём, к примеру, Alibaba Cloud. Их VPC (виртуальное частное облако) использует распределённые шлюзы VXLAN для поддержки миллионов пользователей по всему миру с задержкой в одном регионе менее 1 мс. Централизованный подход давно бы потерпел крах.
Что касается стоимости? Централизованное решение требует меньших первоначальных инвестиций и всего нескольких высокопроизводительных шлюзов. Распределённое решение требует, чтобы все конечные узлы поддерживали разгрузку VXLAN, что приводит к более высоким затратам на обновление оборудования. Однако в долгосрочной перспективе распределённое решение обеспечивает более низкие затраты на эксплуатацию и обслуживание, поскольку инструменты автоматизации, такие как Ansible, позволяют выполнять пакетную настройку.
Безопасность и надёжность: Централизованные системы обеспечивают централизованную защиту, но создают высокий риск атак из отдельных точек. Распределённые системы более устойчивы, но требуют надёжной плоскости управления для предотвращения DDoS-атак.
Пример из реальной практики: компания электронной коммерции использовала централизованную сеть VXLAN для создания своего сайта. В периоды пиковой нагрузки загрузка процессора шлюза взлетала до 90%, что приводило к жалобам пользователей на задержки. Переход на распределённую модель решил проблему, позволив компании легко удвоить масштаб. В свою очередь, небольшой банк настаивал на централизованной модели, поскольку для него аудит соответствия был приоритетным, и централизованное управление было проще.
В целом, если вам нужна исключительная производительность и масштабируемость сети, распределённый подход — это наилучший вариант. Если ваш бюджет ограничен, а у руководства недостаточно опыта, централизованный подход более практичен. В будущем, с развитием 5G и периферийных вычислений, распределённые сети станут более популярными, но централизованные сети по-прежнему будут полезны в определённых сценариях, например, для объединения филиалов.
Сетевые брокеры пакетов Mylinking™поддержка VxLAN, VLAN, GRE, удаления заголовков MPLS
Поддерживаются заголовки VxLAN, VLAN, GRE, MPLS, вырезанные из исходного пакета данных и пересылаемые выходные данные.
Время публикации: 09 октября 2025 г.