Разработка сетевых устройств на базе дистрибутива OpenWRT
Виктор Полстюк, Минск, Беларусь
LVEE 2012
The report analyzes the OpenWRT distribution as a basis for developing network devices. It also highlights limitations that constrain its use in commercial purposes.
Сначала OpenWRT развивался как альтернативный дистрибутив для серийно выпускаемых маршрутизаторов, который позволял получить более гибкую по сравнению с предоставляемой производителем систему, и дополнить ее необходимыми сервисами. Позже в дистрибутиве появилась поддержка X11, XFCE и LXDE, что позволяет использовать его на устройствах с графическими дисплеями. Сейчас проект перешел в категорию дистрибутивов общего применения (подобно OpenEmbedded), обладая наиболее широкими возможностями в области телекоммуникаций.
OpenWRT поддерживает большое число аппаратных платформ, построенных на процессорах ARM, MIPS, x86, и содержит свежее ядро с набором специфических для маршрутизаторов патчей.
Сборочная система, используемая дистрибутивом, построена на пакетной системе, что позволяет выбрать перечень программ для добавления в прошивку и включает 2000+ пакетов в официальном репозитории. Система конфигурирования и инициализации позволяет получить согласованно функционирующую систему из набора выбранных пакетов.
Веб-интерфейс является обязательным компонентом сетевого оборудования. Для OpenWRT существует несколько фреймворков для пользовательского интерфейса: LuCI, X-wrt. Фреймворк LuCI построен по принципу Model-View-Controller, что предполагает отделение графического представления (шаблонов) от логики работы интерфейса управления.
Имеются примеры коммерческого использования дистрибутива производителями процессоров, OEM-модулей и отладочных плат в качестве сопутствующего SDK. Однако ряд недостатков препятствует использованию mainline OpenWRT в коммерческих целях. К их числу можно отнести отсутствие поддержки аппаратных ускорителей сетевых контроллеров процессоров, отсутствие поддержки централизованных протоколов управления (семейство протоколов TR-069).
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.