Коммутатором в компьютерной сети является устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор обычно работает на канальном уровне сетевой модели ISO OSI. Коммутатор, поддерживающий технологию ПКС, является ПКС-коммутатором. Основным блоком коммутатора является сетевой процессор, реализующее функцию обработки сетевого трафика.
Сетевой процессор реализует следующие основные функции:

  • получение пакета с физического уровня;
  • выделение заголовка из пакета для дальнейшей классификации;
  • классификация пакета – идентификация пакета по заголовку;
  • модификация заголовка пакета и принятие решения о пути следования пакета (отправка на порт, сброс, дальнейшая обработка);
  • управление трафиком;
  • передача пакета на физический уровень.

В рамках исследования архитектуры сетевых процессоров ведутся следующие работы:

  • Оптимизация архитектуры программы сетевого процессора
    Для того, чтобы обрабатывать пакеты на высокой скорости и поддерживать богатый набор протоколов необходимо принимать ряд нетривиальных решений по оптимизации используемых модулей ПО и связей между ними.
  • Исследование методов обработки заголовка пакета в ячейках конвейера сетевого процессорного устройства
    В рамках данного направления проводится исследование устройства анализатора заголовков пакетов в сетевых процессорных устройствах с целью нахождения способов ускорения его работы.
  • Исследование методов представления таблиц потоков коммутатора программно-конфигурируемой сети
    Одной из задач, возникающей в сетевых процессорах является задача трансляции представления протокола управления коммутатором (Openflow в данной работе) в язык ассемблера сетевого процессора. В рамках данного направления необходимо рассмотреть варианты представления.
  • Исследование подходов к организации поиска в архитектуре сетевого процессора без выделенного ассоциативного устройства
    Одним из способов повысить производительность программируемого сетевого процессора является отказ от выделенного ассоциативного устройства. В рамках данной работы рассматривается архитектура сетевого процессора, где в памяти стадий конвейера обработки пакетов размещаются не только программы обработки пакетов, но и таблиц классификации. При этом существует множество подходов к реализации LPM поиска в плоской памяти. В рамках данного направления работ требуется сравнить различные алгоритмы в рамках архитектуры отечественного сетевого процессора.
  • Исследование алгоритмов обработки пакетов с сохранением состояния (stateful)
    Несмотря на вынесение управления плоскостью передачи данных вне сетевых устройств в ПКС, требования к высокой производительности этих устройств могут в некоторых приложениях (связанных с мониторингом сети, управлением очередей и балансировкой нагрузки) требовать реализации некоторой ограниченной управляющей функциональности в них. В настоящее время среди лидирующих производителей сетевых процессоров прослеживается тенденция к реализации возможностей обработки пакетов с сохранением состояния (stateful) на уровне архитектуры. При обработке пакетов без сохранения состояния (stateless) хранится лишь информация, связанная с одним пакетом, и существует лишь в процессе обработки этого пакета, состояние сетевого устройства при этом не меняется. При обработке с сохранением состояния (stateful) после обработки пакета может сохраняться некоторая информация (меняется состояние сетевого устройства), то есть этот пакет будет влиять на особенности обработки следующего пакета. В рамках данного направления работ предполагается исследовать применимость отечественного сетевого процессора для реализации данных возможностей.

Публикации:

Об одном подходе к построению сетевого процессорного устройства

Исследование ячейки конвейера сетевого процессорного устройства на модели уровня регистровых передач

Оценка применимости процессорных ядер КМX32 и RISC-V в сетевом процессорном устройстве