Сетевой шлюз на основе паравиртуализации и микроядра

Современное сетевое оборудование обладает большим функционалом, реализация которого уже давно не возможна только на аппаратном уровне. Как следствие, такое оборудование содержит в себе специализированный процессор, на котором исполняется операционная система и прикладное программное обеспечение.

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

Микроядерные операционные системы обеспечивают высокую защищенность компонентов за счет исполнения всех процессов в депривелигерованном (пользовательском) режиме и использования системы межпроцессного взаимодействия вместо прямого обращения к памяти другого процесса. Все компоненты системы, такие как драйвера устройств, файловые системы, TCP/IP стек реализуются в виде неазисимых процессов, выполняющихся в пространстве пользователя.

Такая компоновка, опять таки, положительно сказывается на отказоустойчивость и защищенность компонентов, но, в тоже время, может накладывать ограничения на производительность и границы применимости таких систем.

В рамках этого проекта была разработана и оптимизирована архитектура сетевого шлюза, построенного на основе микроядра и использующего паравиртуализацию для изоляции компонентов системы.