Tecnología

Inicio

DHCP en Linux Embedded

DHCP en Linux Embedded


Los dispositivos empotrados actúan como computadoras dentro de las computadoras. Se trata de dispositivos totalmente independientes, que pueden realizar los servicios para las máquinas que se conectan a ellas. La portabilidad del núcleo de Linux hace que sea un sistema operativo común para estos dispositivos, pero hay un desafío adicional para los diseñadores de dispositivos embebidos Linux que se conectan a una red: cómo garantizar que su Dynamic Host Configuration Protocol (DHCP) se conecte siempre a un host sin intervención del usuario.

Linux embebido

Desde la perspectiva del software, no hay nada radicalmente diferente entre un sistema en funcionamiento de Linux en un ordenador de sobremesa y un sistema Linux que se ejecuta en un dispositivo embebido. El núcleo básico es el mismo, pero sólo incluye aquellos módulos que son necesarios para los componentes de hardware del dispositivo integrado y los componentes con los que se conecta el dispositivo. Los desarrolladores también tienen que diseñar el hardware que se ejecuta en la parte superior del núcleo de Linux en el dispositivo integrado para funcionar sin ninguna intervención directa del usuario.

Función DHCP

DHCP administra la asignación de direcciones IP a través de un sistema de "arrendamiento": las solicitudes de un programa de cliente DHCP para "arrendamiento" una dirección IP disponible desde el servidor DHCP. Luego, el cliente asigna una dirección IP a un dispositivo en particular, ya sea un ordenador o un dispositivo embebido, por una cantidad determinada de tiempo. Entonces, el dispositivo intenta utilizar esa dirección IP cuando se conecta al servidor DHCP hasta su vencimiento, y el servidor DHCP no asigna la dirección IP a cualquier otro dispositivo hasta que venza el contrato.

Obtención de una dirección

El desafío que enfrentan los diseñadores de sistemas embebidos es que si un dispositivo se enciende cuando no está conectado directamente a un servidor DHCP, no puede obtener una dirección IP desde el servidor. Un usuario de Linux en una computadora de escritorio puede actualizar la conexión de forma manual cuando el equipo está conectado a un servidor, pero los sistemas embebidos no tienen esta opción. Linux diseñadores de sistemas embebidos resolver este problema mediante la adición de código para comprobar si el cliente DHCP del dispositivo ha asegurado una concesión de IP activa y la conexión. Si esta comprobación muestra que DHCP no tiene una conexión activa, envía el cliente DHCP el comando para volver a intentarlo. Este bucle continúa hasta que se asegura una conexión activa.

Apoyo

Los sistemas embebidos tienen que tener mecanismos internos de copia de seguridad automática para resolver los problemas de conexión que los usuarios normalmente se pueden resolver a través de una interfaz de dispositivo. Uno de estos mecanismos de copia de seguridad para sistemas embebidos utilizando Linux es tener una dirección IP estática, el dispositivo puede utilizar si tiene una conexión activa a un servidor DHCP, pero no puede obtener una concesión de dirección IP regular. Configuración de Linux embebido de esta manera se garantiza que el dispositivo puede realizar sus funciones relacionadas con Internet, incluso si encuentra errores de arrendamiento con su servidor DHCP.