Решения компании Extreme Networks «Extreme Automated Campus» обеспечивают возможность одновременного использования множества путей передачи и быстрого восстановления в случае аварии. Сеть, состоящая из множества физических коммутаторов, представляет собой один распределённый. Трафик, при этом, всегда идет по кратчайшему доступному пути.
«Extreme Automated Campus» — это в основе своей построение Ethernet Fabric на основе симбиоза стандартов IEEE 802.1ah, 802.1aq и RFC6329. Как это работает, почему это легко и удобно инсталлируется, масштабируется и администрируется раскроем в нашей статье.

“Data plane” фабрики — это реализация IEEE 802.1ah, когда ethernet пакет полностью, вместе с заголовком, инкапсулируется в новый ethernet пакет, собственно поэтому он и называется MAC-in-MAC или еще PBB (Provider Backbone Bridges). Так как MAC-in-MAC уже поддерживается аппаратно большинством выпускаемых на рынок чипсетов, это, собственно, и предопределило его большую популярность в сравнении с протоколом TRILL.

В заголовке 802.1ah, кроме MAC адресов и номера backbone VLAN, которые необходимы для пересылки пакетов между нодами фабрики, также передается поле I-SID (Individual Service ID), которое определяет принадлежность пользовательского трафика к тому или иному сервису. I-SID поле имеет длину 24 bit, соответственно теоретически фабрика может коммутировать более 16,7 млн различных сервисов.

«Control Plane» фабрики является протокол SPB «Shortest Path Bridging», который утверждён стандартом IEEE 802.1aq. Сам стандарт описывает два различных режима работы SPBv и SPBm, на основе VLAN и MAC-in-MAC соответственно. В нашем конкретном случае реализован SPBm. Стандарт вводит определенную новую терминологию:

BEB – Backbone Edge Bridge
BCB – Backbone Core Bridge
B-VLAN – Backbone VLAN
C-VLAN — Customer VLAN
UNI – User to Network Interface
NNI – Network to Network Interface
VSN – Virtual Service Network
Сами термины в пояснении не особо нуждаются, ну а тем, кто знаком с MPLS они напомнят такие применяемые термины как P-router, PE-router, LSP, L2/L3VPN …
Непосредственно логика работы SPBm реализуется с помощью протокола IS-IS. В RFC6329 –“IS-IS Extensions Supporting IEEE 802.1aq Shortest Path Bridging” описаны дополнительные TLV необходимые для корректной работы SPB.

Все коммутаторы, включенные в фабрику, сначала устанавливают соседство с помощью IS-IS и затем формируют L1 IS-IS area. Потом каждая нода вычисляет с помощью алгоритма Дейкстры SPT (Shortest Path Tree) от себя ко всем другим нодам. Далее с помощью IS-IS происходит заполнение FIB B-VLAN. Для B-VLAN отключены «flooding, broadcasting, learning», порты вручную тоже добавить нельзя. Собственно, именно поэтому магистральные МАС адреса всегда известны и находятся под операторским контролем, С-МАС инкапсулированы в 802.1ah заголовок и внутри фабрики никакого изучения этих МАС не происходит.
Для Unicast рассчитывается единственный вариант SPT в каждом настроенном B-VLAN. Пример заполненного FIB Unicast может выглядеть следующим образом.
Switch# show isis spbm unicast-fib
================================================================================
SPBM UNICAST FIB ENTRY INFO
================================================================================
DESTINATION BVLAN SYSID HOST-NAME OUTGOING COST
ADDRESS INTERFACE
--------------------------------------------------------------------------------
00:16:ca:23:73:df 1000 0016.ca23.73df SPBM-1 1/21 10
00:16:ca:23:73:df 2000 0016.ca23.73df SPBM-1 1/21 10
00:18:b0:bb:b3:df 1000 0018.b0bb.b3df SPBM-2 MLT-2 10
00:14:c7:e1:33:e0 1000 0018.b0bb.b3df SPBM-2 MLT-2 10
00:18:b0:bb:b3:df 2000 0018.b0bb.b3df SPBM-2 MLT-2 10
--------------------------------------------------------------------------------
Total number of SPBM UNICAST FIB entries 5
--------------------------------------------------------------------------------
Для Multicast вычисляются все возможные пары SPT

Например, для сервиса терминируемого на 4-х BEB будет произведен расчёт 4 SPT для каждого B-VLAN. Каждое такое SPT рассчитывается на основе I-SID сконфигурированного сервиса и BEB который является рутом этого дерева. Каждая SPBM нода имеет свой мультикаст адресс для каждого VSN. Этот адрес (согласно стандарта) состоит из 2-х частей “Nickname/Source B-MAC” + “I-SID”
Например:

Source: 0A-BC-DE / ISID: fe-dc-ba (I-SID 16 702 650)
MMAC-DA: A3-BC-DE-FE-DC-BA
( A-сдвигается на место “MSB” верхних четыре бита; 3 – фиксированое значение)
Пример заполненного multicast FIB:
Switch:1(config)#show isis spbm multicast-fib
==========================================================================================
SPBM MULTICAST FIB ENTRY INFO
==========================================================================================
MCAST DA ISID BVLAN SYSID HOST-NAME OUTGOING-INTERFACES INCOMING
INTERFACE
------------------------------------------------------------------------------------------
03:00:07:e4:e2:02 15000066 1001 0077.0077.0077 Switch-25 1/33 MLT-2
03:00:08:e4:e2:02 15000066 1001 0088.0088.0088 Switch-33 1/50,1/33 40.40.40.40
03:00:41:00:04:4d 1101 4058 00bb.0000.4100 Switch-1(*)1/3,1/49,0.0.0.0 TunnelHQ
03:00:41:00:04:4f 1103 4058 00bb.0000.4100 Switch-1(*)1/3,1/49,0.0.0.0 cpp
------------------------------------------------------------------------------------------
Total number of SPBM MULTICAST FIB entries 4
------------------------------------------------------------------------------------------
Для предотвращения образования петель фабрика использует RPFC (Reverse Path Forwarding Check), логика работы которого обеспечивается также с помощью IS-IS. При RPFC трафик принимается только от валидного «source B-MAC/VLAN», остальные пакеты отбрасываются.
Собственно, после этого остается только прописать необходимые сервисы, настойка которых производится только на границе фабрики (то есть BEB коммутаторах).
Примеры поддерживаемых сервисов представлены ниже.

К особенностям при работе с IP мультикаст потоками необходимо отнести следующее:
- В уже существующем VSN при получении IP мультикаст потока фабрика присваивает служебный I-SID (16000001 — 16600000) и рассылает эту информацию в виде TLV 185/186
- После получения IGMP join в этом VSN, фабрика просчитывает SPT для служебного I-SID и заполняет FIB
Достоинства «Extreme Automated Campus»:
• Работает на открытых стандартах
• Поддержка стандартных инструментов Ethernet OAM – IEEE 802.1ag и ITU-T Y.1731
• IS-IS работает на уровне L2, не требуется настройка IP внутри фабрики
• SPT (Shortest path tree) рассчитывается на основе метрик и при этом нет заблокированных линков
• Нет необходимости настройки STP в ядре фабрики
• Все участники фабрики после расчётов обладают одним и тем же набором SPT
• Симметричный пути между любыми двумя узлами
• RPFC (Reverse Path Forwarding Check) устраняет петли
• Поддержка ECMP (Equal Cost Multiple Paths) для балансировки
• Поддержка рассылки мультикаста “1-many”, “many-1”, “many-many”
• Фабрика является одним виртуальным хопом для пользовательского трафика
• Работа фабрики поверх любой физической топологии: ring, full-mesh, partial-mesh, daisy-chain…
• Высокая масштабируемость до 1000 нод в одной фабрике
• Настройка сервисов только на границе фабрики
• Минимизация человеческого фактора
• Сходимость после сбоев до 200мс
UPD: Образ виртуальной машины VOSS для тестирования «Extreme Automated Campus» можно скачать на github.
Автор: NikolayN