El protocolo DHCP (Dynamic Host Configuration Protocol) es fundamental para la gestión de direcciones IP en redes. Este proceso permite la asignación dinámica de direcciones IP a los dispositivos, facilitando la administración de la red. A continuación, se detallan las fases del proceso de concesión DHCP:
Fase 1: Descubrimiento
La fase de descubrimiento es el primer paso en el proceso de concesión DHCP. Se inicia cuando:
- Un cliente DHCP arranca por primera vez y se inicia la pila TCP/IP.
- Un dispositivo configurado manualmente con una dirección IP cambia a la asignación dinámica mediante DHCP.
- Una dirección IP solicitada no está disponible.
El cliente DHCP inicia el proceso enviando un mensaje de difusión para encontrar un servidor DHCP. Este mensaje se envía cuando el cliente está configurado para obtener una dirección IP automáticamente.
Los puntos clave de esta fase son:
- El cliente arranca y comienza la pila TCP/IP.
- El cliente difunde un mensaje DHCPDISCOVER en la red, solicitando una dirección IP.
- El mensaje DHCPDISCOVER se envía al puerto UDP 68 (origen) y 67 (destino).
- El mensaje utiliza las siguientes direcciones:
- Dirección del cliente: 0.0.0.0
- Dirección de destino: 255.255.255.255 (broadcast)
- El mensaje también incluye:
- Dirección MAC del cliente.
- Nombre NetBIOS del cliente.
- Los servidores DHCP utilizan la dirección MAC y el nombre NetBIOS para identificar al cliente.
- El cliente espera 1 segundo por una oferta de dirección IP.
- Si no recibe oferta, reintenta a intervalos de 2, 4, 6 y 16 segundos.
- Si no hay respuesta, el cliente se asigna una dirección IP automática (APIPA).
- El cliente sigue enviando mensajes de descubrimiento cada 5 minutos hasta obtener una IP de un servidor DHCP.
Fase 2: Oferta de Alquiler
Los servidores DHCP que escuchan en el segmento de red del cliente reciben el mensaje DHCPDISCOVER. Los servidores que tienen direcciones IP disponibles responden con un mensaje DHCPOFFER.
El mensaje DHCPOFFER contiene:
- Dirección IP del servidor DHCP que ofrece la dirección.
- Dirección MAC del servidor DHCP.
- La dirección IP ofrecida.
- La máscara de subred asociada.
- La duración del contrato de arrendamiento.
- Dirección MAC del cliente.
Cuando un servidor DHCP ofrece una dirección IP, la reserva en su base de datos para evitar ofrecerla a otro cliente. La reserva se libera si el cliente rechaza la dirección.
El cliente acepta la primera oferta recibida y envía un mensaje DHCPREQUEST para indicar su aceptación.
Fase 3: Selección de Alquiler
En esta fase, el cliente selecciona una de las direcciones IP ofrecidas. Envía un mensaje DHCPREQUEST al servidor DHCP que realizó la primera oferta. Este mensaje indica que el cliente acepta la dirección IP ofrecida y solicita su arrendamiento. El mensaje DHCPREQUEST se difunde para que otros servidores DHCP retiren sus ofertas. El mensaje incluye la dirección IP del servidor DHCP seleccionado.
Fase 4: Reconocimiento de Alquiler
Cuando un servidor DHCP recibe el mensaje DHCPREQUEST, responde con un mensaje DHCPACK. En esta etapa, el servidor marca la dirección IP como arrendada en su base de datos.
El mensaje DHCPACK contiene:
- La dirección IP asignada al cliente.
- Información adicional de configuración TCP/IP.
Un servidor DHCP también puede responder con un mensaje DHCPNACK, indicando que la dirección IP ofrecida ya no es válida. Esto ocurre cuando la dirección IP ya no está disponible o cuando un cliente intenta renovar un arrendamiento.
Renovación de DHCP
Para evitar que una dirección IP expire, se puede configurar un arrendamiento de duración ilimitada. Si no, el arrendamiento expira.
Un cliente DHCP envía un mensaje de solicitud de renovación cuando el período de alquiler alcanza el 50%. Si el servidor DHCP responde, reinicia el período de alquiler y aplica cambios de configuración. Si el servidor no responde, el cliente sigue usando la dirección IP. El cliente reintenta la renovación al 87.5% del período de alquiler. Si el servidor no responde, cualquier otro servidor DHCP puede responder.
El proceso de renovación es automático, pero se puede iniciar manualmente. Los comandos ipconfig /renew
y ipconfig /release
permiten gestionar el arrendamiento:
ipconfig /renew
: Solicita la renovación del arrendamiento.ipconfig /release
: Libera la dirección IP arrendada.