El protocolo DHCP (Dynamic Host Configuration Protocol)

IP cuenta con muuuchos protocolos que contribuyen a hacer más fácil conectar redes entre sí. En este mundo hiperconectado es una cosa a tener muy en cuenta. El protocolo DHCP es uno de ellos. ¡Veamos para qué sirve!

 

¿Qué es el protocolo DHCP?

El protocolo DHCP o Dynamic Host Configuration Protocol (Protocolo de Configuración Dinámica de Host, en Español) es un protocolo de tipo cliente-servidor usado para asignar de forma automática direcciones IP dinámicas a los dispositivos dentro de una LAN que deseen conectarse a una red TCP/IP (Internet) y transmitir datos.

En vez de hacerlo un administrador de red manualmente lo realiza el servidor DHCP. Anteriormente, esa función la realizaba el protocolo BOOTP, pero fue sustituido con éxito por este.

DHCP2
Servidor DHCP en una LAN

¿Para qué sirve?

Cuando un ordenador o dispositivo electrónico se enciende y desea conectarse a Internet, inicialmente no dispone de una dirección IP que se lo permita. Por eso, cada vez que eso ocurre algo o alguien tiene que encargarse de asignar dicha dirección y de los parámetros adicionales necesarios.

Eso lo realiza de forma eficiente el servidor DHCP: Siempre que una IP este libre, se la asigna a un host que la necesite automáticamente, ahorrando así esfuerzos innecesarios a los proveedores de Internet.

¿El protocolo DHCP informa al DNS? Sí. Además hace que el servidor de nombres de la red se actualice automáticamente

¿Cómo funciona?

  • Mediante el modelo cliente – servidor. El cliente es el dispositivo que desea recibir su dirección IP y el servidor es el encargado de proponer de forma automatizada una dirección adecuada. Esto se consigue gracias a varios mensajes con una función muy determinada que veremos más adelante.
  • Para que funcione el protocolo cliente y servidor tienen que estar en la misma red. Si no lo están existen DHCP relay agents que transmiten el mensaje entre redes distintas, pero entonces tiene que haber un relay agent por red.
  • En una misma red puede haber más de un servidor DHCP, en este caso el cliente puede escoger qué dirección quiere.
  • Usando el protocolo de transporte no fiable UDP.
  • Gracias a los puertos 67 y 68. El 67 en caso del cliente y el 68 en caso del servidor.
  • Si un cliente apaga y vuelve a arrancar puede mantener la configuración anterior y empezar la comunicación con el servidor con DHCPREQUEST, como veremos en el siguiente apartado.

Anatomía del protocolo – ¿Cómo se comunican el cliente DHCP y el servidor DHCP?

Al hablar del funcionamiento del protocolo te dije que funcionaba gracias a una serie de mensajes cada uno con una función concreta. Ha llegado el momento de hablar de ellos:

DHCP

1. DHCP Discovery

El mensaje que inicia el protocolo. Siempre es enviado por el cliente.

El mensaje DHCPDISCOVER se envía en broadcast, con:

  • puerto origen 67
  • puerto destino 68
  • dirección IP origen 0.0.0.0
  • dirección IP destino 255.255.255.255.

¿La razón? El cliente no tiene IP asignada todavía y no sabe qué IP tiene el servidor DHCP.

Así pues, todos los dispositivos de la red recibirán el mensaje, pero solamente los servidores DHCP lo aceptarán y los demás dispositivos lo descartarán gracias a que en el puerto destino se especifica puerto 68.

Contenido del mensaje: El cliente le pregunta al servidor DHCP si tiene alguna dirección IP libre que le pueda ofrecer.

2. DHCP Offer

Los servidores responden con un mensaje DHCPOFFER con:

  • puerto origen 68
  • puerto destino 67
  • dirección IP origen (la del servidor DHCP)
  • dirección IP destino 255.255.255.255 (broadcast).

Todos los dispositivos de la red lo descartan menos el dispositivo que tiene el protocolo DHCP en marcha y que por lo tanto usa el puerto 67.

En este caso, cada servidor le propone al cliente una dirección IP con unos parámetros de configuración determinados.

3. DHCP Request

El cliente responde qué dirección IP elige de la misma forma (IP y ports) que en el DHCP Discovery:

  • puerto origen 67
  • puerto destino 68
  • dirección IP origen 0.0.0.0
  • dirección IP destino 255.255.255.255.

Aunque realmente solo le interesa recibir el mensaje al servidor DHCP elegido, se envía en broadcast para que los otros servidores queden informados de la elección.

4. DHCP Pack (ACKNOWLEDGE)

Una vez verificada la elección, el servidor procede a enviar al cliente la IP definitiva junto con la configuración de red (DNS, máscara de subred, puerta de enlace, proxy, etc). DHCPACK usa:

  • puerto origen 68
  • puerto destino 67
  • dirección IP origen (la del servidor DHCP)
  • dirección IP destino 255.255.255.255 (broadcast).

El cliente guarda los datos y se conecta a Internet con su nueva IP.

4 bis. DHCP Nak

En el caso que ningún servidor DHCP de la red encontrara una dirección para asignar al cliente, que la especificación del cliente fuese errónea o simplemente que caducase la concesión de la IP se le enviaría este mensaje denegando la configuración de una nueva dirección IP.

DHCP discovery
Diagrama de cómo interactua el cliente con el servidor

Historia del protocolo DHCP

Se incluyó por primera vez en el RFC 1531 en octubre de 1993 como extensión del protocolo BOOTP.

Se necesitaba mejorar dicho protocolo, ya que la asignación de IP era manual y no se reutilizaban las IP en desuso.

Muchos trabajaron en mejorar el protocolo, que ganó popularidad en 1997 con al inclusión del mensaje DHCPINFORM.

A día de hoy se mantiene como protocolo fijo para las direcciones IPv4. Las direcciones IPv6 usan DHCPv6, documentado en el RFC3315 en 2003.

Asignación de direcciones IP

Hay 3 formas:

Manual

Se asigna una dirección IP a cada máquina. Cada cliente tiene una dirección previamente especificada (por ejemplo asociando la dirección IP con la MAC de cada dispositivo) y el servidor se encarga de proveérsela.

Se usa cuando se quiere controlar los usuarios que se conecten y evitar así que entren intrusos.

Automática

La asignación es sin límite de tiempo. El cliente que la solicite se quedará con la IP hasta que se apague, por ejemplo. Entonces la IP se liberará y volverá a estar utilizable.

Puedes encontrar este tipo de asignación en redes domésticas donde no hay una variación constante de dispositivos conectados.

Dinámica

En las asignaciones dinámicas en cambio sí hay un periodo de tiempo (leasing), el cual es determinado por el servidor DHCP.

El servidor DHCP ofrece un rango de direcciones IP (pool) que se pueden asignar a los clientes. Si se llega a quedar sin direcciones disponibles en la pool, no se asignan más direcciones IP.

Te puedes encontrar con este caso más a menudo de lo que piensas: En los bares o lugares públicos que ofrecen WiFi de forma gratuita hay un tope de usuarios conectados a la vez. Si ya se ha llegado a dicho tope puede ser que cuando te logees no te deje conectarte.

Una vez finalizado este lapso temporal el servidor pregunta al cliente si quiere que le conceda más tiempo, es decir otra concesión DCHP. Si no recibe respuesta significa que el cliente no la quiere, no hace el DHCP refresh  y libera la dirección IP.

DHCP leasing
Así es la espera que realiza el servidor DHCP

Parámetros configurables

Además de proporcionar una dirección IP, el protocolo DHCP permite especificar algunos parámetros adicionales que la complementan:

  • La máscara de subred que indicará qué netID y que hostID tendrá la IP en cuestión.
  • Una IP llamada Gateway (puerta de enlace) a la que el dispositivo transmitirá la información en caso de que quiera enviarla fuera de la red donde se encuentra.
  • Un Host name o nombre del cliente
  • Un Domain name, es decir, el nombre del dominio al que pertenece el cliente
  • La dirección IP y el nombre del servidor DNS del dominio
  • Servicios adicionales como un Proxy, en caso de que se use
  • MTU (Unidad de Transmisión Máxima)
  • etc

Ventajas y desventajas de activar DHCP

Así muy por encima todo es positivo en el protocolo DHCP. Optimiza muchísimo todo el proceso de obtención de IP.

Sin embargo, tiene un punto débil si no se siguen las instrucciones paso a paso, y es su seguridad.

Seguridad del DHCP

Tranquil@. Solamente incurrirás en un problema grave si alguien desconocido logra acceder a tu red privada. En el caso que así sea pueden pasar dos cosas:

  • Ataque de Denegación de Servicio: Si el atacante se hace pasar por un servidor DHCP corrupto y logra adelantarse a los demás y ser el primero en responder te puede enviar datos de configuración erróneos que impedirían que te pudieras conectar a internet.
  • Man in the middle (CRÍTICO): Si además consiguen acceder al router y desvían la puerta de acceso y el DNS podrían llegar a poder leer la información sin que ni tu ni el destinatario os enterarais (de aquí el nombre). Muchas veces este tipo de ataques se utilizan para conseguir información sensible como contraseñas de correo o datos bancarios.

Activar y desactivar DHCP para Windows

El protocolo DHCP (Dynamic Host Configuration Protocol)
5 (100%) 3 vote[s]

Martí Juncosa

Estudiante de ingeniería informática en la UPC (Universitat Politècnica de Catalunya).
Apasionado del SEO y las páginas web así como todo lo que tiene que ver con tecnología e innovación.

Comentar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

redes informáticas

Shortcodes Ultimate

Redes Sociales

Shortcodes Ultimate

¡Síguenos en Twitter!

Shortcodes Ultimate

Las mejores reseñas del mercado

guías de compra