Dynamic Host Configuration Protocol

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Dynamic Host Configuration Protocol (DHCP)
Familia Familia de protocolos de Internet
Función Configuración automática de parámetros de red
Puertos

67/UDP (servidor)

68/UDP (cliente)
Ubicación en la pila de protocolos
Aplicación DHCP
Transporte UDP
Red IP
Estándares
RFC 2131 (1997)

DHCP (sigla en inglés de Dynamic Host Configuration Protocol, en español «protocolo de configuración dinámica de host») es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo 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 estando 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.

Este protocolo se publicó en octubre de 1993, y su implementación actual está en la RFC 2131. Para DHCPv6 se publica el RFC 3315.

Historia[editar]

DHCP se definió por primera vez como un protocolo de seguimiento de las normas en el RFC 1531 en octubre de 1993, como una extensión del protocolo Bootstrap (BOOTP). La motivación para extender BOOTP era porque BOOTP requería intervención manual para completar la información de configuración en cada cliente, y no proporcionan un mecanismo para la recuperación de las direcciones IP en desuso.

Muchos trabajaron para mejorar el protocolo, ya que ganó popularidad y en 1997 se publicó el RFC 2131, y al 2011 se mantiene como el estándar para redes IPv4. DHCPv6 está documentado en el RFC 3315. El RFC 3633 añadió un mecanismo de delegación de prefijo para DHCPv6. DHCPv6 se amplió aun más para proporcionar información de configuración a los clientes configurados con la configuración automática de direcciones sin estado en el RFC 3736.

El protocolo BOOTP a su vez fue definido por primera vez en el RFC 951 como un reemplazo para el protocolo RARP (del inglés Reverse Address Resolution Protocol), o resolución de direcciones inversa. La principal motivación para la sustitución de RARP con BOOTP fue que RARP era un protocolo de la capa de enlace de datos. Esto hizo más difícil su aplicación en muchas plataformas de servidores, y requería un servidor presente en cada enlace de red individual. BOOTP introdujo la innovación de un agente de retransmisión, lo que permitió el envío de paquetes BOOTP fuera de la red local utilizando enrutamiento IP estándar, por lo que un servidor central de BOOTP podría servir de anfitriones en muchas subredes IP.[1]

Asignación de direcciones IP[editar]

Cada dirección IP debe configurarse manualmente en cada dispositivo y, si el dispositivo se mueve a otra subred, se debe configurar otra dirección IP diferente. El DHCP le permite al administrador supervisar y distribuir de forma centralizada las direcciones IP necesarias y, automáticamente, asignar y enviar una nueva IP si fuera el caso en el dispositivo es conectado en un lugar diferente de la red.

El protocolo DHCP incluye tres métodos de asignación de direcciones IP:

  • Asignación manual o estática: Asigna una dirección IP a una máquina determinada. Se suele utilizar cuando se quiere controlar la asignación de dirección IP a cada cliente, y evitar, también, que se conecten clientes no identificados.
  • Asignación automática: Asigna una dirección IP a una máquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele utilizar cuando el número de clientes no varía demasiado.
  • Asignación dinámica: el único método que permite la reutilización dinámica de las direcciones IP. El administrador de la red determina un rango de direcciones IP y cada dispositivo conectado a la red está configurado para solicitar su dirección IP al servidor cuando la tarjeta de interfaz de red se inicializa. El procedimiento usa un concepto muy simple en un intervalo de tiempo controlable. Esto facilita la instalación de nuevas máquinas clientes a la red.

Algunas implementaciones de DHCP pueden actualizar el DNS asociado con los servidores para reflejar las nuevas direcciones IP mediante el protocolo de actualización de DNS establecido en RFC 2136 (Inglés).

El DHCP es una alternativa a otros protocolos de gestión de direcciones IP de red, como el BOOTP (Bootstrap Protocol). DHCP es un protocolo más avanzado, pero ambos son los usados normalmente.

En Windows 98 o posterior, cuando el DHCP es incapaz de asignar una dirección IP, se utiliza un proceso llamado "Automatic Private Internet Protocol Addressing".

Parámetros configurables[editar]

Un servidor DHCP puede proveer de una configuración opcional al dispositivo cliente. Dichas opciones están definidas en RFC 2132 (Inglés) Lista de opciones configurables:

  • Dirección del servidor DNS
  • Nombre DNS
  • Puerta de enlace de la dirección IP
  • Dirección de Publicación Masiva (broadcast address)
  • Máscara de subred
  • Tiempo máximo de espera del ARP (Protocolo de Resolución de Direcciones según siglas en inglés)
  • MTU (Unidad de Transferencia Máxima según siglas en inglés) para la interfaz
  • Servidores NIS (Servicio de Información de Red según siglas en inglés)
  • Dominios NIS
  • Servidores NTP (Protocolo de Tiempo de Red según siglas en inglés)
  • Servidor SMTP
  • Servidor TFTP
  • Nombre del servidor WINS

Implementaciones[editar]

Microsoft introdujo el DHCP en sus Servidores NT con la versión 3.5 de Windows NT a finales de 1994.

El Consorcio de Software de Internet (ISC: Internet Software Consortium) publicó distribuciones de DHCP para Unix con la versión 1.0.0 del ISC DHCP Server el 6 de diciembre de 1997 y una versión (2.0) que se adaptaba mejor al RFC el día 22 de junio de 1999. Se puede encontrar el software en http://www.isc.org/sw/dhcp/

Otras implementaciones importantes incluyen:

Además, varios routers incluyen soporte DHCP para redes de hasta 255 dispositivos.

Anatomía del protocolo[editar]

Esquema de una sesión típica DHCP.

(Autoridad de Números Asignados en Internet según siglas en inglés) en BOOTP: 67/UDP para las computadoras servidor y 68/UDP para los clientes.

DHCP Discovery[editar]

DHCP Discovery es una solicitud DHCP realizada por un cliente de este protocolo para que el servidor DHCP de dicha red de computadoras le asigne una Dirección IP y otros Parámetros DHCP como la máscara de red o el nombre DNS.[2]

DHCP Offer[editar]

DHCP Offer es el paquete de respuesta del Servidor DHCP a un cliente DHCP ante su petición de la asignación de los Parámetros DHCP. Para ello involucra su dirección MAC (Media Access Control).

DHCP Request[editar]

El cliente selecciona la configuración de los paquetes recibidos de DHCP Offer. Una vez más, el cliente solicita una dirección IP específica que indicó el servidor

DHCPREQUEST
UDP Src=0.0.0.0
sPort=68
Dest=255.255.255.255
dPort=67
OP HTYPE HLEN HOPS
0x01 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0x00000000
SIADDR
0x00000000
GIADDR
0x00000000
CHADDR
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP Request
DHCP option 50: 192.168.1.100 requested
DHCP option 54: 192.168.1.1 DHCP server.

DHCP Acknowledge[editar]

Cuando el servidor DHCP recibe el mensaje DHCPREQUEST del cliente, se inicia la fase final del proceso de configuración. Esta fase implica el reconocimiento DHCPACK el envío de un paquete al cliente. Este paquete incluye el arrendamiento de duración y cualquier otra información de configuración que el cliente pueda tener solicitada. En este punto, la configuración TCP / IP proceso se ha completado. El servidor reconoce la solicitud y la envía acuse de recibo al cliente. El sistema en su conjunto espera que el cliente para configurar su interfaz de red con las opciones suministradas. El servidor DHCP responde a la DHCPREQUEST con un DHCPACK, completando así el ciclo de iniciación. La dirección origen es la dirección IP del servidor de DHCP y la dirección de destino es todavía 255.255.255.255. El campo YIADDR contiene la dirección del cliente, y los campos CHADDR y DHCP: Client Identifier campos son la dirección física de la tarjeta de red en el cliente. La sección de opciones del DHCP identifica el paquete como un ACK.

DHCPACK
UDP Src=192.168.1.1
sPort=67 Dest=255.255.255.255 dPort=68
OP HTYPE HLEN HOPS
0x02 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR (Client IP Address)
0x00000000
YIADDR (Your IP Address)
0xC0A80164
SIADDR (Server IP Address)
0x00000000
GIADDR (Gateway IP Address switched by relay)
0x00000000
CHADDR (Client Hardware Address)
0x00053C04
0x8D590000
0x00000000
0x00000000
192 octets of 0's. BOOTP legacy
Magic Cookie
0x63825363
DHCP Options
DHCP option 53: DHCP ACK
DHCP option 1: 255.255.255.0 subnet mask
DHCP option 3: 192.168.1.1 router
DHCP option 51: 1 day IP lease time
DHCP option 54: 192.168.1.1 DHCP server

Confidencialidad[editar]

En un contexto de proveedor de Internet, los registros DHCP de asignación de direcciones o bien contienen o están vinculadas a información de identificación personal confidencial, los datos de contacto del cliente. Estos son atractivos para los spammers, y podrían ser buscados para "expediciones de pesca" por las agencias de policía o litigantes. Por lo menos una aplicación[cita requerida] imita la política de Canadian Library Association para la circulación del libro y no retiene información de identificación una vez que el "préstamo" ha terminado.

Véase también[editar]

Referencias[editar]

Enlaces externos[editar]

Estándares

  • RFC 2131 - Dynamic Host Configuration Protocol
  • RFC 2132 - DHCP Options and BOOTP Vendor Extensions
  • RFC 3046 - DHCP Relay Agent Information Option
  • RFC 3942 - Reclassifying Dynamic Host Configuration Protocol Version Four (DHCPv4) Options
  • RFC 4242 - Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6
  • RFC 4361 - Node-specific Client Identifiers for Dynamic Host Configuration Protocol Version Four (DHCPv4)
  • RFC 4436 - Detecting Network Attachment in IPv4 (DNAv4)