Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фабрики все может быть не так просто.  1 часть цикла — L2 связанность между серверами В прошлой части мы добились одного широковещательного домена, построенного поверх сетевой фабрики на Nexus 9000v. Однако это далеко не весь спектр задач, которые необходимо решить в рамках сети ЦОД. И сегодня мы рассмотрим следующую задачу — маршрутизация между сетями или между VNI. Напомню, что используется топология Spine-Leaf:  Для начала разберем, как происходит маршрутизация и какие есть особенности. Для понимания упростим логическую схему и добавим еще один VNI 20000 для Host-2. В итоге получается:  Как в таком случае можно передать трафик от одного Host к другому? Есть два варианта: Первый способ прост и удобен. Так как требуется всего лишь завести все VNI на все Leaf коммутаторы. Однако завести несколько сотен или тысяч VNI на все Leaf уже не кажется простой задачей. Поэтому в работе он применяется довольно редко.  Разберем 2 способ, как более интересный и чуть более сложный, но дающий большую гибкость в настройке фабрики. Добавим в топологию VRF "PROD". В него добавим interface vlan 10 на паре Leaf-11/12 и interface VLAN 20 на Leaf-21. VLAN 20 ассоциируем с VNI 20000 Для того, чтобы использовать L3VNI необходимо создать новый VLAN, ассоциировать его с новым VNI. Новый VNI должен быть одинаковым на всех Leaf, заинтересованных в информации о VLAN 10 и 20 В результате схема будет представляться так:  Осталось чуть-чуть доделать — добавить еще один интерфейс — interface vlan 99 в VRF PROD В итоге логика прохождения кадра от Host-1 до Host-2 следующая: Результатом такой работы L3VNI убирает необходимость держать на всех Leaf коммутаторах информацию обо всех VNI, которые есть в сети.  В итоге, когда отправляем трафик с Host-1 до Host-2 пакет запаковывается внутрь VxLAN с новым VNI — 99000:  Остается понять, как именно Leaf-1 узнает о MAC адресе из другого VNI. Происходит это так же с помощью EVPN route-type 2 (MAC/IP). Ниже показан процесс распространения маршрута о префиксе, находящемся в другом VNI:  То есть адреса полученные из VNI 20000 имеют два RT.
Напомню, что маршруты полученные из Update попадают в таблицу BGP c Route-target, указанным в настройках VRF (процесс несколько сложнее, однако в рамках данной статьи углубляться не будем).
Сам RT формируется по формуле: AS:VNI(если используется автоматический режим). В результате выше видно, что префиксы из другого VNI имеют два значения RT.
Одно из них 65001:99000 — дополнительный L3 VNI. Так как этот VNI одинаковый на всех Leaf и попадает под наши правила import в настройках VRF — префикс попадает в таблицу BGP, что можно увидеть из вывода: Если посмотрим более внимательно на полученный update, то видно, что данный префикс имеет два RT: В таблице маршрутизации на Leaf-1 так же можно наблюдать префикс 192.168.20.20/32: Заметили отсутствие основного префикса 192.168.20.0/24 в таблице маршрутизации?
Точно, его там нет. То есть удаленные Leaf получают информацию только о хостах, что есть в вашей сети. И это правильное поведение. Выше во всех update видно, что приходит информация с содержанием MAC/IP. Ни о каких префиксах речи не идет.  Это работает протокол Host Mobility Manager(HMM), который заполняет ARP таблицу из которой дальше заполняется BGP таблица(в рамках данной статьи опустим этот процесс). На основе информации полученной из HMM формируются EVPN route-type 2 (передается MAC/IP). Однако, что делать, если есть необходимость передать информацию о каком-либо префиксе? Для такого вида информации существует EVPN route-type 5 — позволяет передавать префиксы через address-family l2vpn evpn (данный тип маршрутов на момент написания статьи находится только в draft версии RFС, из-за этого у разных производителей может отличаться поведение работы этого типа маршрута) Для передачи префиксов, необходимо в процессе BGP для VRF добавить префиксы, которые будут анонсироваться: В итоге в Update будет:  Посмотрим таблицу BGP. Помимо EVPN route-type 2,3 появились маршруты 5 типа, которые содержат информацию о номере сети: В таблице маршрутизации префикс так же появился: На этом закончим вторую часть цикла статей по VxLAN EVPN. В следующей части рассмотрим различные варианты маршрутизации между VRF. Основы протокола IPv6 и его отличия от IPv4 Сетевой администратор