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