¿Qué es el DHCP?

El protocolo de configuración dinámica de host (DHCP) es un protocolo de red que funciona en la capa de aplicación del conjunto de protocolos de Internet (IP). Un servidor que utilice DHCP podrá asignar dinámicamente direcciones IP y otros parámetros de configuración de la red a los dispositivos de la misma, permitiendo así la comunicación con una segunda red. El protocolo puede implementarse en redes de cualquier tamaño, desde pequeñas redes de área doméstica (HAN) hasta grandes redes de área de campus (CAN) e incluso las redes utilizadas por los proveedores de servicios de Internet (ISP).

¿Cómo funciona DHCP?

El DHCP funciona en modo cliente/servidor, donde el servidor establece un conjunto de direcciones IP disponibles para una red. Un servidor DHCP también proporciona la puerta de enlace de la red, las máscaras de subred, los servidores de nombres y la cantidad de tiempo ("arrendamiento") que será válida una determinada dirección IP. Un cliente DHCP recupera esos parámetros y los utiliza para unirse a la red existente. En los hogares y las pequeñas oficinas, un router también actúa como servidor DHCP. En una red más grande, un servidor dedicado puede actuar como servidor DHCP junto con la realización de otras actividades de servidor.

El proceso de obtención de una dirección IP desde el servidor DHCP es el siguiente.

Un ordenador (cliente) configurado para utilizar DHCP envía una solicitud de DHCP DISCOVER a la red.

Un Servidor DHCP recibe una solicitud de DHCP DISCOVER, busca el conjunto de direcciones IP disponibles y elige una dirección IP para ser asignada. El Servidor DHCP intenta encontrar la misma dirección IP para el cliente si se le asignó una dirección IP anteriormente. El servidor DHCP envía una respuesta de OFERTA DHCP al cliente.

El cliente recibe la respuesta de la Oferta DHCP y responde al servidor DHCP enviando el paquete DHCP REQUEST para aceptar la oferta.

El servidor DHCP envía un paquete ACK (acknowledge) para confirmar la asignación de la dirección IP. Si la dirección IP ya no está disponible, se envía el paquete NACK (No acknowledge) y el proceso se repite hasta que el cliente recibe una dirección IP válida del servidor.

¿Cuáles son las ventajas de utilizar DHCP?

Un ordenador, una tableta o un smartphone que necesite unirse a una red existente (de casa o de la oficina) debe estar configurado correctamente para comunicarse con otros dispositivos de la red. Configurar manualmente las direcciones IPv4 o IPv6 estáticas junto con la información específica de la red da lugar a errores humanos, ya que hay que introducir un número importante de dígitos. Además, la configuración manual puede acabar asignando una misma dirección IP a varios dispositivos, provocando un conflicto de IP. El DHCP automatiza ese engorroso proceso manual y asigna la dirección IP de forma dinámica. También puede interesarle leer las direcciones IP estáticas y dinámicas.

El DHCP permite a los administradores de red gestionar de forma centralizada y automatizar la asignación de las direcciones IP sin tener que preocuparse de asignar una dirección IP duplicada a varios ordenadores, y volver a introducir la puerta de enlace de la red, la máscara de subred y otra información relacionada con la red a cada ordenador y, por lo tanto, hacer la administración de la red mucho más fácil de gestionar.

Cómo saber si estás usando DHCP

Si quieres saber si estás usando una dirección IP dinámica o estática, puedes usar el comando ipconfig en Windows. En máquinas MAC o Linux, puedes usar el comando ipconfig.

Estructura y funcionalidad

Un servidor DHCP realiza su función permitiendo a los dispositivos de su red solicitar direcciones IP y otras configuraciones de red al ISP. Este proceso permite que la red funcione sin necesidad de que un administrador de red asigne manualmente las direcciones IP a cada dispositivo de la red. El protocolo fue diseñado con el modelo cliente-servidor en mente y, por lo tanto, cada vez que un dispositivo se conecta a la red, el software del cliente DHCP emitirá una consulta a todos los dispositivos de la red para solicitar información. La consulta es reconocida por cualquier servidor DHCP de la red, que gestionará un conjunto de direcciones IP y otros ajustes de configuración importantes por defecto, como la pasarela por defecto, el nombre de dominio, los servidores de tiempo y los servidores de nombres.

El servidor que reconoce la solicitud puede responder con la información relevante para cada cliente; información que habría sido preconfigurada por un administrador de red. En el caso de que esta información no haya sido preconfigurada por un administrador de red, responderá en cambio con una dirección específica y cualquier otra información que sea adecuada para toda la red y durante el periodo de tiempo válido. Estas consultas suelen enviarse inmediatamente después del arranque de un cliente y periódicamente después, antes de que la información llegue a su fin. También hay que tener en cuenta que cada vez que el cliente solicita nueva información para una asignación, suele pedir los mismos valores pero esto puede ser cambiado por el administrador de la red dependiendo de las políticas de asignación configuradas en el servidor.

La asignación de direcciones IP puede hacerse de tres maneras, dependiendo de la implementación del servidor DHCP. La asignación dinámica se lleva a cabo cuando el administrador de la red denota un rango de direcciones IP para que el servidor las asigne a los clientes durante un periodo de tiempo determinado. Este proceso de solicitud y concesión funciona como un arrendamiento en el que el servidor puede reclamar las direcciones que no han sido renovadas por el cliente para reasignarlas a otros clientes.

La asignación automática es similar a la asignación dinámica, ya que el administrador de la red establece el rango de direcciones IP para que el servidor las utilice; sin embargo, estas direcciones están permanentemente ligadas a los clientes que se conectan en el servidor. Esto significa que el servidor también mantendrá un registro de qué direcciones están vinculadas a qué clientes para que cuando un cliente se vuelva a conectar a ese servidor, pueda recibir la misma dirección IP que la última vez que se conectó.

Por último, la asignación manual (o estática) se lleva a cabo mediante la configuración por parte del administrador de la red de un esquema de asignación para que el servidor lo utilice. Una vez configurado, el servidor asigna a cada cliente una dirección IP privada basada en su dirección de control de acceso al medio (MAC). En el caso de que no se pueda mapear una coincidencia con la dirección MAC del cliente, el servidor puede utilizar uno de los otros métodos de asignación en su lugar.

El protocolo se utiliza tanto para IPv4 como para IPv6 y realiza las mismas tareas en ambas versiones, pero los detalles de cada una de ellas difieren lo suficiente como para que puedan considerarse dos protocolos distintos. Independientemente de esto, el protocolo hace uso del Protocolo de Datagramas de Usuario (UDP) para utilizar un modelo sin conexión. Utiliza dos números de puerto UDP para sus operaciones: el número 67 se utiliza para el servidor y el 68 para el cliente. Estas operaciones pueden dividirse en cuatro fases: descubrimiento del servidor, oferta de arrendamiento IP, solicitud de arrendamiento IP y acuse de recibo de arrendamiento IP. Un acrónimo común utilizado para describir estas fases es DORA, que significa descubrimiento, oferta, solicitud y reconocimiento.

En la fase de descubrimiento, el cliente emite un mensaje DHCPDISCOVER a todos los dispositivos de la red utilizando la dirección 255.255.255.255 o la dirección de difusión de la subred específica. También hay que tener en cuenta que un cliente puede solicitar su última dirección IP conocida, pero los resultados pueden variar. Si el cliente está en la misma red que cuando se conectó por primera vez, su solicitud será reconocida sin problemas; sin embargo, si este no es el caso, dependerá de si el servidor es autoritativo o no. Un servidor DHCP autoritativo denegará la solicitud y obligará al cliente a pedir una nueva dirección, mientras que un servidor DHCP no autoritativo ignorará la solicitud, lo que puede hacer que se agote el tiempo de espera para el cliente, dependiendo de si se ha implementado, y que solicite una nueva dirección IP.

Durante la fase de oferta, un servidor DHCP recibe un mensaje DHCPDISCOVER de un cliente en la red y responde reservando una dirección IP para el cliente y responde con un mensaje DHCPOFFER al cliente. Esta respuesta-oferta contendrá la dirección IP, la máscara de subred, el tiempo de duración del arrendamiento, la dirección MAC del cliente y la dirección IP del servidor.

En respuesta a la oferta realizada por un servidor DHCP, el cliente responde con un mensaje DHCPREQUEST para entrar en la fase de solicitud. Este mensaje indica que el cliente acepta la oferta de un servidor, pero hay que tener en cuenta que aunque un cliente puede recibir numerosas ofertas de numerosos servidores, sólo puede emitir una solicitud para aceptar una de las ofertas. Dependiendo de la opción de identificación del servidor en la solicitud y la mensajería de difusión, es posible que todos los servidores DHCP sean informados de qué oferta ha aceptado un cliente. Esto permite que los servidores que puedan tener ofertas pendientes las retiren y devuelvan la dirección IP reservada a su pool de direcciones disponibles.

Finalmente, una vez que el servidor recibe el mensaje DHCPREQUEST como aceptación de su oferta por parte de un cliente, el proceso entra en la fase de reconocimiento haciendo que el servidor envíe un mensaje DHCPACK de vuelta al cliente. Este mensaje incluirá la duración del contrato de arrendamiento y cualquier otro parámetro de configuración que el cliente pueda haber solicitado y pone fin al proceso.

También hay que tener en cuenta que es posible configurar un Relé DHCP o un Ayudante DHCP si el cliente y el servidor están en diferentes subredes dentro de una red. En estos escenarios, el mensaje DHCPDISCOVER se enviaría a la subred en la que se encuentra el servidor. Esto se consigue teniendo dos agentes de retransmisión configurados en ambas subredes para que puedan retransmitir los mensajes a los destinatarios previstos.

Seguridad

El DHCP no suele tener ningún sistema de autorización y puede ser víctima de tres tipos de ataques. Los servidores no autorizados pueden proporcionar información falsa a los clientes, ya que no hay forma de que un cliente identifique un servidor DHCP válido en la red. Estos servidores DHCP fraudulentos pueden aprovecharse de esto y ser utilizados en un ataque de denegación de servicio (DOS) para impedir el correcto funcionamiento del servidor o en un ataque man-in-the-middle para obtener información. A la inversa, también puede haber clientes no autorizados que obtengan acceso a los recursos, ya que tampoco hay forma de que el servidor autentique a un cliente DHCP. Esto permitiría a los clientes obtener una dirección IP del servidor a pesar de no ser un cliente válido, enmascarándose como tal. Un número suficiente de clientes no autorizados haciendo esto podría agotar la reserva de direcciones de un servidor y también afectar al correcto funcionamiento de la red. La tercera clasificación de los ataques es la de los ataques repetitivos y exhaustivos de clientes maliciosos.

Para combatir estos ataques, se creó el Protocolo de Opción de Información del Agente de Retransmisión (también llamado Opción 82) para permitir a las redes adjuntar etiquetas de autorización a los mensajes DHCP. Esta etiqueta se utilizaría entonces para controlar el acceso de un cliente a los recursos del servidor y, dado que un cliente no tenía conexión con la red ascendente del agente de retransmisión, la falta de validación no impediría al servidor confiar en la etiqueta. La autenticación de los mensajes DHCP fue otra de las innovaciones realizadas en la forma de validar los mensajes, aunque no se extendió debido a los problemas a la hora de gestionar las claves para un gran número de clientes.

En general, estas técnicas se conocen como DHCP Snooping y, teniendo en cuenta que la importancia y el uso del protocolo no va a ir a ninguna parte pronto, son grandes habilidades para cualquier administrador de red.

Subir