Está en la página 1de 7

El protocolo DHCP

Qué es DHCP
DHCP (Dynamic Host Configuration Protocol, protocolo de configuración de host dinámico) es un
protocolo que permite que un equipo conectado a una red pueda obtener su configuración
(principalmente, su configuración de red) en forma dinámica (es decir, sin una intervención
especial). Solo tienes que especificarle al equipo, mediante DHCP, que encuentre una
dirección IP de manera independiente. El objetivo principal es simplificar la administración de
la red.

El protocolo DHCP sirve principalmente para distribuir direcciones IP en una red, pero desde
sus inicios se diseñó como un complemento del protocolo BOOTP (Protocolo Bootstrap), que
se utiliza, por ejemplo, cuando se instala un equipo a través de una red (BOOTP se usa junto
con un servidor TFTP donde el cliente encontrará los archivos que se cargarán y copiarán en
el disco duro). Un servidor DHCP puede devolver parámetros BOOTP o la configuración
específica a un determinado host.

Cómo funciona el protocolo DHCP


Primero, se necesita un servidor DHCP que distribuya las direcciones IP. Este equipo será la
base para todas las solicitudes DHCP por lo cual debe tener una dirección IP fija. Por lo tanto,
en una red puede tener solo un equipo con una dirección IP fija: el servidor DHCP.
El sistema básico de comunicación es BOOTP (con la trama UDP). Cuando un equipo se
inicia no tiene información sobre su configuración de red y no hay nada especial que el usuario
deba hacer para obtener una dirección IP. Para esto, la técnica que se usa es la transmisión:
para encontrar y comunicarse con un servidor DHCP, el equipo simplemente enviará un
paquete especial de transmisión (transmisión en 255.255.255.255 con información adicional
como el tipo de solicitud, los puertos de conexión, etc.) a través de la red local. Cuando el
DHCP recibe el paquete de transmisión, contestará con otro paquete de transmisión (no olvide
que el cliente no tiene una dirección IP y, por lo tanto, no es posible conectar directamente con
él) que contiene toda la información solicitada por el cliente.

Se podría suponer que un único paquete es suficiente para que el protocolo funcione. En
realidad, hay varios tipos de paquetes DHCP que pueden emitirse tanto desde el cliente hacia
el servidor o servidores, como desde los servidores hacia un cliente:

DHCPDISCOVER (para ubicar servidores DHCP disponibles)


DHCPOFFER (respuesta del servidor a un paquete DHCPDISCOVER, que contiene los
parámetros iniciales)
DHCPREQUEST (solicitudes varias del cliente, por ejemplo, para extender su concesión)
DHCPACK (respuesta del servidor que contiene los parámetros y la dirección IP del cliente)
DHCPNAK (respuesta del servidor para indicarle al cliente que su concesión ha vencido o si el
cliente anuncia una configuración de red errónea)
DHCPDECLINE (el cliente le anuncia al servidor que la dirección ya está en uso)
DHCPRELEASE (el cliente libera su dirección IP)
DHCPINFORM (el cliente solicita parámetros locales, ya tiene su dirección IP)
El primer paquete emitido por el cliente es un paquete del tipo DHCPDISCOVER. El servidor
responde con un paquete DHCPOFFER, fundamentalmente para enviarle una dirección IP al
cliente. El cliente establece su configuración y luego realiza un DHCPREQUEST para validar
su dirección IP (una solicitud de transmisión ya que DHCPOFFER no contiene la dirección IP)
El servidor simplemente responde con un DHCPACK con la dirección IP para confirmar la
asignación. Normalmente, esto es suficiente para que el cliente obtenga una configuración de
red efectiva, pero puede tardar más o menos en función de que el cliente acepte o no la
dirección IP.

Qué es una 'concesión' en DHCP


Para optimizar los recursos de red, las direcciones IP se asignan con una fecha de inicio y de
vencimiento para su validez. Esto es lo que se conoce como "concesión". Un cliente que
detecta que su concesión está a punto de vencer, puede solicitarle al servidor una extensión
de la misma por medio de un DHCPREQUEST. Del mismo modo, cuando el servidor detecta
que una concesión va a vencer, enviará un DCHPNAK para consultarle al cliente si desea
extenderla. Si el servidor no recibe una respuesta válida, convertirá la dirección IP en una
dirección disponible.
Esta es la efectividad de DHCP: se puede optimizar la asignación de direcciones IP
planificando la duración de las concesiones. El problema es que si no se liberan direcciones,
en un momento determinado no se podrá cumplir con nuevas solicitudes DHCP debido a que
faltarán direcciones que puedan distribuirse.

En una red en la cual muchos equipos se conectan y desconectan permanentemente (redes


de escuelas o de oficinas de ventas, por ejemplo), es aconsejable ofrecer concesiones por
períodos cortos. En cambio, para una red compuesta principalmente por equipos fijos que se
reinician rara vez, las concesiones por períodos largos son más que suficientes. No se olvide
que DHCP trabaja principalmente por transmisión y que puede ocupar ancho de banda en
redes pequeñas con alta demanda.

Cómo conseguir un servidor DHCP


Internet Software Consortium desarrolla servidores DHCP en el mundo del software libre. Estos
son los servidores DHCP más utilizados y los que mejor cumplen con el estándar RFC. Puesto
que no es sencillo desarrollar un servidor DHCP, los servidores que ofrecen son actualizados
regularmente. La última versión a la fecha es la 3.0, pero aún está en versión beta. Una de las
principales innovaciones en esta versión es la posibilidad de actualizar en forma dinámica un
DNS de acuerdo a las direcciones IP suministradas por el servidor DHCP. Para mayor
información, el primer proyecto sobre DNS dinámicos tiene fecha de marzo de 1996.
NAT - Traducción de direcciones

El concepto de NAT
El proceso de la traducción de direcciones de red (NAT, por sus siglas en inglés) se desarrolló en
respuesta a la falta de direcciones de IP con el protocolo IPv4 (el protocolo IPv6 propondrá una
solución a este problema).

En efecto: en la asignación de direcciones IPv4, no hay suficientes direcciones IP enrutables (es


decir, únicas en el mundo) para permitir que todas las máquinas que necesiten conectarse a internet
puedan hacerlo.

El concepto de NAT consiste en utilizar una dirección IP enrutable (o un número limitado de


direcciones IP) para conectar todas las máquinas a través de la traducción, en la pasarela de internet,
entre la dirección interna (no enrutable) de la máquina que se desea conectar y la dirección IP de la
pasarela.

Además, el proceso de traducción de direcciones permite a las compañías asegurar la red interna
siempre y cuando oculte la asignación de direcciones internas. Para un observador que se ubica
fuera de la red, todos los pedidos parecen provenir de la misma dirección IP.

Espacio para la dirección


El organismo que administra el espacio público de direcciones (direcciones IP enrutables) es el
Organismo de Asignación de Números en Internet (IANA, por sus siglas en inglés). El RFC 1918 define
un espacio para direcciones privadas que permite a organizaciones asignar direcciones IP a sus
máquinas con redes internas sin correr el riesgo de entrar en conflicto con una dirección IP pública
asignada por IANA. Estas direcciones, conocidas como no enrutables, corresponden a los siguientes
rangos de direcciones:
 Clase A: va desde 10.0.0.0 hasta 10.255.255.255
 Clase B: va desde 172.16.0.0 hasta 172.31.255.255 va desde 10.16.0.0 hasta 172.31.255.255
 Clase C: va desde 192.168.0.0 hasta 192.168.255.55 va desde 192.168.0.0 hasta
172.31.255.255
Todas las máquinas de una red interna que están conectadas a internet a través de un router
y que no poseen una dirección IP pública deben utilizar una dirección que se encuentre dentro
de uno de estos rangos. Para redes francesas pequeñas, generalmente se utiliza el rango de
direcciones que va desde 192.168.0.1 hasta 192.168.0.255.

Traducción estática
El concepto de NAT estática consiste en hacer coincidir una dirección IP pública con una dirección
IP de red privada interna. Un router (o, más precisamente, la pasarela) hace coincidir una dirección
IP privada (por ejemplo, 192.168.0.1) con una dirección IP pública enrutable en internet y, en cierto
sentido, realiza la traducción mediante la modificación de la dirección en el paquete IP.

La traducción de las direcciones estáticas permite conectar máquinas de red interna a internet de
manera transparente, aunque no resuelve el problema de escasez de direcciones debido a que se
necesitan n direcciones IP enrutables para conectar n máquinas de la red interna.

Traducción dinámica
La NAT dinámica permite compartir una dirección IP enrutable (o una cantidad reducida de
direcciones IP enrutables) entre varias máquinas con direcciones privadas. Así, todas las máquinas
de la red interna poseen la misma dirección IP virtual en forma externa. Por esta razón, el término
"enmascaramiento de IP" se usa en ciertos casos para procesar la NAT dinámica.

Para poder "multiplexar" (compartir) diferentes direcciones IP con una o más direcciones IP
enrutables, la NAT dinámica utiliza la traducción de direcciones de puerto, es decir, la asignación
de un puerto de origen diferente para cada solicitud, de modo que se pueda mantener una
correspondencia entre los pedidos que provienen de la red interna y las respuestas de las máquinas
en internet, las cuales están dirigidas a la dirección IP del router.
El protocolo ICMP

Gestión de errores de los equipos en red


ICMP (Internet Control Message Protocol, Protocolo de mensajes de control de Internet) es un
protocolo que permite administrar información relacionada con errores de los equipos en red.
Si se tienen en cuenta los escasos controles que lleva a cabo el protocolo IP, ICMP no permite
corregir los errores sino que los notifica a los protocolos de capas cercanas. Por lo tanto, el
protocolo ICMP es usado por todos los router para indicar un error (llamado un problema de
entrega).

Los mensajes ICMP están encapsulados


Los mensajes de error ICMP se envían a través de la red en forma de datagramas como
cualquier otro dato. Por lo tanto, los mismos mensajes de error pueden contener errores. Sin
embargo, si hay un error en un datagrama que transporta un mensaje ICMP, no se envía
ningún mensaje de error para evitar el efecto "bola de nieve" en el caso de un incidente en la
red.

El protocolo ICMP
El Protocolo de Mensajes de Control y Error de Internet, ICMP, es de características similares a
UDP, pero con un formato mucho más simple, y su utilidad no está en el transporte de datos de
usuario, sino en controlar si un paquete no puede alcanzar su destino, si su vida ha expirado, si
el encabezamiento lleva un valor no permitido, si es un paquete de eco o respuesta, etc. Es
decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la
red, informando con ellos a la fuente original para que evite o corrija el problema detectado.
ICMP proporciona así una comunicación entre el software IP de una máquina y el mismo software
en otra.

El protocolo ICMP solamente informa de incidencias en la entrega de paquetes o de errores en


la red en general, pero no toma decisión alguna al respecto. Esto es tarea de las capas
superiores.
Los mensajes ICMP se transmiten como datagramas IP normales, con el campo de cabecera
"protocolo" con un valor 1, y comienzan con un campo de 8 bits que define el tipo de mensaje
de que se trata. A continuación viene un campo código, de o bits, que a veces ofrece una
descripción del error concreto que se ha producido y después un campo suma de control, de 16
bits, que incluye una suma de verificación de errores de transmisión. Tras estos campos viene
el cuerpo del mensaje, determinado por el contenido del campo "tipo". Contienen además los 8
primeros bytes del datagrama que ocasionó el error.
Los principales tipos de mensaje ICMP son los siguientes:

Mensajes informativos

Entre estos mensajes hay algunos de suma importancia, como los mensajes de petición de ECO
(tipo 8) y los de respuesta de Eco (tipo 0). Las peticiones y respuestas de eco se usan en redes
para comprobar si existe una comunicación entre dos host a nivel de capa de red, por lo que nos
pueden servir para identificar fallos en este nivel, ya que verifican si las capas física (cableado),
de enlace de datos (tarjeta de red) y red (configuración IP) se encuentran en buen estado y
configuración.

Mensajes de error

En el caso de obtener un mensaje ICMP de destino inalcanzable, con campo "tipo" de valor 3, el
error concreto que se ha producido vendrá dado por el valor del campo "código", pudiendo
presentar los siguientes valores que se muestran en la parte derecha.

Este tipo de mensajes se generan cuando el tiempo de vida del datagrama a llegado a cero
mientras se encontraba en tránsito hacia el host destino (código=0), o porque, habiendo llegado
al destino, el tiempo de reensamblado de los diferentes fragmentos expira antes de que lleguen
todos los necesarios (código=1).

Los mensajes ICMP de tipo= 12 (problemas de parámetros) se originan por ejemplo cuando
existe información inconsistente en alguno de los campos del datagrama, que hace que sea
imposible procesar el mismo correctamente, cuando se envían datagramas de tamaño incorrecto
o cuando falta algún campo obligatorio.

Por su parte, los mensajes de tipo=5 (mensajes de redirección) se suelen enviar cuando,
existiendo dos o más routers diferentes en la misma red, el paquete se envía al router
equivocado. En este caso, el router receptor devuelve el datagrama al host origen junto con un
mensaje ICMP de redirección, lo que hará que éste actualice su tabla de enrutamiento y envíe el
paquete al siguiente router.