Всем привет. У меня здесь было интервью и возникла идея следующей части серии статей, посвященный запуску курса «Сетевой инженер» от ОТУС , сделайте его более теоретическим, чтобы ответить на некоторые вопросы, с которыми я столкнулся во время интервью.
Многие вещи здесь будут скорее базового уровня с точки зрения VxLAN и не должны вызывать затруднений.
- Часть 1 цикла — L2-связность между серверами
- Часть 2 серии — Маршрутизация между VNI
I. Откуда структура VxLAN узнает о MAC-адресах?
Да, мы уже разобрались, что MAC- и IP-адреса передаются по маршруту EVPN типа 2. Но как EVPN о них узнает? Все достаточно просто и работает аналогично логике обычного VLAN:- Кадр от источника поступает в порт коммутатора (VTEP)
- Коммутатор, если он не знает исходный MAC-адрес, записывает его в свою таблицу TCAM.
- Поскольку коммутатор выполняет функцию VTEP, он передает информацию об исходных MAC- и IP-адресах по маршруту EVPN типа 2 (как именно, зависит от заводских настроек.
В нашем случае используется Route-reflector(RR), поэтому информация отправляется в РР и от него в остальные ВТЭП)
С источником все понятно, а что делать с Назначением? В конце концов, хост-источник, скорее всего, не знает MAC-адрес назначения и отправит запрос ARP. Появятся два варианта:
- не используйте функцию Suppress-ARP
- используйте функцию Suppress-ARP
При получении широковещательного запроса VTEP отправит его дальше в пределах VNI, от которого пришел запрос.
То есть этот запрос будет разослан по всей фабрике в виде одноадресных сообщений.
Во втором случае при получении ARP-запроса VTEP сам отвечает ARP-ответом, и ARP REQ дальше не отправляется.
Однако эта логика работает только в том случае, если VTEP уже знает MAC-адрес назначения.
Если адрес неизвестен, то пойдем по первому пути.
Более подробно работу и настройку Suppress-ARP я рассмотрел в первый части цикла.
II. Почему используется UDP?
Вопрос не менее интересный и ответ довольно простой.Для этого вспомним логику фабрики VxLAN. К кадру, поступающему на порт VTEP, добавляется метка VxLAN с номером VNI. Далее полученный кадр упаковывается в UDP, инкапсулируется в новый IP-пакет и передается по сети Underlay. Так почему же исходный кадр с тегом VxLAN нельзя упаковать в IP и почему необходимо использовать UDP? А все из-за одного поля в заголовке IP-протокола — Protocol, которое указывает, какой протокол выше.
Примеры протоколов и их номера ( вики ):
И в этом весь секрет - у VxLAN нет такого номера, а значит протокол IP не сможет об этом сказать и уважающая себя сеть не пропустит такой пакет, поэтому инженеры обошли эту проблему путем используя протокол UDP.ICMP - 1 TCP - 6 UDP - 17 GRE - 47
Вторая причина использования UDP заключается в методе балансировки трафика, основанном на:
- протокол
- src_ip
- dest_ip
- src_port
- dest_port
И тут может возникнуть второй вопрос — а почему не TCP, ведь он такой надежный и хороший? А все потому, что TCP такой надежный и хороший — он гарантирует доставку и для этой гарантии использует жутко длинные таймеры, проверки, регулирование пропускной способности и т. д. В результате TCP дает большую задержку, которая будет особенно заметна при работе VxLAN-клиента структура также использует TCP.
III. Разница между входной репликацией и многоадресной рассылкой
Тема достаточно обширная и дать ответ в виде краткого пояснения невозможно.Поэтому работа Multicast будет рассмотрена в одной из следующих статей серии.
Однако я попытаюсь дать краткое описание различий между двумя технологиями.
Для начала давайте посмотрим, как передаются пакеты в обоих случаях.
при использовании ingress-репликации — при получении широковещательного трафика (например, ARP-запроса) — запрос инкапсулируется внутри VxLAN и передается каждому VTEP в VxLAN через Unicast-сообщения (например, откажемся от RR).
Поскольку VTEP будет больше 1, широковещательный трафик будет дублироваться:
В случае использования Multicast каждый VTEP для каждого VNI подписывается на определенную группу Multicast. И теперь при получении широковещательного трафика VTEP инкапсулирует ARP-запрос в IP-пакет. В заголовках IP-пакетов адресом назначения является адрес группы многоадресной рассылки для этого VNI, а адресом источника — IP-адрес интерфейса NVE. Например, VNI 10000 связан с группой многоадресной рассылки 225.1.10.10.
Таким образом, мы исключаем дублирование широковещательного трафика.
Плюс при правильной оптимизации трафика работа через Multicast будет более масштабируемой.
Единственная сложность заключается в том, что базовая сеть должна поддерживать Multicast-трафик.
Если у вас возник вопрос — Зачем вообще понадобился EVPN, если через Multicast всё может прекрасно работать, ведь это более масштабируемое решение? Здесь довольно сложно дать ответ и вам придется самостоятельно решить, какую технологию использовать.
На данный момент Multicast действительно является более масштабируемым решением.
Но EVPN постоянно совершенствуется и в нем появляются новые типы маршрутов для передачи все большего количества информации о сети для более гибкой настройки.
Кроме того, EVPN построен на основе BGP, а значит, можно использовать все методы оптимизации, которые присутствуют в самом BGP (например, мой стенд уже использует RR для уменьшения BUM-трафика и оптимизации рекламируемой информации).
Это получилась довольно маленькая часть, но думаю она поможет прояснить некоторые моменты в понимании технологии.
OSPF IPv6. Практические навыки
Теги: #cisco #cisco #Сетевые технологии #nexus #EVPN #vxlan
-
Будущее С Ar
19 Oct, 24