DORA es el acrónimo que describe el proceso de cuatro pasos (Discover, Offer, Request, Acknowledge) que utiliza el protocolo DHCP (Dynamic Host Configuration Protocol) para asignar de forma dinámica una dirección IP y los parámetros de red necesarios a un cliente cuando se conecta por primera vez a una red IP.
Cuando un dispositivo (como un ordenador o un smartphone) se conecta a la red, desconoce su propia dirección IP, la máscara de subred, la puerta de enlace predeterminada o los servidores DNS. Para resolver este problema, el cliente inicia una comunicación de intercambio de mensajes de cuatro fases basada en UDP (utilizando los puertos 67 y 68) interactuando con uno o varios servidores DHCP disponibles en la red.
¿Cómo funciona el proceso DORA paso a paso?
El establecimiento y configuración de la dirección IP se realiza secuencialmente a través de las siguientes cuatro etapas:
- 1. Discover (Descubrimiento): El cliente transmite un paquete de difusión (Broadcast) por toda la red local pidiendo un servidor DHCP disponible (origen
0.0.0.0, destino255.255.255.255). - 2. Offer (Oferta): El servidor DHCP (o varios, si existen múltiples en la red) recibe la petición y responde con una oferta que incluye una dirección IP libre, la máscara y la duración de la concesión (lease time).
- 3. Request (Petición): El cliente selecciona la primera oferta recibida y responde formalmente solicitando de manera oficial esa dirección IP concreta al servidor elegido mediante otro mensaje de difusión.
- 4. Acknowledge (Confirmación/Acuse de recibo): El servidor DHCP procesa la solicitud y envía un paquete de confirmación final que incluye todos los parámetros de configuración de red definitivos, cerrando el proceso de asignación.
Fases del proceso DORA del DHCP
| Fase DORA | Tipo de mensaje | Dirección IP Origen -> Destino | Descripción de la etapa |
|---|---|---|---|
| 1. Discover | Broadcast (Difusión) | 0.0.0.0 -> 255.255.255.255 |
El cliente busca activamente un servidor DHCP en la red local. |
| 2. Offer | Unicast / Broadcast | IP del Servidor -> 255.255.255.255 |
El servidor ofrece una IP candidata y los parámetros de red básicos. |
| 3. Request | Broadcast (Difusión) | 0.0.0.0 -> 255.255.255.255 |
El cliente acepta formalmente la IP propuesta por un servidor específico. |
| 4. Acknowledge | Unicast / Broadcast | IP del Servidor -> 255.255.255.255 (o IP asignada) |
El servidor valida la asignación y entrega la configuración completa. |
Parámetros entregados en el proceso DHCP
| Parámetro de red | Función que cumple en el equipo cliente |
|---|---|
| Dirección IP | Identificador lógico único temporal dentro de la subred local. |
| Máscara de subred | Delimita qué parte de la dirección IP corresponde a la red y cuál al host. |
| Puerta de enlace (Gateway) | Dirección IP del router para salir hacia otras redes o Internet. |
| Servidores DNS | Direcciones IP encargadas de traducir los nombres de dominio a IPs. |
Características principales:
- Automatiza por completo la configuración de red evitando errores manuales de IP duplicada.
- Utiliza tramas de difusión (Broadcast) en las primeras fases porque el cliente aún no posee una dirección IP válida.
- Gestiona las direcciones mediante un tiempo de concesión (Lease Time) que obliga a renovar la IP periódicamente.
- Garantiza la reutilización eficiente del pool de direcciones IP disponibles en la empresa u organización.
- Es totalmente complementario a servicios de reserva estática por dirección MAC para servidores o impresoras.
Analogía: Imagina que llegas a un hotel nuevo (la red). Entras en recepción pidiendo una habitación libre (Discover). El recepcionista te ofrece la habitación 204 (Offer). Tú aceptas formalmente esa habitación rellenando la hoja de inscripción (Request). Finalmente, el recepcionista te sella la llave magnética y te da las normas del hotel (Acknowledge).
Actividad práctica
Objetivo:
Visualizar el proceso de renovación de una dirección IP y comprobar la concesión DHCP en un equipo local.
Tareas:
- Abre la consola de comandos de tu equipo (CMD en Windows o Terminal en Linux).
- Libera tu dirección IP actual ejecutando el comando
ipconfig /release(Windows) osudo dhclient -r(Linux). Comprueba que te quedas sin conectividad temporalmente. - Vuelve a solicitar una nueva IP ejecutando el comando
ipconfig /renew(Windows) osudo dhclient(Linux) para forzar un nuevo intercambio DORA. - Consulta los detalles completos de la concesión DHCP ejecutando
ipconfig /all(en Windows) o revisando las rutas y interfaces de red. En Linux:ip ay tambiénip route. Consulta el archivo de concesión DHCP:sudo cat /var/lib/dhcp/dhclient.leases - Identifica en los resultados obtenidos la dirección IP de tu servidor DHCP (Puerta de enlace de DHCP), la fecha de obtención de la concesión y el momento exacto en el que caduca (Lease Expires).
Preguntas de reflexión:
- ¿Por qué los mensajes DHCP Discover y DHCP Request se envían utilizando una dirección IP de destino de difusión (
255.255.255.255) en lugar de una dirección IP concreta? - ¿Qué ocurre si un cliente envía un DHCP Discover pero ningún servidor DHCP en la red responde a su petición?
- ¿A qué se refiere el concepto de Lease Time o tiempo de concesión dentro del funcionamiento de DHCP?
- ¿Qué protocolo de transporte de la capa de transporte (TCP o UDP) y qué números de puertos utiliza el servicio DHCP para comunicarse?
- ¿Qué mecanismo de seguridad básico se puede implementar en los switches de red (nivel 2) para evitar la aparición de servidores DHCP maliciosos o no autorizados?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Por qué los mensajes DHCP Discover y DHCP Request se envían utilizando una dirección IP de destino de difusión (255.255.255.255) en lugar de una dirección IP concreta?
Porque en el momento de conectarse a la red, el cliente carece de una dirección IP propia y tampoco conoce la dirección IP del servidor DHCP. Al no poder comunicarse mediante direcciones Unicast individuales, utiliza el Broadcast para asegurarse de que su mensaje sea escuchado por cualquier servidor DHCP activo dentro de su mismo dominio de difusión local.
2. ¿Qué ocurre si un cliente envía un DHCP Discover pero ningún servidor DHCP en la red responde a su petición?
El cliente no podrá completar la configuración automática de red. En muchos sistemas operativos modernos, si no hay respuesta de un servidor DHCP tras varios reintentos, el propio sistema recurre a un mecanismo de direccionamiento automático conocido como APIPA (Automatic Private IP Addressing) en IPv4, autoasignándose una IP del rango reservado 169.254.0.0/16 para permitir comunicación local limitada.
3. ¿A qué se refiere el concepto de Lease Time o tiempo de concesión dentro del funcionamiento de DHCP?
Es el período de tiempo estipulado por el servidor DHCP durante el cual el cliente tiene el derecho legal y exclusivo de utilizar la dirección IP asignada. Cuando transcurre normalmente la mitad de ese tiempo (50%), el cliente inicia un proceso de renovación automática para seguir usando la misma IP sin interrumpir la conexión.
4. ¿Qué protocolo de transporte de la capa de transporte (TCP o UDP) y qué números de puertos utiliza el servicio DHCP para comunicarse?
Utiliza el protocolo UDP por motivos de velocidad y simplicidad, ya que al principio el cliente no tiene IP configurada para establecer sesiones orientadas a conexión TCP. Emplea el puerto 67 en el lado del servidor y el puerto 68 en el lado del cliente.
5. ¿Qué mecanismo de seguridad básico se puede implementar en los switches de red (nivel 2) para evitar la aparición de servidores DHCP maliciosos o no autorizados?
La técnica de seguridad denominada DHCP Snooping. Esta característica aplicada en los puertos del switch permite clasificar los puertos en fiables (donde se conecta el servidor DHCP legítimo de la red) y no fiables (donde se conectan los usuarios), bloqueando de forma automática cualquier mensaje DHCP Offer o ACK que provenga de puertos no autorizados y previniendo ataques de suplantación (DHCP Spoofing) y agotamiento del pool de direcciones (DHCP Starvation).