Во-первых, вы должны понимать, что маршрутизаторы - это не что иное, как встроенные (ультракомпактные) компьютеры со специализированным сетевым оборудованием.
Микропрограмма маршрутизатора состоит из операционной системы, драйверов и приложений, которые запускает маршрутизатор. По сути, это образ диска, такой же, как те, которые Dell или HP используют для инициализации своих компьютеров перед отправкой с завода.
Поскольку маршрутизаторы являются встроенными устройствами, они должны быть максимально эффективными и небольшими. Вот почему прошивка распространяется в виде одного файла; Этот файл настраивается под конкретную модель маршрутизатора; Нет драйверов для несуществующего оборудования и нет приложений для функций, которые не поддерживаются маршрутизатором, для которого предназначена прошивка.
Прошивка не "реализует" DNS/DHCP/ и т.д. Микропрограмма содержит приложение, которое реализует эти протоколы / службы (DNSMasq
, DHCPd
и т.д.). Точно так же, как есть много разных приложений, которые могут работать с *.zip
файлами, есть много разных приложений, которые могут выполнять эти роли, все с немного различными функциями, или допускают немного другую настройку. Вы можете поменять DNSMasq
для Bind
, например). На самом деле это те же приложения, которые вы можете найти на рабочем столе или сервере, который выполнял эти роли.
Во- вторых, многие производители делают используют то же самое ядро в сердце каждого из своих прошивках. Многие используют урезанную операционную систему Linux. Сходство встроенного ПО маршрутизатора - это то, что позволяет проектам с открытым исходным кодом, таким как DD-WRT, работать на сотнях различных моделей маршрутизаторов; в противном случае это просто потребовало бы слишком много работы.
Эти сообщества микропрограмм с открытым исходным кодом появились, потому что очень мало программного обеспечения, работающего на маршрутизаторе, зависит от оборудования. Вы можете легко установить дополнительные приложения, такие как OpenVPN, серверы потокового мультимедиа и прокси, если у маршрутизатора достаточно мощности процессора и памяти для поддержки того, что вы хотите сделать.