Ethernet Network Processor: Архитектурные инновации для реализации SDN в Agile-коммутаторах Huawei S12700
Множество показателей, таких как пропускная способность, задержки, управляемость и безопасность используются для оценки производительности сетевых устройств. Среди других показателей, наиболее важный – технолгия форвардинга. Микросхемы ASIC (Application Specific Integrated Circuit) позволили увеличить емкость коммутаторов с 10/100 Мбит/с до N Гбит/с и N x 10 Гбит/с, однако сегодня новые сервисы электронной коммерции, онлайн медиа, BYOD, продолжают увеличивать объемы трафика, требования к функциональности и гарантиям качества. Эффективным решением для современных ИТ задач призвана стать архитектура SDN (Software Defined Networking), предполагающая управление потоками данных и интеграцию с системами управления для взаимодействия сети, пользователей и приложений.
В этой статье мы расскажем об архитектурном решении Huawei Enterprise – сетевым процессоре Ethernet ENP (Ethernet Network Processor), созданном для увеличения производительности при внедрении SDN архитектуры. Решение ENP стало технологической основой функциональности Alige-коммутаторов Sx700, первым из которых стал S12700. В дальнейшем Huawei планирует использовать ENP в S9700, S7700 и младших моделях коммутаторов.
Инструментальные средства для разработки новой функциональности включают процессоры ASIC и сетевые процессоры NP (Network Processor). Преимущество ASIC в быстродействии и надежности, преимущество NP в гибкости и программируемости. Однако, при высокой производительности, ASIC микросхемы поддерживают только предопределенные алгоритмы обслуживания и фиксированный набор протоколов. Поэтому, наиболее существенная проблема в ASIC технологии – невозможность гибкого расширения функциональности. В примере ниже показана фиксированная схема аппаратного форвардинга в L3 коммутаторах. Добавление нового алгоритма, например MPLS или SDN требует корректировки цепочки, однако, изменение аппаратного дизайна микросхемы может занять годы.
![image](https://habrastorage.org/getpro/habr/post_images/228/108/a53/228108a53a82d9bd05810c56c59d118f.jpg)
Коммерческие NP разработаны, как альтернатива ASIC для реализации сложных схем программной обработки трафика, безопасности и качества обслуживания – например L4-L7 анализа, криптографии, управление очередями. Вместо аппаратной логики ASIC, NP предлагают программно конфигурируемые вычислительные ресурсы для быстрого внедрения новых приложений.
Коммерческие NP разделяют задачи между отделенными вычислительными ресурсами NPU (Network Processing Unit) – набором процессоров, собранном вместе для увеличения производительности. Каждой группе процессоров соответствует выделенная область памяти инструкций, описывающих алгоритмы выполнения задач с помощью программного кода, что дает возможность внедрить новые сетевые протоколы и сценарии обработки данных без необходимости изменения аппаратного дизайна микросхем. К примеру, IPv6 и соответствующие таблицы маршрутов, новые типы туннелирования или криптование трафика могут быть реализованы в NP за счет изменения микрокода, тогда как использование технологии ASIC потребует замену оборудования. При этом, неправильное планирование ресурсов может привести к простою одних и перегрузке других NPU, что приводит к появлению «узких мест» и деградации производительности. Еще одним недостатком NP является огра-ниченность размера инструкций и производительности группы NPU, особенно при необходимости внедрения более ресурсоемких задач, чем планировалось при разработке NP.
![image](https://habrastorage.org/getpro/habr/post_images/fab/e3b/af6/fabe3baf6132f6cc429343dda104d336.jpg)
Комбинирование набора процессоров на единой платформе дает возможность увеличить производительность NP до уровня ASIC. Кроме того, рост скорости обработки данных обеспечивается за счет аппаратного наращивания тактовой частоты микросхемы. Однако, обратной стороной наращивания конфигурации и тактовой частоты является рост энергопотребления.
Основываясь на более чем 20-летнем опыте R&D в микроэлектронике, Huawei разработал следующее поколение NP – Ethernet NP (ENP), которые учитывают:
- новые функциональные требования, в частности, архитектуры SDN, которая предполагает коммутацию большого количества потоков данных и использование отдельных маршрутных таблиц, которые определяет контроллер сети по протоколу OpenFlow;
- снижения энергосбережения, в противовес существенному росту мощности устройств, основанных на коммерческих NP;
- снятия ограничений на объем инструкций и улучшения быстродействия памяти.
Уникальными решениями в дизайне Huawei ENP стали: единая область инструкций, оптимизированная память Smart Memory, таблица пересылки на миллионы записей и энергосбережение.
![image](https://habrastorage.org/getpro/habr/post_images/7cc/314/0e4/7cc3140e40d01e07a44e49d56c64400e.jpg)
Единая область инструкций
В отличии от стандартной реализации на коммерческих NP, область инструкций ENP не закреплена за каждой из групп NPU, а единая на все процессорные группы. Каждая из групп NPU может исполнять любой набор инструкций – от анализа заголовков до модификации данных. Таким образом, функциональность не должна распределяться между различными группами NPU, а все ресурсы доступны для выполнения любой из задач. Решение Huawei исключает проблему распределения функций для планирования производительности, снижает время на разработку новой функциональности.
Кроме того, ENP имеет несколько параллельных цепочек обработки данных – так увеличивается производительность и оптимизируется работа интерфейсов ввода/вывода. В частности:
- ENP может выполнять параллельную обработку протоколов разных уровней L2, L3, MPLS, VPN;
- Ввиду того, что размер инструкций для NPU группы в коммерческих NP ограничен, сложные сервисы разносились на несколько NPU групп, которые выполняли свои задачи последовательно; единая область инструкций в ENP позволяет выполнять сервис на одной группе NPU, поскольку размер инструкций может быть существенно увеличен.
Smart Memory
Как микропроцессоры ASIC, так и большинство коммерческих NP разделяют функции обработки и хранения данных. Взаимодействие с элементами памяти создает задержку, а исполнение в отдельных модулях увеличивает энергопотребление. Поэтому в своем решении Huawei интегрировал элементы памяти Smart Memory в ENP и тем самым оптимизировал скорость обмена данными.
Smart Memory объединяет функциональность хранения маршрутных таблиц и поиска маршрутов, а также способен обрабатывать трафик, выполняя в частности ограничения скорости передачи данных или участвуя в сборе статистики.
Миллионы записей в таблице пересылки
Гибридное SDN решение Huawei Enterprise параллельно использует уровень OpenFlow и уровень традиционной маршрутизации для управления пересылкой данных. Такой подход позволяет осуществлять плавную миграцию к SDN архитектуре, не нарушая работу существующих сервисов. Аналогичное решение используется и другими участниками рынка, однако встроенные таблицы потоков в ASIC решениях обладают небольшим размером. Одним из индустриальных решений является использование внешних модулей TCAM (Ternary Content Addressable Memory), которые комбинируют таблицу пересылки, QoS и пакетные фильтры. Однако такие решения также ограничены по быстродействию и размерам таблиц.
В решении ENP поддерживается до 16 миллионов потоков данных, что обеспечивает возможности гибкого управления сервисами для десятки тысяч сотрудников кампуса.
Энергосбережение
Энергопотребление микросхем ASIC фиксированное и обычно ниже, чем у коммерческих NP. Решение ENP уменьшает энергопотребление в зависимости от объема трафика и сложности обработки, поскольку ENP способен блокировать неиспользуемые группы NPU. Когда трафик увеличивается, ENP активирует ресурсы в течение нескольких наносекунд. Успешность этого механизма проверена тестовыми лабораториями, которые зафиксировали способность коммутаторов Huawei справляться с резким всплеском объема трафика.
![image](https://habrastorage.org/getpro/habr/post_images/dd3/c29/613/dd3c29613a5c0f71113a6717aa143a45.jpg)
Энергопотребление микросхемы прямопропорционально зависит от тактовой частоты. Поэтому в решении ENP, Huawei интегрировал спидометр, контроллеры напряжения и синхронизации. Спидометр находится на пути следования данных к группам NPU для мониторинга объема трафика. Изменения скорости данных приводят к изменениям тактовой частоты канала данных. В то же время, изменения числа пакетов приводят к регулировке количества активных пакетных процессоров. Если группа NPU блокирована, то на процессоры не подается электропитание и синхронизация. При необходимости, процессоры моментально включаются в работу.
![image](https://habrastorage.org/getpro/habr/post_images/f29/626/045/f29626045d47df4b3d7e8a76954f8bbc.jpg)
Приложения ENP
Huawei Enterprise применяет процессоры ENP в интерфейсных модулях 1GE и 10GE, которые рекомендованы для подключения агрегирующих коммутаторов уровня доступа и реализации расширенной функциональности. При этом, магистральные интерфейсы 10GE, 40GE и 100GE формируются модулями, использующими ASIC архитектуру для достижения максимальной производительности и поддержки MPLS.
Для сохранения работоспособности существующих приложений и сетевых решений, Huawei Enterprise реализовал решение, называемое «гибридным OpenFlow», который параллельно обеспечивает работу:
- функций коммутации и маршрутизации (3 млн. маршрутных записей IPv4, 1 млн. IPv6, 128 тыс. IP мультикаст, 1 млн. МАС и 256 тыс. пакетных фильтров),
- SDN для управления потоками данных (16 млн. потоков).
Реализация SDN в решении Huawei POF (Protocol Oblivious Forwarding) базируется на стандарте OpenFlow и обратно совместима с ним для возможности взаимодействия с другими производителями. Технология POF отличается возможностями работать с любыми протоколами и нестандартными пакетами, тогда как стандарт OpenFlow предполагает только лишь операции с IP. Процессоры ENP расширяют возможности Huawei по работе с новыми протоколами, которые могут быть внедрены программным путем, тогда как реализации SDN на базе ASIC лишает производителей гибкости.
Практическим примером использования SDN решения Huawei Enterprise является инкапсуляция данных и добавление в заголовки пакетов пользовательской информации. В тестовой схеме собранной Miercom, было проверено формирование нестандартного пакета, содержащего информацию о месторасположении отправителя. Дополнительная информация в дальнейшем использовалась для идентификации потока данных и направления его по сети.
Кроме SDN, интерфейсные модули на основе ENP поддерживают расширенную функциональность агрегирования трафика беспроводного доступа, реализуют контроль качества и локализацию аварий. Решение по абонентскому агрегированию включает распределенный контроллер доступа АС (Access Controller) и сервер удаленного доступа BRAS (Broadband Remote Access Server), что превращает коммутатор Huawei S12700 в высокопроизводительный концентратор трафика WiFi, способного объединить до 4 тысяч точек доступа AP (Access Point), обслуживающих до 65 тысяч одновременных подключений. Суммарная пропускная способность решения – 800 Гбит/с. Для удобства управления АР и удаленными портами агрегирующих коммутаторов в Agile-решении Huawei реализована тех-нология объединяющей виртуальной фабрики SVF (Super Virtual Fabric). SVF представляет удаленные АР и порты коммутаторов доступа, как виртуализированные порты S12700, а технология управления и настройки беспроводных точек доступа CAPWAP (Control And Provisioning of Wireless Access Points), позволяет централизовано управлять программным обеспечением, конфигурациями и текущими настройками сети АР без необходимости работы с индивидуальными устройствами.
Интеграция решений абонентского агрегирования и SDN позволяет реализовать политики обслуживания пользователей и при необходимости оперировать с трафиком вертикально интегрированных приложений, выделяя его в виртуальные среды безопасного доступа. При этом, концепция потоков данных, реализованная в коммутаторах Huawei S12700, позволяет централизовано управлять качеством в масштабах всей сети. Технология изолированых сетевых потоков iPCA (Packet Conservation Algorithm for Internet) позволяет единожды определить признаки приоритетного трафика на контроллере кампуса, а затем передать требования на все сетевые устройства. Решения на базе ENP идентифицируют потоки приоритетного трафика и управляют его прохождением через сеть на каждом транзитном узле. А для контроля качества и локализации аварий, iPCA накапливает операционную статистику на базе каждого микропроцессора ENP.
![image](https://habrastorage.org/getpro/habr/post_images/223/4d7/08e/2234d708ee9847f37cbe8d4303bc3222.jpg)
Реализация iPCA – это еще один пример технологического лидерства Huawei и практического применения SDN.