Keysight Elastic Network Generator (KENG) — программно-определяемая
ТЕХНИЧЕСКОЕ ОПИСАНИЕ
Keysight Elastic Network Generator
Гибкая и компонуемая система тестирования сетей, предназначенная для непрерывной интеграции
Новые правила измерения поведения сети
Современный мир работает поверх компьютерных сетей. Они дают огромные преимущества современной экономике, но одновременно создают всё более серьёзные задачи в области надёжности, безопасности, производительности и эксплуатационных затрат. Сталкиваясь с этим давлением, лучшие сетевые операторы переходят к концепции Infrastructure as Code (IaaC) и строят сети как взаимосвязанные наборы программируемых элементов. При таком изменении парадигмы непрерывная проверка управляющих функций и результирующего поведения сети становится обязательным требованием.
Традиционные закрытые тестовые системы лишены достаточной совместимости и гибкости вариантов развёртывания, поэтому их трудно применять в IaaC. Это замедляет инновации и ограничивает адаптивность к растущим требованиям современных сильно распределённых приложений. Нужен новый язык для определения правил поведения сети и инструменты для их измерения. Этот язык должен быть открытым, нейтральным к производителю и удобным для разработчиков. Инструменты также должны интегрироваться с современными рабочими процессами Continuous Integration / Continuous Deployment (CI/CD) и поддерживать широкий набор сред выполнения — от ноутбуков разработчиков и программных заданий в публичных и частных облаках до аппаратных лабораторий QA и сертификации, центров обработки данных и периферийных площадок для активации сетевых сервисов.
Для решения этих задач Keysight основала нейтральный к производителю проект Open Traffic Generator (OTG) API (otg.dev) и переосмысливает тестирование сетевой инфраструктуры с помощью Keysight Elastic Network Generator. OTG API преобразует подход к тестированию сетевой инфраструктуры, обеспечивая автоматизацию, открытость и работу на основе намерений, а также совместную разработку тестовых наборов в проектах открытых сетей, таких как OpenConfig, SAI, SONiC, SONiC-DASH и DENT.
Написал один раз — запускай где угодно
Keysight Elastic Network Generator предоставляет уровень абстракции над различными реализациями тестовых портов — программным Ixia-c, white-box UHD400T и специализированным оборудованием IxOS. Тестовый пакет, написанный с использованием Open Traffic Generator API, может выполняться на любом из поддерживаемых типов тестовых портов без изменений.
Рисунок 1. Абстракция тестовых портов Keysight Elastic Network Generator
Возможность легко менять тип тестового порта устраняет конкуренцию за доступ к более дорогим аппаратным портам во время разработки тестовых пакетов. Она также позволяет запускать CI-конвейер с программным образом тестируемого устройства (DUT) для более быстрых итераций pass/fail до установки новой прошивки на аппаратное оборудование и запуска полной регрессии.
Keysight Elastic Network Generator (KENG)
KENG — гибкая, лёгкая и компонуемая платформа тестирования сетей, предназначенная для непрерывной интеграции. Она поддерживает нейтральные к производителю модели и API Open Traffic Generator, интегрируется с несколькими платформами эмуляции сетей и управляет рядом программных продуктов Keysight для тестирования сетевой инфраструктуры, а также аппаратными нагрузочными модулями и устройствами.
Ключевые функции
Основные преимущества
Open Traffic Generator API
Мощные возможности автоматизации Keysight Elastic Network Generator являются одним из его ключевых преимуществ. Они позволяют разработчикам ПО ускорять циклы разработки и тестирования контейнеризированных и виртуализированных сетевых устройств. Те же возможности помогают разработчикам сетей быстро и воспроизводимо проверять сложные изменения конфигураций в соответствии с принципами DevOps и CI/CD.
Обе категории пользователей стремятся писать тестовые сценарии только один раз, а затем запускать их везде — в аппаратных, виртуальных и контейнеризированных средах. Процесс разработки сценариев упрощается при использовании декларативного API на основе модели, описывающего цель теста, а не способ её достижения. Если API основан на открытых стандартах, нейтрален к производителю и может быть реализован в разных тестовых инструментах, выбрать лучший инструмент с поддержкой такого API значительно проще.
Рисунок 2. Уровни экосистемы Open Traffic Generator API
В основе находится модель данных Open Traffic Generator API (OTG API), основанная на определениях OpenAPI v3. Эти модели данных являются единым источником истины, определяющим универсальную структуру инструмента сетевого тестирования.
Далее процесс разработки тестовых сценариев упрощается, а пользовательский опыт улучшается благодаря автоматически генерируемым Client SDK для нескольких языков. Примеры — snappi для Python и gosnappi для Go. Разработчики пишут тесты на snappi или gosnappi и выполняют их с помощью тестовых инструментов, понимающих эти языки.
Keysight Elastic Network Generator нативно выполняет такие сценарии независимо от Client SDK (snappi / gosnappi / другие), использованного при разработке, и независимо от транспортного канала (REST API / gRPC / gNMI). Благодаря нативной реализации сценарии выполняются очень быстро, а время отклика API составляет миллисекунды. Другие тестовые инструменты также могут реализовать нативный сервер OTG API либо использовать подключаемый модуль для преобразования сценариев OTG API в собственный язык сценариев.
Интеграция с эмуляцией сети
Keysight Elastic Network Generator — современный тестовый инструмент с новой архитектурой на базе контейнеров, микросервисов и интерфейсов с открытым исходным кодом, который можно развёртывать в разнообразных программных средах. Благодаря модульной конструкции с небольшим количеством обязательных и несколькими необязательными компонентами эти среды могут варьироваться от небольшого теста устройства на ноутбуке до крупномасштабной сложной проверки сети в частном или публичном облаке.
Рисунок 3. Тестовые порты Ixia-c в Kubernetes Network Emulation
Базовая среда для работы инструмента состоит из Linux Host с программным обеспечением Container Engine. Генерируемый трафик может передаваться непосредственно через Ethernet-интерфейсы Linux Host или направляться в различные overlay-сети. Однако многие из таких сетевых соединений не способны передавать все кадры протоколов маршрутизации и мешают корректному выполнению тестовых сценариев. Между всеми контейнерами теста необходим прямой виртуальный канал, способный транспортировать любой кадр, сформированный контейнеризированными сетевыми устройствами.
Большинство стандартных средств оркестрации контейнеров не обладает достаточными возможностями для создания такого прямого канала. Поэтому появились решения для крупномасштабной эмуляции сети в контейнеризированной среде. Они отвечают за оркестрацию контейнеров тестового инструмента вместе с контейнерами сетевых устройств, создание виртуальных каналов между элементами в соответствии с сетевой топологией и изоляцию всей тестовой среды от других аналогичных сред. К таким решениям относятся Kubernetes Network Emulation и Containerlab; Keysight Elastic Network Generator бесшовно интегрируется с обеими экосистемами.
Возможности продукта
Контроллер, API и типы тестовых портов
Тестовая программа взаимодействует с контроллером Keysight Elastic Network Generator через northbound API. Контроллер координирует выполнение теста тестовыми портами и возвращает измеренные метрики тестовой программе. API контроллера универсальны для всех типов тестовых портов и обеспечивают единый пользовательский опыт независимо от используемого типа.
Возможности контроллера
| Возможность | Спецификация |
|---|---|
| Northbound API | Open Traffic Generator (OTG) по HTTPS и gRPC — конфигурация, управление, метрики, захват пакетов. gNMI по gRPC — метрики. |
| Модели данных API | OTG — OpenAPIv3: github.com/open-traffic-generator/models gNMI — YANG: github.com/open-traffic-generator/models-yang |
| Графический пользовательский интерфейс | Не включён. Можно использовать сторонний GUI либо разработать собственный интерфейс с использованием нейтрального к производителю OTG API. |
| Одновременные сессии | Одна одновременно выполняемая тестовая сессия (конфигурация) на контроллер. |
| Параллельное выполнение тестов | Для выполнения нескольких параллельных тестов необходимо запускать несколько экземпляров контроллера — по одному на тест. |
| Форм-фактор контроллера | Docker-контейнер(ы). На одном хосте или VM можно параллельно запускать несколько контроллеров с выделенными пространствами имён контейнеров. |
| Одновременные клиенты | Поддерживаются несколько одновременных клиентов для одного контроллера (с ограничениями). |
| Владение состоянием теста | Контроллер хранит состояние выполнения теста; клиент должен работать без сохранения состояния. |
| Владение тестовым портом | Тестовый порт резервируется контроллером на основе списка портов текущей конфигурации. Порт освобождается после применения новой конфигурации, в которой он отсутствует, либо если контроллер больше не работает. |
Типы тестовых портов
Поддерживаемые типы тестовых портов приведены ниже. В одном тесте совместно могут использоваться только порты одного типа.
| Тип тестового порта | Форм-фактор | Поддерживаемые модели | Возможности |
|---|---|---|---|
| Ixia-c software | Docker-контейнеры | Ixia-c Traffic Engine Ixia-c Protocol Engine | Stateless traffic generator и эмулятор протоколов L2–3 |
| UHD400T | Компонуемые тестовые порты на базе white-box аппаратного генератора трафика и ПО эмуляции протоколов | Фиксированное шасси UHD400T Ixia-c Protocol Engine | Stateless traffic generator и эмулятор протоколов L2–3 |
| IxOS hardware | Аппаратные тестовые порты на базе шасси / устройств IxOS | Novus QSFP28 AresONE 400GE AresONE-S 400GE | Stateless traffic generator и эмулятор протоколов L2–3 |
Лицензирование
| Лицензируемая возможность | Community Edition | Ixia-c software | UHD400T | IxOS hardware |
|---|---|---|---|---|
| Требование лицензии | Не требуется | Требуется действующий набор лицензий в зависимости от текущей конфигурации теста | Требуется действующий набор лицензий в зависимости от текущей конфигурации теста | Требуется действующий набор лицензий в зависимости от текущей конфигурации теста |
| Поддерживаемые типы тестовых портов | Ixia-c | Любая редакция лицензии | Зависит от редакции лицензии | Зависит от редакции лицензии |
| Одновременные тестовые места | Не учитывается | Количество работающих экземпляров Controller с конфигурацией, превышающей возможности Community Edition | Количество работающих экземпляров Controller с конфигурацией, превышающей возможности Community Edition | Количество работающих экземпляров Controller с конфигурацией, превышающей возможности Community Edition |
| Возможности плоскости данных | Любые, поддерживаемые Ixia-c | Любые, поддерживаемые KENG при работе с Ixia-c | Любые, поддерживаемые KENG при работе с UHD400T | Любые, поддерживаемые KENG при работе с IxOS hardware |
| Производительность плоскости данных | До 4 портов 1/10GE | Ограничивается лицензированной ёмкостью Software Traffic Port в единицах Data Plane License Units (KENG-DPLU). Количество единиц определяется суммой настроенных скоростей портов (1, 10, 25, 40, 50, 100GE). Максимальная производительность порта может быть ниже настроенной скорости. | Любое количество доступных портов; производительность определяется аппаратурой UHD400T. | Любое количество доступных портов; производительность определяется аппаратурой IxOS. |
| Возможности плоскости управления | ARP, IPv6 NDP, BGP | Любые, поддерживаемые KENG при работе с Ixia-c | Любые, поддерживаемые KENG при работе с UHD400T | Любые, поддерживаемые KENG при работе с IxOS hardware |
| Масштаб плоскости управления | До 4 BGP-сессий | Ограничивается лицензированным Software Protocol Scale в Control Plane License Units (KENG-CPLU) либо техническими пределами KENG и Ixia-c при наличии Unlimited Control Plane License (KENG-UNLIMITED-CP). Количество единиц определяется суммой настроенных протокольных сессий. Конфигурации свыше 50 протокольных сессий используют KENG-UNLIMITED-CP при наличии и 50 KENG-CPLU; без KENG-UNLIMITED-CP потребляется точное необходимое количество KENG-CPLU. | То же правило лицензирования Control Plane для UHD400T. | До технических пределов, поддерживаемых KENG и аппаратурой IxOS. |
Плоскость данных
Keysight Elastic Network Generator поддерживает генерацию и измерение трафика, обеспечивая точность и производительность. Реализация плоскости данных тесно интегрирована с протоколами плоскости управления и автоматически формирует пакеты, соответствующие эмулируемым топологиям. Разные типы тестовых портов (Ixia-c, UHD400T, IxOS hardware) могут поддерживать подмножество возможностей; подробности следует проверять в документации соответствующего продукта. Производительность Ixia-c обеспечивается встроенной поддержкой ускорения DPDK Performance Acceleration.
Возможности трафика плоскости данных
| Возможность | Спецификация |
|---|---|
| Сопоставление источника / назначения | One-to-one, Mesh |
| Агрегация каналов | Static LAG, LAG with LACP |
| Типы трафика | Endpoint port — raw traffic, все заголовки пакетов могут создаваться вручную. Endpoint device — заголовки Ethernet зависят от связанных эмулируемых маршрутизаторов с поддержкой ARP / IPv6 ND. |
| Продолжительность трафика | Burst, continuous, fixed packets, fixed seconds |
| Размер кадра | Fixed, increment, random, weighted pairs (IMIX) |
| Стек заголовков трафика | MAC, VLAN, MPLS, ARP, IPv4/v6, TCP/UDP/ICMP/ICMPv6, PPP, GRE, IGMPv1, ETHERNETPAUSE, PFCPAUSE, VXLAN, CUSTOM HEX |
| Шаблон полезной нагрузки | Constant size / Custom HEX |
| Скорость трафика | Процент от линейной скорости, packets per second, bit rate (bps, Kbps, Mbps, Gbps) |
| Максимальное количество OTG-потоков на тестовый порт | 256 |
| Производительность Ixia-c | Зависит от базового оборудования и программного стека. Для высокой производительности требуется DPDK Passthrough с совместимыми драйверами; производительность может составлять около 10 Гбит/с на малых размерах кадров и более 100 Гбит/с при размере кадра 9000 байт. |
| Производительность UHD400T и IxOS hardware | Зависит от возможностей аппаратной модели и скорости интерфейса. Следует использовать документацию конкретного оборудования. |
Возможности измерений плоскости данных
| Измерение | Метрики порта | Метрики потока |
|---|---|---|
| Счётчики | Frames Tx Frames Rx Bytes Tx Bytes Rx | Frames Tx Frames Rx Bytes Tx Bytes Rx |
| Скорость | Frame Rate Tx Frame Rate Rx Byte Rate Tx Byte Rate Rx | Frame Rate Tx Frame Rate Rx |
| Задержка | — | Min Latency (ns) Avg Latency (ns) Max Latency (ns) |
| Временные метки | — | First timestamp Last timestamp |
| Отслеживание на выходе | — | Rx port name tag Metric tags для каждого заголовка трафика |
Плоскость управления
Keysight Elastic Network Generator эмулирует набор сетевых протоколов, критически важных для работы сетей центров обработки данных. Каждый тестовый порт, в зависимости от типа, способен эмулировать сотни интерфейсов или маршрутизаторов и тысячи протокольных сущностей плоскости управления. Совместно с генерацией и измерением трафика это позволяет проверять объявленные топологии и сети на функциональность и производительность. Разные типы тестовых портов (Ixia-c, UHD400T, IxOS hardware) могут поддерживать только часть возможностей; производительность и масштаб каждого типа следует проверять в документации соответствующего продукта.
Спецификации плоскости управления
| Технология | Протокол / возможность |
|---|---|
| Тестовые порты | LLDP LAG with LACP |
| Интерфейсы эмулируемых устройств | IPv4 (ARP / PING reply) IPv6 (NDP / PING reply) |
| Маршрутизация эмулируемых устройств | BGPv4 / BGPv6 ISISv4 / ISISv6 (L1 & L2) RSVP P2P LSPs |
| Возможности BGP | Объявление маршрутов, withdrawal, re-advertisement / MD5 authentication / получение изученных маршрутов / Extended communities / Graceful restart |
| Возможности ISIS | Объявление маршрутов / получение изученных маршрутов |
| Возможности RSVP P2P LSP | Refresh and bundle extensions |
Предварительные требования и совместимость продукта
Системные требования
| Системный ресурс | Controller (с включённым gNMI) | Порт Ixia-c Traffic Engine | Порт Ixia-c Protocol Engine |
|---|---|---|---|
| Архитектура CPU | x86_64 | x86_64 | x86_64 |
| Операционная система | Linux (проверены CentOS 7+ и Ubuntu 18+) | Linux (проверены CentOS 7+ и Ubuntu 18+) | Linux (проверены CentOS 7+ и Ubuntu 18+) |
| Runtime | Docker Engine 19+ или совместимый K8s runtime | Docker Engine 19+ или совместимый K8s runtime | Docker Engine 19+ или совместимый K8s runtime |
| Минимальный выделенный CPU, millicores | 20 m | 200 m | 200 m |
| Минимальная RAM | 40 MiB | 60 MiB | 350 MiB |
| Рекомендуемая RAM для высокомасштабных конфигураций | 300 MiB | 150 MiB | 1500 MiB |
| Рекомендуемая RAM для высокомасштабных конфигураций в высокопроизводительном режиме DPDK | 300 MiB | 500 MiB | Не поддерживается |
Совместимость и ограничения
| Функция | Совместимость и ограничения |
|---|---|
| Совместимые сетевые интерфейсные карты для высокопроизводительного режима DPDK Ixia-c Traffic Engine | Intel 350, 5xx, 7xx, 8xx Mellanox ConnectX-4, ConnectX-5, ConnectX-6, ConnectX-7 Mellanox BlueField-2, BlueField-3 Cisco VIC |
| Поддерживаемая виртуализация для высокопроизводительного режима DPDK Ixia-c Traffic Engine | SR-IOV, PCI passthrough. Intel 350 NIC не поддерживается для режима DPDK с виртуализацией. |
| Поддержка эмуляции протоколов в высокопроизводительном режиме DPDK Ixia-c Traffic Engine | Ixia-c Protocol Emulation недоступна. |
| Тестовые порты IxOS hardware | Поддерживаются только Linux-based IxOS chassis. |
| Поддерживаемое оборудование IxOS | AresONE-S; NOVUS 5-speed; NOVUS QSFP28 |
| Минимальная версия IxOS | 9.30.3001.12 |
| Максимальное количество эмулируемых устройств на аппаратный тестовый порт IxOS | 10 000 |
| Совместимость выпусков компонентов KENG | См. github.com/open-traffic-generator/ixia-c/releases |
Информация для заказа
| Партномер | Описание |
|---|---|
| 939-9001 | Keysight Elastic Network Generator DEVELOPER Bundle— плавающая всемирная лицензия на 12 месяцев с подпиской на поддержку ПО Keysight. Включает 1 одновременное тестовое место; Control Plane — все поддерживаемые протоколы; Data Plane — весь поддерживаемый трафик. Поддерживает тестовые порты IXIA-C software. Включает 50GE совокупной ёмкости IXIA-C traffic port и Limited IXIA-C Control Plane performance. Включено 50 KENG-DPLU и 50 KENG-CPLU; KENG-UNLIMITED-CP не включён. Не поддерживает UHD400T и IxOS hardware. Совокупная ёмкость IXIA-C traffic port определяется суммой настроенных скоростей 100GE, 50GE, 40GE, 25GE, 10GE и 1GE. Срок лицензии должен быть указан и приобретается кратно годам; цена указывается за единицу в год. Соответствует требованиям TAA. |
| 939-9002 | Keysight Elastic Network Generator TEAM Bundle— плавающая всемирная лицензия на 12 месяцев с подпиской на поддержку ПО Keysight. Включает 8 одновременных тестовых мест; Control Plane — все поддерживаемые протоколы; Data Plane — весь поддерживаемый трафик. Поддерживает тестовые порты IXIA-C software и UHD400T hardware. Включает 400GE совокупной ёмкости IXIA-C traffic port и Limited IXIA-C / UHD400T Control Plane performance. Включено 400 KENG-DPLU и 400 KENG-CPLU; KENG-UNLIMITED-CP не включён. IxOS hardware не поддерживается. Максимальная производительность Data Plane портов UHD400T определяется характеристиками аппаратной платформы. Совокупная ёмкость IXIA-C traffic port определяется суммой настроенных скоростей 100GE, 50GE, 40GE, 25GE, 10GE и 1GE. Срок лицензии должен быть указан и приобретается кратно годам; цена указывается за единицу в год. Соответствует требованиям TAA. |
| 939-9003 | Keysight Elastic Network Generator SYSTEM Bundle— плавающая всемирная лицензия на 12 месяцев с подпиской на поддержку ПО Keysight. Включает 16 одновременных тестовых мест; Control Plane — все поддерживаемые протоколы; Data Plane — весь поддерживаемый трафик. Поддерживает IXIA-C software, UHD400T и IXOS hardware. Включает 800GE совокупной ёмкости IXIA-C traffic port и Unlimited Control Plane performance. Включено 800 KENG-DPLU, 800 KENG-CPLU и 16 KENG-UNLIMITED-CP. Максимальная производительность Data Plane портов UHD400T определяется характеристиками аппаратной платформы; производительность Data Plane и масштаб Control Plane портов IXOS hardware определяются характеристиками оборудования. Совокупная ёмкость IXIA-C traffic port определяется суммой настроенных скоростей 100GE, 50GE, 40GE, 25GE, 10GE и 1GE. Срок лицензии должен быть указан и приобретается кратно годам; цена указывается за единицу в год. Соответствует требованиям TAA. |
Примечание 1. Максимальная производительность Data Plane программных тестовых портов может быть ниже включённой ёмкости Software Traffic Port в зависимости от конфигурации.
Примечание 2. Test seat concurrency относится к количеству работающих экземпляров Controller с конфигурацией, превышающей возможности Keysight Elastic Network Generator Community Edition.
Итоги
Характеристики Keysight Elastic Network Generator (KENG) — программно-определяемая платформа генерации трафика и
Документация Keysight Elastic Network Generator (KENG) — программно-определяемая платформа генерации трафика и эмуляции
Возможность автоматизации с помощью собственного ПО: интеграция, автоматизация измерений, собственные база данных и VISA-мост.
СПОАИ — специальное программное обеспечение для автоматизации измерений, разработанное на мощностях "Акметрон" — отечественного разработчика программного обеспечения, производителя и крупнейшего поставщика оборудования с 2012 года.
Это клиент-серверное приложение с многопользовательской распределённой архитектурой, которое решает задачи повышения производительности труда на производстве, сокращения длительности измерений и снижения требований к квалификации персонала. ПО внесено в реестр Минцифры: №28145
Ключевые преимущества:
- Полный цикл «под ключ»: от разработки до сопровождения
- Клиент-серверная архитектура с самостоятельной переналадкой
- Централизованный сбор и хранение результатов в БД с возможностью миграции в вашу БД
- Генератор отчетов на основе ваших шаблонов (docx. и xlsx.)
- Управление приборами с любым типом интерфейса
- ПО работает на системах Windows, Linux, MacOS, доступна веб-версия
Результаты внедрений:
- Непрерывная работа в автоматическом режиме до 48 часов
- До 4 500 измерений за этап
- Одновременное управление 15+ приборами
- Автоматизация техтренировки и полной программы испытаний выпускаемых изделий — более 10 контролируемых приборов на одном рабочем месте, до 4 500 автоматизированных измерений в каждом этапе, непрерывная работа в автоматическом режиме 24–48 часов
- Измерение радиотехнических характеристик приемопередающих модулей
- Автоматизация тестирования фотонных интегральных схем
- Контроль и испытания СВЧ-усилителей для космических аппаратов
Для каждого продукта мы предоставляем полный комплект документации: инструкция по установке с пошаговой настройкой, руководство по эксплуатации с описанием требований и рабочих процессов, презентация с обзором возможностей и кейсов внедрения.
Предоставим систему с учётом требований промышленных стандартов и рассчитанную на многолетнюю эксплуатацию. Также мы обеспечиваем соответствие отраслевым требованиям, надёжность архитектуры для критических систем и масштабируемость без потери стабильности.
Наши специалисты помогут вам решить самые сложные задачи по автоматизации, измерениям и интеграции
Сервисное обслуживание