Язык P4 (Programming Protocol-independent Packet Processors) предназначен для программирования сетевых устройств, таких как коммутаторы и маршрутизаторы. Он позволяет разработчикам описывать, как устройства должны обрабатывать пакеты данных, независимо от конкретной аппаратной реализации. P4 предоставляет высокий уровень абстракции, что позволяет разработчикам сосредоточиться на логике обработки пакетов, а не на деталях реализации.
На сегодняшний день язык P4 активно развивается и поддерживается open-source сообществом. Он обладает широкими возможностями для моделирования сетевого трафика и взаимодействия между различными сетевыми устройствами. P4 уже нашёл широкое применение в академических исследованиях и в реальных сетевых проектах.
SONiC (Software for Open Networking in the Cloud) должна получить поддержку P4 для значительного расширения возможностей обработки сетевого трафика и программирования маршрутизации на уровне пакетов. Это позволит использовать P4 для создания более гибких и настраиваемых сетевых конфигураций в SONiC.
Поддержка P4 должна обеспечить возможность добавления новых функций обработки пакетов без изменения аппаратной части сетевых устройств, что увеличит гибкость сети и упростит обновление сетевых политик. Интеграция P4 в SONiC должна предоставить администраторам сетей возможность динамически изменять правила обработки сетевого трафика и повышать контроль над его управлением.
Интеграция P4 с SONiC должна предоставить разработчикам инструменты для программирования обработки сетевого трафика, демонстрируя основные возможности P4 в контексте программируемых коммутаторов уровня L3. Это решение должно улучшить функциональность и производительность коммутаторов под управлением SONiC, а также повысить гибкость управления сетевыми конфигурациями, безопасность и эффективность работы сети.
Нетривиальная задача, требующая общения со специалистами YADRO и быстрого погружения в область сетевых устройств и управления ими. Потребуется опыт в Linux и программирования на C (возможно, немного C++).
3 курс, Бакалаврская ВКР
Литвинов Юрий Викторович
YADRO