Características del Servicio DHCP

DHCP es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista o rango de direcciones IP dinámicas y las va asignando a los clientes a medida que se las solicitan.

El servidor sabe en todo momento quién ha estado en posesión de cada IP, cuánto tiempo la ha tenido y a quién se la ha asignado en cada momento.

Algunas de las ventajas de DHCP son:

  • Se centraliza la configuración de los hosts de la red.
  • Los cambios son más sencillos para el administrador porque al estar centralizado en un ordenador si queremos cambiar cualquier cosa (La subred por ejemplo), no hay que ir ordenador por ordenador.
  • No hay conflictos de duplicación de direcciones IP en la red.

Como desventajas de DHCP podemos nombrar:

  • Funciona por difusión por lo que en determinados momentos puede saturar la red.
  • Aspectos relacionados con la seguridad. Si un servidor DHCP malintencionado es introducido a la red puede ofrecer direcciones IP a los usuarios que se conecten a ella. Si un usuario se conecta al DCHP malicioso, la información enviada a través de esa conexión puede ser interceptada o vista, violando la privacidad del usuario y la seguridad de la red. Este tipo de ataque es del tipo ataque del hombre en el medio.
  • Toda la configuración de los equipos de la red depende de un sólo equipo. Si este falla todos los equipos que intenten renovar su concesión pierden acceso a la red

Entre los parámetros de red que puede recibir un cliente, los más destacados son:

  • Dirección IP
  • Máscara de red
  • Dirección del servidor DNS
  • Nombre del Dominio
  • Puerta de enlace de la dirección IP

Captura de paquete DHCPACK en el que se ven los parámetros de configuración que se envían al cliente: Aparte puede enviar los siguientes parámetros:

  • Dirección de broadcast
  • Tiempo máximo de espera del ARP (Protocolo de Resolución de Direcciones según siglas en inglés)
  • MTU para la interfaz
  • Servidores NIS
  • Dominios NIS
  • Servidores NTP (Protocolo de Tiempo de Red)
  • Servidor SMTP
  • Servidor TFTP
  • Nombre del servidor WINS

El servidor puede hacer tres tipos de asignaciones de direcciones:

  1. Asignación manual: El administrador configura manualmente las direcciones IP del cliente en el servidor DHCP. Cuando la estación de trabajo del cliente pide una dirección IP, el servidor mira la dirección MAC y procede a asignar la que configuró el administrador.
  2. Asignación automática: Al cliente DHCP se le asigna, de forma aleatoria de entre las direcciones libres, una dirección IP cuando contacta por primera vez con el servidor DHCP. La concesión se mantiene hasta que el cliente la libera.
  3. Asignación dinámica: El servidor DHCP asigna una dirección IP a un cliente de forma temporal. Cuando este tiempo acaba, la IP es revocada y la estación de trabajo ya no puede funcionar en la red hasta que no pida otra.

Esquema resumido de funcionamiento de DHCP: Esquema un poco más detallado de funcionamiento del protocolo DHCP: DHCP usa los puertos UDP 67 para enviar mensajes al servidor y el puerto UDP 68 para enviar mensajes al cliente.

El protocolo funciona en cuatro fases básicas:

  1. Un cliente DHCP envía un mensaje DCHP DISCOVER por difusión. Básicamente se podría expresar como: ¿Hay por ahí algún servidor DCHP que me dé mi configuración?
  2. Un servidor DHCP recibe un mensaje DCHP DISCOVER y responde con un ofrecimiento DCHP OFFER. Básicamente: Ey… yo te puedo dar tu configuración si quieres.
  3. El cliente DHCP recibe el ofrecimiento del servidor y responde con un DHCP REQUEST. Hay que tener en cuenta que en la red podría haber varios servidores DHCP y el cliente podría recibir varios frecimientos de manera que con el mensaje DCHP REQUEST está diciéndole a un servidor DHCP concreto que quiere que sea él el que le dé su configuración.
  4. El servidor DHCP recibe el mensaje DHCP REQUEST y envía el mensaje de confirmación DCHP ACK al cliente indicándole que efectivamente le da su configuración. Esta señal también es enviada por el clienta cuando detecta que su concesión está a punto de caducar.

Los paquetes anteriores se generan siempre en el proceso de obtención inicial de la configuración de red. Además, el protocolo incluye otros tipos de paquetes:

  • DHCPDECLINE: el mensaje DHCPDecline lo envía el cliente al servidor, este mensaje se produce cuando un cliente recibe que existe en la red una dirección igual que la que a él le está facilitando el servidor. En ese momento el cliente emite el mensaje DHCPDecline y el servidor debe marcar esa dirección como NO DISPONIBLE y notificar al administrador local que hay un posible fallo de configuración.
  • DHCPNAK: lo emite el servidor cuando el cliente ha respondido incluyendo una IP errónea, puede darse porque haya expirado el tiempo de vida de esa IP en el servidor y haya sido entregada a otro equipo.
  • DHCPRELEASE el cliente notifica al servidor que libera la dirección IP.
  • DHCPINFORM el cliente solicita opciones extra de configuración al servidor.

En la siguiente imagen vemos un esquema de funcionamiento del protocolo DHCP con detalles de las direcciones IP de origen y destino y con los puertos de origen y destino de cada paquete:

Veamos ahora como es el proceso del protocolo DHCP cuando hay más de un servidor en la red:

En el caso de que un cliente DHCP no consiga su configuración éste se autoasignará una dirección IP del intervalo 169.254.0.1 –169.254.255.255, si es que el cliente DHCP está configurado con APIPA (opción por defecto en los sistemas operativos de Microsoft).

APIPA es un mecanismo en el que sólo se asigna la dirección IP y nada más, permitiendo de esta manera que los equipos del mismo segmento de red se puedan comunicar entre ellos.

Un préstamo o plazo de concesión ocurre cada vez que un servidor DHCP otorga una configuración a un cliente DHCP. El préstamo (lease) se otorga con un tiempo determinado que cuando se vence debe ser renovado.

El protocolo de arranque BOOTP, es un protocolo de configuración de host desarrollado antes que DHCP. DHCP supone una mejora con respecto a BOOTP y resuelve determinadas limitaciones que tenía BOOTP como servicio de configuración de host

Las diferencias más importantes son:

BOOTP DHCP
Diseñado antes que DHCP. Diseñado después que BOOTP.
El plazo por defecto de concesión es de 30 días Plazo por defecto de concesión de 8 días
Para renovar la concesión se deben reiniciar Se puede renovar la concesión sin reiniciar el equipo
Admite un número limitado de parámetros Admite un número mayor de parámetros
BOOTP Pensado para configurar estaciones de trabajo sin disco con capacidades de arranque limitadas DHCP pensado para equipos que cambian de ubicación o configuración con frecuencia