DHCPREQUEST is a Dynamic Host Configuration Protocol message that clients send to request specific configuration parameters, most commonly an IP address lease, and serves as the critical third step in the DORA exchange where a lease becomes binding. The message is used in multiple scenarios including selecting a server's offer after DHCPDISCOVER, confirming a remembered address after reboot, and renewing or rebinding existing leases as they approach expiration. On networks with thousands of clients, the volume and timing of DHCPREQUEST messages significantly shape server load, making proper troubleshooting of these messages essential for detecting relay agent problems, address exhaustion, VLAN transition issues, and potential security threats from rogue servers.
Cómo funciona DHCPREQUEST
Un cliente envía un DHCPREQUEST en varias situaciones, y el contenido del mensaje varía en cada una de ellas. El caso más conocido es el tercer paso del intercambio DORA inicial, tal y como se describe en el RFC 2131.
- Selección de un servidor: tras enviar un DHCPDISCOVER, el cliente puede recibir ofertas de varios servidores. Elige uno y difunde un DHCPREQUEST que incluye el identificador del servidor elegido y la dirección ofrecida.
- Notificación a otros servidores: dado que el mensaje se difunde, los servidores cuyas ofertas no han sido seleccionadas ven el identificador del servidor, reconocen el rechazo y pueden liberar la dirección que habían reservado.
- Recepción de la respuesta: El servidor elegido responde con un DHCPACK para confirmar la concesión y enviar las opciones de configuración. Responde con un DHCPNAK si ya no puede conceder la dirección.
- Renovación o reasignación: cuando una concesión está a punto de caducar, el cliente envía de nuevo un DHCPREQUEST. En el momento de la renovación, envía un mensaje de unidifusión al servidor original, y en el momento de la reasignación, envía un mensaje de difusión a cualquier servidor.
Un cliente que se reinicia y recuerda una concesión anterior también puede enviar un DHCPREQUEST sin un DHCPDISCOVER, para confirmar que la dirección sigue siendo válida en la red actual. En ese caso, no se incluye ningún identificador de servidor, por lo que cualquier servidor que conozca la asociación puede responder.
Problemas habituales con DHCPREQUEST
Un cliente que se ha trasladado a otra VLAN o subred suele seguir solicitando su antigua dirección y recibe un DHCPNAK cada vez. Normalmente se recupera reiniciando el proceso de descubrimiento, pero un cliente que sigue reintentando indica que la caché está obsoleta o que el ámbito del servidor es incorrecto.
Los mensajes DHCPREQUEST de difusión nunca llegan al servidor si falta el agente de retransmisión o si su dirección auxiliar es incorrecta. En ese caso, los clientes agotan el tiempo de espera y las capturas de paquetes muestran solicitudes en la VLAN del cliente sin respuesta.
Un segundo servidor no autorizado o mal configurado puede enviar DHCPNAK u ofertas conflictivas en respuesta a las solicitudes. Los clientes pierden sus concesiones válidas u obtienen puertas de enlace y configuraciones DNS erróneas, y el identificador del servidor en las solicitudes capturadas muestra qué servidor fue elegido.
Los tiempos de concesión muy cortos o el reinicio simultáneo de muchos clientes producen picos de mensajes DHCPREQUEST que ralentizan las respuestas del servidor. Alargar los tiempos de concesión o escalonar los reinicios reduce estos picos.
En un par de conmutación por error, un socio que carezca de datos de concesión actuales puede responder a una renovación con un DHCPNAK o ignorarla. Los clientes pierden su dirección, por lo que primero hay que comprobar el estado de la conmutación por error y la sincronización de las concesiones.