Материал переведен. Ссылка на оригинал

В начале 2021 г. Namex IXP начала развертывание своей пиринговой платформы нового поколения — активной инфраструктуры, которая лежит в основе их сетевого взаимодействия. Новая платформа основана на архитектуре IP-фабрики с VXLAN в качестве overlay сети и BGP EVPN в качестве control plane протокола. Разработка этого проекта началась еще в марте 2020 года, основными техническими партнерами которого были Mellanox и Cumulus Networks (которые сейчас являются частью компании NVIDIA).

Прежде чем углубляться в детали, я приведу краткую историческую справку, которая поможет понять причины и способствующие факторы, приведшие к таким техническим решениям.

Масштабирование и сложность: эволюция пиринговой платформы

Проработав инженером технической поддержки Namex почти 20 лет, мне посчастливилось поучаствовать в разработке нескольких поколений основной пиринговой платформы. Далее последует краткое описание того, как происходила эта эволюция и предпосылки к ней. Но имейте ввиду: здесь описана лишь эволюция Namex, и не предполагается, что это путь каждой Internet Exchange во вселенной, но тем не менее он может отражать опыт других IXP, которые разрослись от небольшого ядра до пользовательских баз среднего размера.

В самой примитивной форме пиринговая платформа представляет собой инфраструктуру, которая обеспечивает L2 связанность между пользовательскими (CE) маршрутизаторами, в еще более простой форме: это коммутатор с виртуальными локальными сетями (VLAN)!

Ключевые особенности, являющиеся определяющими для технологий пиринговой платформы, можно резюмировать следующим образом:

  • Плотность портов: общее количество сетевых портов (портов коммутатора), которые могут быть предоставлены пользователям.

  • Технология портов: тип (т.е. скорость и среда передачи данных) портов, которые могут быть предоставлены пользователям.

  • Коммутационная способность: общая пропускная способность сети, которую поддерживает платформа.

  • Отказоустойчивость: способность платформы обеспечивать непрерывность обслуживания, даже когда некоторые ее части выходят из строя. Это подразумевает определенный уровень избыточности как железа, так и программных компонентов.

  • Обслуживаемость: простота использования, настройки и устранения неполадок платформы в целом.

Факторов, определяющих эволюцию, в основном два, и они взаимосвязаны: управление масштабом и связанной с ним сложностью. Подробнее мы обсудим это чуть позже.

Истоки: монолиты

Поначалу у нас были довольно громоздкие коммутаторы...

В начале 2000-х годов особого выбора коммутаторов не было и только одна архитектура подходила по всем главным критериям. Она представляла собой монолитный модульный коммутатор состоящий из корпуса, поддерживающего распределение питания, шины данных и нескольких линейных карт для решения некоторых задач, связанных с подключением.

Раньше пиринговые коммутаторы были большими и тяжелыми
Раньше пиринговые коммутаторы были большими и тяжелыми

Когда я только пришел в Namex, пиринговая платформа состояла из пары коммутаторов Cabletron SSR-8000, оснащенных в основном линейными картами FastEthernet и несколькими (оптоволоконными) картами GigabitEthernet. Плотность портов была достаточно скромной, но соответствовала размеру пользовательской базы. Отказоустойчивость и избыточность достигались в основном за счет наличия сразу двух устройств, поддерживающих две логически и физически разделенные пиринговые локальные сети. У пользователей была возможность подключаться к одной или обеим локальным сетям с разными IP-адресами. По сути, это была сеть звездообразной топологии, без необходимости управлять межкоммутаторными соединениями со всеми вытекающими петлевыми сложностями.

С ростом пользовательской базы естественным решением стало заменить каждое устройство на устройство побольше, в данном случае выбор пал на Enterasys Matrix N7 и Cisco Catalyst 6509-E, которые с некоторыми ограничениями позволяли нам использовать 10-гигабитный Ethernet.

Эта архитектура достигла своих пределов примерно через 5-6 лет эксплуатации. Прирост масштаба мог быть обеспечен только за счет использования более крупных и массивных коммутаторов, что также давало нежелательные побочные эффекты, например концентрация всех сетевых подключений в двух горячих точках, в то время как датацентр рос и абонентское оборудование заполняло все больше пространства.

Первым временным решением стало добавление третьего коммутатора (а именно, Cisco Catalyst 6506-E), который был добавлен к уже существующей паре для увеличения плотности портов. Так появилась необходимость в межкоммутаторных соединениях и, как следствие, в дополнительном управлении сложностью, что в конечном итоге привело к появлению платформ второго поколения.

Второе поколение: коммутационные матрицы (switching fabrics)

Армия небольших, хорошо скоординированных коммутаторов…

В 2012–2013 годах из-за постоянного роста потребительской базы и расширения площади датацентра технологический прорыв был просто неизбежен. Предыдущий опыт показал, что масштабироваться можно, добавляя новые устройства, а не увеличивая существующие. К тому же, в то время поставщики, движимые тенденциями к росту датацентров и виртуализации, начали предлагать модели коммутаторов, которые были меньше по размеру и с большей плотностью портов. Но в стремлении найти топологическую схему, которая бы одновременно была бы и отказоустойчивой и без петель (loop-free), добавление коммутаторов добавило головной боли в виде сложности сети.

К счастью, в то время поставщики выводили на рынок несколько технологий, которые попадали в категорию так называемых коммутационных матриц (switching fabrics): эти механизмы позволяли соединять коммутаторы несколькими путями без необходимости напрямую управлять протоколами предотвращения образования петель, таким как STP.

Выбор пал на Brocade (ныне приобретенная Extreme Networks) с ее технологией коммутации виртуальных кластеров (Virtual Cluster Switching), поддерживаемой протоколом TRILL, которая используется в коммутаторах серии VDX. Эта технология позволила нам спроектировать сеть, состоящую из шести узлов, связанных между собой mesh-сетью 2x10G каналов. Узлы включали пару коммутаторов Brocade VDX-8770 (с меньшим, более компактным модульным корпусом) и четыре легких top-of-rack коммутатора  Brocade VDX-6740. О всей топологии (петлях!) и вопросах балансировки трафика автомагически позаботился внутренний протокол TRILL, а всей платформой можно было управлять, как единым логическим коммутатором.

Первоначальное архитектурное предложение Brocade для платформы второго поколения Namex
Первоначальное архитектурное предложение Brocade для платформы второго поколения Namex

Внедрение коммутационной матрицы стало крупным прорывом в эволюции пиринговых платформ Namex, которые вывели несколько ключевых концепций, которые послужили движущими факторами для будущих разработок:

  • Масштабирование за счет увеличения количества узлов.

  • Освобождение от излишней сложности с помощью прозрачного (TRILL) протокола управления.

  • Внедрение некоторого подобия Spine-Leaf архитектуры (в данном случае — не чистого варианта архитектуры).

  • Сокращение занимаемой площади и энергопотребления (и расходов) с помощью более компактных и эффективных устройств.

В целом, коммутатор Brocade VCS показал себя как правильное решение и доказал свою эффективность, отказоустойчивость и стабильность, до сих пор работая безупречно (поскольку он все еще находится в продакшене до полного развертывания новой платформы). С появлением потребности в 100 Гбит/с выявились присущие ему ограничения, поскольку платформа VDX имела ограниченную поддержку 100-гигабитного Ethernet в виде 4-портовых линейных карт с устаревшими портами CFP2, исключительно на корпусе серии 8770.

Это подтолкнуло нас к последнему рывку в создании платформ следующего поколения...

Новое поколение: IP-фабрики (IP fabrics)

Старый добрый IP и BGP пришли на помощь...

Коммутационные матрицы проложили дорогу для развития другого подхода к проектированию больших межсетевых L2 платформ, но в то же время производители постепенно отказывались от технологий коммутационных матриц в пользу IP-фабрик и overlay сетей. Примерно в 2017/2018 годах, когда стала нависать потребность в подключении 100-гигабитного Ethernet, потребовался новый эволюционный скачок.

Рекомендации по проектированию новой платформы в целом основывались на предыдущем опыте:

  • Масштабируемость за счет добавления узлов в сочетании с чистой leaf-spine архитектурой.

  • В основном прозрачный протокол управления.

  • Поддержка более высокой пропускной способности (40G/100G) и плотности портов.

По мере развития пиринговой платформы появилась потребность использовать ее не только в качестве общедоступной инфраструктуры пирингового взаимодействия, но скорее как платформу для поддержки частных межсетевых соединений между пользователями в схеме открытого рынка, на котором любой оператор сети мог бы покупать и продавать услуги поверх L2 сети. Потребность в лучшей обслуживаемости предоставления таких запрашиваемых услуг межсетевого взаимодействия в сочетании со сложностью инфраструктуры, состоящей из десятков независимых узлов, которые должны работать, как единый механизм, выдвигала дополнительные требования к улучшению платформ конфигурации и автоматизации сети в целом.

Более того, чтобы спроектировать по настоящему перспективную архитектуру, которая могла бы удержаться на рынке хотя бы 10 лет (по крайней мере, в своих концептуальных основах), внимание было направлено на полное разделение между аппаратной платформой (узлами) и уровнем программного управления (сетевой операционной системой), что привело нас к концепции открытых сетей (open networking).

Все эти факторы в конечном итоге привели к выбору NVIDIA Mellanox в качестве поставщика оборудования вместе с NVIDIA Cumulus Linux в качестве сетевой ОС в сочетании с разработанной нами от начала и до конца платформой конфигурации на основе Ansible.

Платформа состоит из двух spine узлов Mellanox SN2700 (32 порта по 100G) с четырьмя узлами Mellanox SN2100 (16 портов по 100G) и четырех Mellanox SN241048 (48 портов по 10G + 8 портов по 100G). Каждый leaf узел связан с помощью 2x100G каналов с любым spine узлом, таким образом на выходе от любого leaf узла получая шину в 400G.

 

Базовая архитектура платформы нового поколения Namex 
Базовая архитектура платформы нового поколения Namex 

Основные особенности реализации IP-фабрики на базе VXLAN и BGP/EVPN:

  • Все узлы должным образом сообщаются между собой, как L3 устройства (маршрутизаторы).

  • Пользовательский трафик коммутируется на узле локально, но маршрутизируется по мере прохода между различными узлами.

  • Пользовательский трафик, входящий в leaf узел и направляющийся в удаленный leaf узел, упаковывается в UDP пакеты, а затем маршрутизируется между узлами.

  • Тоннели устанавливаются между любыми leaf узлами, которые обеспечивают упаковку и перенаправление L3 в фреймы L2.

  • Протокол BGP служит для обмена информации о достижимости MAC-адреса между узлами, с помощью дополнительного семейства «evpn» адресов.

  • BGP ECMP (Equal Cost Multipath) используются для балансировки трафика по нескольким путям между leaf узлами

В двух словах, использование IP в качестве базового протокола «фабрики» в сочетании с протоколом BGP для динамичного управления путями данных обеспечивает стабильность и простоту использования, тем самым окончательно преодолевая проблемы сложности mesh сетей L2. Более подробно мы углубимся в технические детали в следующей части.

Материал переведен. Ссылка на оригинал


Материал подготовлен в рамках курса "Network engineer". Если вас интересует развитие в работе с сетями с нуля до Pro, предлагаем узнать про специализацию.

Также всех желающих приглашаем на двухдневный онлайн-интенсив "Настройка небольшого офиса".

Комментарии (0)