Primeiro, você precisa entender que os roteadores são nada mais do que computadores embutidos (ultracompactos) com hardware de rede especializado.
O firmware de um roteador consiste no sistema operacional, drivers e aplicativos que o roteador executa. É essencialmente uma imagem de disco, exatamente como as que a Dell ou a HP usam para inicializar seus computadores antes de saírem da fábrica.
Como os roteadores são dispositivos incorporados, eles precisam ser tão eficientes e pequenos quanto possível. É por isso que o firmware é distribuído como um único arquivo; Este arquivo é personalizado para o modelo exato do roteador; Não há drivers para hardware que não existem e nenhum aplicativo para recursos que não são suportados pelo roteador para o qual o firmware foi projetado.
O firmware não "implementa" DNS / DHCP / etc. O firmware contém um aplicativo que implementa esses protocolos / serviços ( DNSMasq
, DHCPd
, etc.). Assim como há muitos aplicativos diferentes que podem trabalhar com *.zip
arquivos, existem muitos aplicativos diferentes que podem desempenhar essas funções, todos com recursos ligeiramente diferentes ou permitir uma personalização ligeiramente diferente. Você pode querer trocar DNSMasq
por Bind
, por exemplo). Esses são, na verdade, os mesmos aplicativos que você pode encontrar em um desktop ou servidor que esteja cumprindo essas funções.
Essas comunidades de firmware de código aberto surgiram porque muito pouco do software que é executado em um roteador depende do hardware. Você pode instalar facilmente aplicativos adicionais, como OpenVPN, servidores de mídia de fluxo contínuo e proxies, desde que o roteador tenha energia e memória suficientes para suportar o que você deseja fazer.