Protocolo DHCP: qué es, para qué sirve y cómo funciona

Protocolo DHCP: qué es, para qué sirve y cómo funciona

DHCP es un protocolo que permite que un equipo conectado a una red pueda obtener su configuración, sobre todo de red, sin una intervención especial. Solo hay que especificarle al equipo, mediante DHCP, que encuentre una dirección IP de manera independiente. El objetivo es simplificar la administración de la red.

¿Qué es un protocolo de DHCP?

El protocolo DHCP (Dynamic Host Configuration Protocol, protocolo de configuración de host dinámico) sirve principalmente para distribuir direcciones IP en una red. Pero desde sus inicios se diseñó como un complemento del protocolo BOOTP (protocolo Bootstrap) que se utiliza, por ejemplo, cuando se instala un equipo a través de una red. BOOTP se usa junto con un servidor TFTP donde el cliente encuentra los archivos que se cargan y copian en el disco duro. Un servidor DHCP puede devolver parámetros BOOTP o la configuración específica a un determinado host.

¿Cómo funciona el protocolo DHCP?

Primero, se necesita un servidor DHCP que distribuya las direcciones IP. Este equipo será la base para todas las solicitudes DHCP, por lo cual debe tener una dirección IP fija. Por lo tanto, en una red puede tener solo un equipo con una dirección IP fija: el servidor DHCP.

El sistema básico de comunicación es BOOTP (con la trama UDP). Cuando un equipo se inicia no tiene información sobre su configuración de red y no hay nada especial que el usuario deba hacer para obtener una dirección IP.

Para esto, la técnica que se usa es la transmisión. Para encontrar y comunicarse con un servidor DHCP, el equipo simplemente envía un paquete especial de transmisión (transmisión en 255.255.255.255 con información adicional como el tipo de solicitud, los puertos de conexión, etc.) a través de la red local. Cuando el DHCP recibe el paquete de transmisión, contestará con otro paquete de transmisión (no olvide que el cliente no tiene una dirección IP y, por lo tanto, no es posible conectar directamente con él) que contiene toda la información solicitada por el cliente.

Cómo funciona el protocolo DHCP
© Unsplash

Se podría suponer que un único paquete es suficiente para que el protocolo funcione. En realidad, hay varios tipos de paquetes DHCP que pueden emitirse tanto desde el cliente hacia el servidor o servidores, como desde los servidores hacia un cliente:

  • DHCPDISCOVER: para ubicar servidores DHCP disponibles.
  • DHCPOFFER: respuesta del servidor a un paquete DHCPDISCOVER, que contiene los parámetros iniciales.
  • DHCPREQUEST: varias solicitudes del cliente, por ejemplo, para extender su concesión.
  • DHCPACK: respuesta del servidor que contiene los parámetros y la dirección IP del cliente.
  • DHCPNAK: respuesta del servidor para indicarle al cliente que su concesión ha vencido o si el cliente anuncia una configuración de red errónea.
  • DHCPDECLINE: el cliente le anuncia al servidor que la dirección ya está en uso.
  • DHCPRELEASE: el cliente libera su dirección IP.
  • DHCPINFORM: el cliente solicita parámetros locales, ya tiene su dirección IP.

El primer paquete emitido por el cliente es un paquete del tipo DHCPDISCOVER. El servidor responde con un paquete DHCPOFFER, fundamentalmente para enviarle una dirección IP al cliente. El cliente establece su configuración y luego realiza un DHCPREQUEST para validar su dirección IP (una solicitud de transmisión, ya que DHCPOFFER no contiene la dirección IP).

El servidor simplemente responde con un DHCPACK con la dirección IP para confirmar la asignación. Normalmente, esto es suficiente para que el cliente obtenga una configuración de red efectiva, pero puede tardar más o menos en función de que el cliente acepte o no la dirección IP.

Cómo funciona el proceso de generación de concesiones DHCP
© Unsplash

¿Cómo funciona el proceso de generación de concesiones DHCP?

Para optimizar los recursos de red, las direcciones IP se asignan con una fecha de inicio y de vencimiento para su validez. Esto es lo que se conoce como concesión. Un cliente que detecta que su concesión está a punto de vencer, puede solicitarle al servidor una extensión de la misma por medio de un DHCPREQUEST. Del mismo modo, cuando el servidor detecta que una concesión va a vencer, enviará un DCHPNAK para consultarle al cliente si desea extenderla. Si el servidor no recibe una respuesta válida, convertirá la dirección IP en una dirección disponible.

Esta es la efectividad de DHCP: se puede optimizar la asignación de direcciones IP planificando la duración de las concesiones. El problema es que si no se liberan direcciones, en un momento determinado no se podrá cumplir con nuevas solicitudes DHCP debido a que faltarán direcciones que puedan distribuirse.

En una red en la cual muchos equipos se conectan y desconectan permanentemente (redes de escuelas o de oficinas de ventas, por ejemplo), se aconseja ofrecer concesiones por periodos cortos. En cambio, para una red compuesta principalmente por equipos fijos que se reinician rara vez, las concesiones por periodos largos son más que suficientes. No se olvide que DHCP trabaja principalmente por transmisión y que puede ocupar ancho de banda en redes pequeñas con alta demanda.

¿Cuál es el servidor DHCP?

Internet Software Consortium desarrolla servidores DHCP en el mundo del software libre. Estos son los servidores DHCP más utilizados y los que mejor cumplen con el estándar RFC. Puesto que no es sencillo desarrollar un servidor DHCP, los servidores que ofrecen son actualizados regularmente. La última versión a la fecha es la 3.0, pero aún está en versión beta. Una de las principales innovaciones en esta versión es la posibilidad de actualizar en forma dinámica un DNS de acuerdo a las direcciones IP suministradas por el servidor DHCP.

Microsoft tiene su propio servidor DHCP para NT, pero este servidor aún no implementa la actualización dinámica de DNS.

Cuál es el servidor DHCP
© Unsplash

Enciclopedia