Щоб обговорити шлюзи 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. Уявіть собі центр обробки даних з тисячами серверів, кожен з яких працює на десятках віртуальних машин (VM). 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, який також називають централізованим шлюзом або шлюзом 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 (протокол резервування віртуального маршрутизатора) можна використовувати для резервування, він все одно несе ризики.
○Вузьке місце продуктивностіВесь східно-західний трафік (зв'язок між серверами) має обходити шлюз, що призводить до неоптимального шляху. Наприклад, у кластері з 1000 вузлів, якщо пропускна здатність шлюзу становить 100 Гбіт/с, у години пік ймовірно виникне перевантаження.
○Погана масштабованістьЗі зростанням масштабу мережі навантаження на шлюз зростає експоненціально. У реальному прикладі я бачив фінансовий центр обробки даних, який використовував централізований шлюз. Спочатку він працював безперебійно, але після того, як кількість віртуальних машин подвоїлася, затримка різко зросла з мікросекунд до мілісекунд.
Сценарій застосування: Підходить для середовищ, що вимагають високої простоти управління, таких як приватні хмари підприємства або тестові мережі. Архітектура ACI Cisco часто використовує централізовану модель у поєднанні з топологією «лист-хребет» для забезпечення ефективної роботи основних шлюзів.
Розподілений шлюз 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 для апаратного прискорення, зі швидкістю пересилання, що досягає рівня Tbps.
Які недоліки?
○ Складна конфігураціяКожен 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 жовтня 2025 р.