Аннотация:
В работе предложена архитектура и основные требования к сетевому процессору для OpenFlow коммутаторов программно-конфигурируемых сетей (ПКС). Представлен анализ архитектур известных сетевых процессоров - NP-5 компании EZchip (в настоящее время Mellanox) и Tofino компании Barefoot Networks. Рассмотрены достоинства и недостатки двух разных вариантов архитектур сетевого процессора: на основе конвейеров, ячейки которых представлены набором процессорных ядер общего назначения, и на основе конвейеров, ячейкам которых соответствуют ядра, специализированные под конкретные операции обработки пакета. На основе выделенного набора наиболее общих сценариев обработки пакетов предложена новая архитектура сетевого процессорного устройства (СПУ) с функционально специализированными ячейками (стадиями) конвейера. В статье представлено описание имитационной модели СПУ предложенной архитектуры. Имитационная модель построена на языке C++ с использованием открытой библиотеки SystemC. Для проведения функционального тестирования полученной модели СПУ были реализованы описанные сценарии обработки пакетов на языке С. Для оценки производительности предложенной архитектуры СПУ в ходе исследования были использованы программные средства компании KM211, а также семейство микроконтроллеров KMX32. Оценка производительности СПУ проводилась на основе имитационной модели. Получены оценки времени обработки одного пакета и средняя пропускная способность модели СПУ для каждого сценария. Эти оценки показали, что полученная скорость СПУ позволяет их использование в коммутаторах уровня распределения (агрегации).