Tabla de contenidos Protocolo BOOTstrap - BOOTP

4.18 DHCP("Dynamic Host Configuration Protocol")

DHCP es un protocolo propuesto como estándar. Su status es electivo. Las especificaciones actuales de DHCP se pueden encontrar en los RFC 1541 - DHCP("Dynamic Host Configuration Protocol") y RFC 1533 - Opciones de DHCP y extensiones de los distribuidores de BOOTP.

DHCP proporciona un entorno de trabajo para pasar información de configuración a hosts en una red TCP/IP. DHCP se basa en el protocolo BOOTP, añadiendo la capacidad de asignar automáticamente direcciones de red reutilizables y opciones de configuración adicionales. Para más información sobre BOOTP, remitirse a BOOTP( ("BOOTstrap Protocol"). Los elementos participantes en DHCP pueden interoperar con los de BOOTP(RFC 1534).

DHCP consta de dos componentes:

  1. Un protocolo que entrega parámetros de configuración específicos de un host de un servidor DHCP al host.
  2. Un mecanismo para reservar direcciones de red para los hosts.

IP requiere la configuración de muchos parámetros dentro del software de implementación del protocolo. Debido a que IP utilizar en muchas clases distintas de hardware de red, no se puede suponer o adivinar que los valores de esos parámetros tienen valores correctos por defecto. El uso de un sistema de asignación de direcciones distribuidas basado en un mecanismo de consulta/defensa, para descubrir direcciones de red que ya están en uso, no garantiza direcciones de red unívocas porque puede que los host no sean siempre capaces de defender sus direcciones de red.

DHCP soporta tres mecanismos para la asignación de direcciones IP:

  1. Asignación automática
  2. DHCP asigna al host una dirección IP permanente.

  3. Asignación dinámica
  4. DHCP asigna una dirección IP por un periodo de tiempo limitado. Una red así se denomina arrendamiento. Este es el único mecanismo que permite la reutilización automática de direcciones que ya no son necesitadas por los hosts a los que estaban asignadas.

  5. Asignación manual

La dirección del host es asignada por el administrador de red

El formato del mensaje DHCP:


Figure: Formato del mensaje DHCP

code
Indica solicitud o respuesta
1
Request
2
Reply
HWtype
El tipo de hardware, por ejemplo:
1
Ethernet
6
IEEE 802 Networks

Remitirse al STD 2 - Números asignados de Internet para una lista completa.

length
Longitud en bytes de la dirección hardware. Ethernet y las redes en anillo usan 6, por ejemplo.
hops
El cliente lo pone a 0. Cada "router" que retransmite la solicitud a otro servidor lo incrementa, con el fin de detectar bucles. El RFC 951 sugiere que un valor de 3 indica un bucle.
Transaction ID
Número aleatorio usado para comparar la solicitud con la respuesta que genera.
Seconds
Fijado por el cliente. Es el tiempo transcurrido en segundos desde que el cliente inició el proceso de arranque.
Flags Field
El bit más significante de este campo se usa como flag de broadcast. Todos los demás bits deben estar a 0; están reservados para usos futuros. Normalmente, los servidores DHCP tratan de entregar los mensajes DHCPREPLY directamente al cliente usando unicast. La dirección de destino en la cabecera IP se pone al valor de la dirección IP fijada por el servidor DHCP, y la dirección MAC a la dirección hardware del cliente DHCP. Si un host no puede recibir un datagrama IP en unicast hasta saber su propia dirección IP, el bit de broadcast se debe poner a 1 para indicar al servidor que el mensaje DHCPREPLY se debe enviar como un broadcast en IP y MAC. De otro modo, este bit debe ponerse a cero.
Client IP adress
Fijada por el cliente. O bien es su dirección IP real , o 0.0.0.0.
Your IP Address
Fijada por el servidor si el valor del campo anterior es 0.0.0.0
Server IP address
Fijada por el servidor.
Router IP address
Fijada por el "router" retransmisor si se usa retransmisión BOOTP.
Client hardware address
Fijada por el cliente y usada por el servidor para identificar cuál de los clientes registrados está arrancando.
Server host name
Nombre opcional del host servidor acabado en X'00'.
Nombre del fichero de arranque
El cliente o bien deja este campo vacío o especifica un nombre genérico, como "router" indicando el tipo de fichero de arranque a usar. En la solicitud de DHCPDISCOVER se pone al valor nulo. El servidor devuelve el la ruta de acceso completa del fichero en una respuesta DHCPOFFER. El valor termina en X'00'.
Options
Los primeros cuatro bytes del campo de opciones del mensaje DHCP contienen el cookie(99.130.83.99). El resto del campo de opciones consiste en parámetros marcados llamados opciones. Remitirse al RFC 1533 para más detalles.

4.18.0.1 Almacén de parámetros de configuración

DHCP permite un almacenamiento persistente de los parámetros de red de los clientes. El modelo de almacenamiento persistente en DHCP consiste en que el servicio DHCP almacena una entrada con un valor y una clave para cada cliente, donde la clave es un identificador único, por ejemplo un número IP de subred y un identificador único dentro de la subred, y el valor contiene los parámetros de configuración del cliente.

4.18.0.2 Asignando un nueva dirección de red

Esta sección describe la interacción del cliente servidor cuando el cliente no conoce su dirección de red. Se asume que el servidor DHCP tiene un bloque de direcciones de red con el que puede satisfacer peticiones de nuevas direcciones. Cada servidor mantiene además una base de datos local y permanente de las direcciones asignadas y de los arrendamientos.

  1. El cliente hace un broadcast de un mensaje DHCPDISCOVER en su subred física. El mensaje DHCPDISCOVER puede incluir algunas opciones como sugerencias de la dirección de red, duración del arrendamiento, etc.
  2. Cada servidor puede responder con un mensaje DHCPOFFER que incluye una dirección de red disponible y otras opciones de configuración.
  3. El cliente recibe uno o más mensaje DHCPOFFER de uno o más servidores. Elige uno basándose en los parámetros de configuración ofertados y hace un broadcast de un mensaje DHCPREQUEST que incluye la opción identificadora del servidor para indicar qué mensaje ha seleccionado.
  4. Los servidores reciben el broadcast de DHCPREQUEST del cliente. Los servidores no seleccionados utilizan el mensaje como notificación e que el cliente ha declinado su oferta. El servidor seleccionado vincula al cliente al almacenamiento persistente y responde con un mensaje DHCPACK que contiene los parámetros de configuración para el cliente. La combinación de las direcciones hardware y asignada del cliente constituyen un identificador único de su arrendamiento y las usan tanto el cliente como el servidor para identificar cualquier arrendamiento al que se haga referencia en un mensaje DHCP. El campo "your IP address" en los mensaje DHCPACK se rellena con la dirección de red seleccionada.
  5. El cliente recibe el mensaje DHCPACK con parámetro de configuración. Realiza un chequeo final de estos parámetros, por ejemplo con ARP para la dirección de red asignada, y registra la duración del arrendamiento y el cookie de identificación de éste especificado en el mensaje DHCPACK. En este punto, el cliente está configurado. Si el cliente detecta un problema con los parámetros en el mensaje DHCPACK, envía un mensaje DHCPDECLINE al servidor y reinicia el proceso de configuración. El cliente debería esperar un mínimo de diez segundos antes de reiniciar este proceso para evitar un exceso de tráfico en la red en caso de que se produzca algún bucle.
  6. Si el cliente recibe un mensaje, reinicia el proceso de configuración.

  7. Puede elegir renunciar a su arrendamiento enviando un mensaje DHCPRELEASE al servidor. El cliente especifica el arrendamiento al que renuncia incluyendo sus direcciones hardware y de red

4.18.0.3 Reutilizando una dirección de red previamente asignada

Si el cliente recuerda y desea usar una dirección de red previamente asignada se llevan a cabo los siguientes pasos:

  1. El cliente hace un broadcast de un mensaje DHCPREQUEST en su subred. Este mensaje incluye la dirección de red del cliente.
  2. Los servidores que conozcan los parámetros de configuración del cliente le responden con un mensaje DHCPACK.
  3. El cliente recibe el mensaje DHCPACK con parámetros de configuración. Efectúa un último chequeo de estos y registra la duración del arrendamiento y el cookie de identificación de este, especificado en el DHCPACK. En este punto, el cliente está configurado.

Si el cliente detecta algún problema con los parámetros en el DHCPACK, envía un mensaje DHCPDECLINE al servidor y reinicia el proceso de configuración solicitando una nueva dirección de red. Si el cliente recibe un mensaje DHCPNAK, no puede reutilizar la dirección que solicitó. En vez de eso debe pedir una nueva dirección reiniciando el proceso de configuración descrito en Asignando una nueva dirección de red. El cliente puede elegir renunciar a su arrendamiento de la dirección de red al enviar un mensaje DHCPRELEASE al servidor. Identifica el arrendamiento al que renuncia con el cookie de identificación.

Nota: Un host debería usar DHCP para readquirir o verificar su dirección IP y sus parámetros de configuración siempre que cambien los parámetros de su red local, por ejemplo en el arranque del sistema o después de una desconexión de la red local, ya que la configuración de esta puede haber cambiado sin que lo sepa el host o el usuario.

Para más información, remitirse a los RFCs mencionados anteriormente.

Tabla de contenidos NETSTAT