El protocolo DHCP

Agosto 2017

Qué es DHCP

DHCP (Dynamic Host Configuration Protocol, protocolo de configuración de host dinámico) es un protocolo que permite que un equipo conectado a una red pueda obtener su configuración (principalmente, su configuración de red) en forma dinámica (es decir, sin una intervención especial). Solo tienes que especificarle al equipo, mediante DHCP, que encuentre una dirección IP de manera independiente. El objetivo principal es simplificar la administración de la red.

El protocolo DHCP 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 encontrará los archivos que se cargarán y copiarán 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 enviará 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.

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 (solicitudes varias 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.

Qué es una 'concesión' en 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), es aconsejable ofrecer concesiones por períodos cortos. En cambio, para una red compuesta principalmente por equipos fijos que se reinician rara vez, las concesiones por períodos 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.

Cómo conseguir un 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. Para mayor información, el primer proyecto sobre DNS dinámicos tiene fecha de marzo de 1996.

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

Más información sobre el protocolo DHCP

El documento principal sobre DHCP está compuesto por los indispensables RFC:

RFC 821 - BOOTP (Protocolo Bootstrap)
RFC 1542 - Aclaraciones y ampliaciones para el protocolo Bootstrap (Interacción entre BOOTP y DHCP)
RFC 2131 - DHCP
RFC 2132 - Opciones DHCP y ampliaciones para proveedores BOOTP

Consulta también


The DHCP protocol
The DHCP protocol
Le protocole DHCP
Le protocole DHCP
Il protocollo DHCP
Il protocollo DHCP
O protocolo DHCP
O protocolo DHCP
Última actualización: 8 de marzo de 2017 a las 04:34 por Carlos-vialfa.
El documento «El protocolo DHCP» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.