DHCP (Parte 1)

  DHCP (siglas en inglés de Dynamic Host Configuration Protocol, en español "protocolo de configuración dinámica de host") es un servidor que usa protocolo de red de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van quedando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.
  Cualquier dispositivo que se conecta a un red debe tener una dirección IP única y exclusiva mientras la esté utilizando. Por lo general, los dispositivos de red que no van a cambiar de lugar físico suelen tener una IP fija, pero aquellos aparatos informáticos que deben conectarse a la red pero se mueven con frecuencia sólo tienen dos opciones, o que alguien les configure la dirección IP manualmente cada vez que cambien su ubicación, o que estén conectados a un servidor DHCP, que lo hace automáticamente (esta última opción es la que suele estar por defecto en la mayoría de los dispositivos que se pueden conectar a la red).
  DHCP puede utilizarse tanto para IPv4 como para IPv6.
  
DHCPv4
  Esta es la forma más empleada de asignar direcciones IP actualmente, ya que la mayoría de los usuarios emplean el protocolo IPv4 en sus equipos.
  Existen varias maneras de asignar estas direcciones mediante un servidor DHCP:
  • Asignación manual: Un usuario, o administrador de sistemas, asigna una dirección IP preasignada al cliente, que el servidor DHCP comunica al dispositivo.
  • Asignación automática: DHCPv4 se encarga de asignar automáticamente una dirección IPv4 estática de forma permanente a un dispositivo tras seleccionarla de un grupo de direcciones disponibles. En esta opción la asignación no es temporal.
  • Asignación dinámica: DHCPv4 asigna dinámicamente, o arrienda, una dirección IPv4 seleccionada de un conjunto de direcciones durante un tiempo limitado. Este tiempo, que suele ser de entre 24 horas y una semana, aproximadamente, es escogido por el servidor, o bien está limitado por el uso de la dirección por parte del cliente. Cuando el cliente agota el tiempo asignado, debe solicitar otra dirección, aunque normalmente se le dará la misma.
  Cuando un equipo cliente arranca y se une/o necesita unirse a una red comienza el proceso de arrendamiento (cuyos mensajes de difusión pueden recordarse gracias a la palabra "DORA"):
  En primer lugar, el cliente envía un mensaje de difusión DHCPDISCOVER, que tiene su dirección MAC, para encontrar los servidores DHCPv4 disponibles. Como el cliente no tiene una dirección IP válida, emplea direcciones de difusión de capas 2 y 3.
  Cuando el servidor DHCPv4 recibe el mensaje del cliente, le reserva una dirección IPv4 para arrendarle. Por otra parte, crea una entrada ARP (dirección MAC del cliente + dirección IPv4 arrendada al cliente). Luego envía el mensaje DHCPOFFER (unidifusión que emplea la dirección MAC del servidor como origen y la dirección MAC del cliente como destino) al cliente.
  Tras recibir el mensaje, el cliente envía un mensaje DHCPREQUEST para indicar al servidor que acepta su oferta de dirección IP (también se envía este mensaje cuando se trata de una renovación de la misma), rechazando, al mismo tiempo, cualquier otra oferta de IP de otros servidores. Esta notificación es vinculante.
  Finalmente, tras recibir el último mensaje del cliente, el servidor verifica la información con un "ping" ICMP para asegurarse de que no se esté utilizando la dirección dada. A continuación, crea una nueva entrada ARP para el arrendamiento del cliente y le envía una respuesta DHCPACK (duplicado del mensaje DHCPOFFER con un cambio en el tipo de mensaje) como acuse de recibo. El cliente, una vez recibido este último mensaje, registra la información de configuración y realiza una búsqueda de ARP para la dirección asignada; si no hay respuesta al ARP, el cliente sabe que la dirección IPv4 es válida y comienza a utilizarla como propia.
  El proceso de renovación de la dirección IPv4 sólo conlleva el primer y último paso, pero directamente entre el cliente y el servidor.
  El mensaje DHCPv4 tiene el mismo formato para todas las transacciones:

  • Código de operación (OP): Especifica el tipo de mensaje general (1, mensaje de solicitud; 2, mensaje de respuesta).
  • Tipo de hardware: Identifica el tipo de hardware que se usa en la red (emplea los mismos códigos que los mensajes ARP). 
  • Longitud de dirección de hardware: Muestra la longitud concreta de la dirección.
  • Saltos: Controla el reenvío de mensajes (el cliente lo pone en 0 antes de enviar una solicitud).
  • Identificador de transacción: Es lo que emplea el cliente para hacer coincidir la solicitud con las respuestas recibidas de los servidores de DHCPv4.
  • Segundos: Identifica la cantidad de segundos transcurridos desde que el cliente comenzó a intentar adquirir o renovar un arrendamiento (los servidores DHCPv4 lo usan para priorizar respuestas cuando existen varias solicitudes de clientes pendientes).
  •  Indicadores: Es usado por un cliente que desconoce su dirección IPv4 cuando envía su solicitud (usa uno de los 16 bits, el indicador de difusión; valor 1: Indica al servidor DHCPv4, o al agente de retransmisión receptor de la solicitud, que la respuesta debe enviarse como difusión).
  • Dirección IP del cliente: Se usa durante la renovación del arrendamiento por parte del cliente, no durante el proceso de adquisición (dirección IPv4, si es válida y utilizable; valor 0, si la dirección IPv4 ya no es válida).
  •  Su dirección IP: El servidor la emplea para asignar una dirección IPv4 al cliente.
  • Dirección IP del servidor: Es usada por el propio servidor para identificar la dirección de servidor que debe emplear el cliente para el siguiente paso del proceso bootstrap, que puede o no puede ser el servidor que envía esta respuesta (la dirección IPv4 va insertada en un campo especial, la opción "Identificador de Servidores DHCPv4").
  • Dirección IP del gateway: Facilita las comunicaciones de las solicitudes y respuestas de DHCPv4 entre el cliente y un servidor que se encuentran en distintas subredes o redes enrutando los mensajes DHCPv4 cuando intervienen los agentes de retransmisión DHCPv4.
  • Dirección de hardware del cliente: Especifica la capa física del cliente.
  • Nombre del servidor: Empleado por el servidor que envía el mensaje DHCPOFFER o DHCPACK (opcional; puede ser desde un simple apodo hasta un nombre de servidor DNS).
  • Nombre del archivo de arranque: El servidor lo emplea, en un DHCPOFFER, para especificar completamente un directorio de archivos y un nombre de archivo de arranque. Por otra parte, un cliente puede utilizarlo opcionalmente en un mensaje DHCPDISCOVER para solicitar un archivo de arranque determinado.
  • Opciones de DHCP: Contiene las opciones de DHCP, tanto las más básicas como las más optativas y prescindibles (es de longitud variable; pueden usarlas tanto el servidor como el cliente).
   Hasta aquí se llega a esta parte del DHCP. Espero que sea útil al lector. Más adelante expondré la segunda parte, que explica el DHCPv6.
 

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.