¿Qué es
DHCP?
DHCP (Dynamic Host Configuration Protocol) es un protocolo TCP/IP que
proporciona una asignación automática de las direcciones IP. Para utilizar TCP/IP
en la red, un administrador debe proporcionar por lo menos tres datos para cada
ordenador: - la dirección IP, - la máscara de la subred y - la dirección IP de
la puerta de enlace predeterminada.
DHCP permite que un host obtenga una dirección IP de forma rápida y
dinámica. Todo lo que se necesita al usar el servidor DHCP es una cantidad
definida de direcciones IP en un servidor DHCP. A medida que los hosts entran
en línea, se ponen en contacto con el servidor DHCP y solicitan una dirección.
El servidor DHCP elige una dirección y se asigna a ese host. Con DHCP, se puede
obtener la configuración completa del computador en un solo mensaje (por ej: junto
con la dirección IP, el servidor también puede enviar una máscara de subred).
Cada ordenador
necesita una dirección IP única para usar TCP/IP. Las direcciones asignadas
deben estar en la subred correcta. Si alguien se conecta a una red grande, se
preguntará cómo determinar a qué subred se conecta. Sin embargo, el DHCP sabe
desde qué subred proviene la solicitud de la dirección IP, por lo que no tiene
problemas al asignar una dirección apropiada. Si la red utiliza el servicio
WINS (Windows Internet Naming Service) y el sistema DNS (Domain Name System),
el administrador deberá configurar también los ordenadores cliente con las
direcciones IP de los servidores WINS y DNS.
El
administrador de la red puede configurar manualmente cada sistema, o puede
proporcionar los valores correctos y pedirle a los usuarios que configuren sus
sistemas. Sin embargo, este último método es francamente arriesgado. El
procedimiento más fácil y más seguro es configurar uno o más servidores DHCP
para que asignen automáticamente direcciones IP y demás información necesaria a
cada ordenador de la red. Este proceso implica la configuración del servidor,
indicándole el rango de las direcciones a utilizar, estableciendo algunos
parámetros adicionales y revisando periódicamente el servidor.
Secuencia de inicialización de DHCP
Cuando un cliente DHCP inicia la sesión, introduce
un estado de
inicialización. Envía mensajes de broadcast DHCPDISCOVER,
que son paquetes UDP con el número de puerto establecido en el puerto BOOTP.
Una vez que ha enviado los paquetes DHCPDISCOVER, el cliente pasa al estado de selección y recolecta
respuestas DHCPOFFER del servidor DHCP. El cliente selecciona
entonces la primera respuesta que recibe y negocia el tiempo de alquiler
(cantidad de tiempo que puede mantener la dirección sin tener que renovarla)
con el servidor DHCP enviando un paquete DHCPREQUEST. El servidor DHCP reconoce
una petición del cliente con un paquete DHCPACK. Entonces el cliente
ingresa en un
estado de enlace y comienza a usar la dirección
|
Figura: Representación simplificada del protocolo DHCP |
A continuación
se listan los principales mensajes que se intercambian como parte del protocolo
DHCP y para que se emplea cada uno:
La
instalación del servicio DHCP
DHCP se ejecuta en segundo plano, al igual que otros servicios de NT. Aunque
instalar DHCP en un servidor NT, puede administrarlo desde una estación de
trabajo. Los servidores DHCP deben tener direcciones IP fijas (estáticas), ya
que no pueden asignarse direcciones IP a sí mismos. Un controlador de dominio
de reserva (BDC) es casi siempre el mejor candidato para convertirse en
servidor DHCP.
Para la instalación
del servicio DHCP, deberá abrir la aplicación Red del Panel de Control. (Otra
alternativa es presionar con el botón derecho del ratón el icono de Entorno de
red y seleccionar Propiedades.)
Seleccionar la
pestaña de Servicios y presionar Añadir. En la lista de Servicios de red escoger
Microsoft DHCP Server y presionar Aceptar. A continuación reiniciar el equipo.
La
configuración del servidor DHCP
Después de instalar el servicio DHCP, deberá configurarse. Abrir la herramienta
Administrador DHCP que se encuentra dentro del grupo de Herramientas
administrativas. La Pantalla 1 muestra la ventana de
diálogo del Administrador DHCP.
El componente clave
de la configuración de DHCP es lo que se conoce como ámbito. Un ámbito
es un rango de direcciones IP. Puede tener un ámbito distinto para cada subred.
De esta manera, un ámbito debe contener completamente el rango de direcciones
de una subred. Imaginemos que se tiene disponibles las direcciones desde
10.0.0.2 hasta 10.0.0.100. Pero hay componentes en la red (por ejemplo,
routers, impresoras, el propio servidor DHCP) que necesitan tener asignada una
dirección IP estática. Para facilitar una adecuada organización, dentro de un
mismo ámbito, el DHCP le permite especificar direcciones o rangos de
direcciones IP que el servidor DHCP no pueda asignar.
Desde el menú
del Administrador DHCP, seleccione Ámbito, Crear. A continuación aparecerá la
ventana de diálogo Crear ámbito que se muestra en la Pantalla 2.
Deberá escribir
las direcciones IP que inician y finalizan el ámbito y proporcionar la máscara
de subred del ámbito. A continuación, escriba las direcciones IP que desea
excluir. Puede anotar un rango de direcciones o solamente una dirección (por
ejemplo, la dirección usada por una impresora u otro componente de la red no
reconocido por DHCP). Finalmente, deberá especificar la duración de esta
concesión. (En otra sección posterior se tratará de las concesiones.) También
puede asignar un nombre y comentario al ámbito. Estas opciones son útiles si
posee varias subredes con ámbitos separados.
Cuando se
presiona Aceptar y se cierra la ventana de diálogo Crear ámbito, se deberá
especificar si se desea activar inmediatamente el ámbito. En la mayoría de los
casos, contestará afirmativamente. Sin embargo, si se prefiere, se puede
configurar todos los ámbitos en un fin de semana y activarlos todos en una sola
vez.
Al salir de la
ventana de diálogo Crear ámbito, se puede encontrar con el mensaje de error No
hay más datos disponibles. Este mensaje puede ignorarse. El nuevo ámbito
aparecerá en la ventana del Administrador DHCP.
Si se ha
activado el ámbito, el dibujo de una bombilla que aparece al lado del ámbito se
tornará amarilla. No se preocupe si configuró un ámbito para las direcciones
entre 131.107.2.100 y 131.107.2.199 y aparece únicamente un ámbito de 131.107.2.0.
DHCP muestra simplemente el último octeto como un cero.
Puede parecer
que el hecho de disponer de varios servidores DHCP reduntantes puede ayudarle a
disponer de un entorno estable. Sin embargo, los servidores DHCP no pueden
interactuar entre ellos sobre NT 4.0. Por lo tanto, si se configura varios
servidores con los mismos ámbitos, éstos asignarán las mismas direcciones IP.
Es de esperar que este problema se corrija en las versiones futuras. En redes
que cuentan con dos servidores que dan cada uno soporte a parte de la red, el
administrador puede dividir las direcciones IP entre los servidores. Así, si un
servidor está desconectado, por lo menos algunos usuarios podrán recibir
direcciones IP.
Configuración
de los clientes TCP/IP
La
configuración de los clientes es fácil. Cuando instala un ordenador cliente e
instala TCP/IP, el proceso le solicitará la configuración de la dirección IP. Se
deberá seleccionar la casilla que indica que la dirección IP se obtendrá de un
servidor DHCP. La dirección asignada puede verse si escribe desde la línea de comandos
ipconfig/all
Este comando
muestra la dirección IP del cliente, la dirección IP del servidor DHCP y las
direcciones de los servidores WINS y DNS. Si se desea ver únicamente la
dirección IP, se escribe
ipconfig
En un sistema
Windows 98 o Windows 95, se ejecute winipcfg.exe para ver la información de la
dirección IP, la cual se muestra en una ventana gráfica.
La primera vez
que se conecta un sistema DHCP cliente, el sistema envía una difusión para
buscar un servidor DHCP. El cliente debe enviar una difusión ya que aún no
posee una dirección IP y no conoce ninguna otra dirección. Los servidores DHCP
contestan, a través de otra difusión, indicando una dirección IP. Los
servidores DHCP responden de esta manera porque el cliente no posee una
dirección IP. El cliente acepta una de las ofertas y contesta con otra
difusión. En este momento, el cliente podría enviar mensajes directamente al
servidor DHCP elegido, ya que ahora posee una dirección IP y conoce la dirección
del servidor. Sin embargo, el mensaje de difusión informa a los demás
servidores DHCP que un servidor ha atendido la petición del cliente. A
continuación, el servidor DHCP envía al cliente la confirmación de la
asignación de la dirección.
La
configuración de información adicional
En el caso en que se necesite configurar WINS y DNS, se deberá proporcionar las
direcciones IP de los servidores WINS y DNS. Desde la ventana de diálogo del
Administrador DHCP, se selecciona Opciones DHCP. Estas opciones pueden
configurarse individualmente para cada ámbito, pero la configuración global es
la más utilizada. Por ejemplo, aunque se tenga varias subredes, normalmente
tendrá uno o dos servidores WINS y DNS para toda la red. Se puede configurar de
nuevo los valores predeterminados de cada opción, como se observa en la Pantalla 3.
Se selecciona
la opción de la lista que aparece a la izquierda de la ventana y se presione
Añadir. En la mayoría de las opciones, tales como la dirección del servidor
WINS, se deberá utilizar la opción Editar tabla para asignar una dirección.
Después de que se haya configurado esta opción, DHCP trasladará la información
necesaria a los ordenadores cliente. En la Pantalla 3, se reproduce la
configuración de las opciones más comunes (en las que se ha utilizado Añadir
para seleccionar las opciones y Valor para configurar cada opción). La opción
003 es el enrutador o puerta de enlace predeterminado, la opción 006 es la
dirección del servidor DNS y la opción 044 es el servidor WINS. Si se configura
la opción 044, se deberá configurar también la opción 046, que especifica el
tipo del nodo WINS.
Concesiones
DHCP concede las direcciones, lo que significa que asigna las direcciones por
un período de tiempo limitado. Cuando ha transcurrido la mitad del período de
concesión, el cliente envía un mensaje al servidor DHCP para intentar renovar
la concesión. Si el servidor DHCP está disponible, le envía el cliente una
renovación de la concesión. En caso contrario, el cliente vuelve a intentarlo
cuando quede la mitad del tiempo restante en la concesión y así sucesivamente.
En el caso de una concesión de tres días (72 horas), el cliente intentará
renovar a las 36 horas, después a las 54 horas y a las 63 horas. Finalmente, el
cliente intentará una difusión para encontrar otro servidor DHCP. Si el cliente
no encuentra un servidor antes de que la concesión expire, el ordenador no
podrá continuar ejecutando TCP/IP.
Siempre que un
cliente esté conectado o vuelve a conectarse antes de que expire la concesión,
el cliente mantiene la misma dirección IP. Pero si un cliente permite que la
concesión expire (es decir, no se conecta durante el período de tiempo determinado),
el servidor DHCP recupera esa dirección y la pone a disposición de otro
cliente. Este proceso de recuperación de concesiones no ocurre inmediatamente
después de la expiración de una concesión; a veces puede demorarse varias veces
la duración de la concesión. En un entorno estable, puede otorgar una concesión
por 3 ó 4 días. Este período permite a los usuarios apagar sus ordenadores
durante un fin de semana largo (un puente, por ejemplo) sin perder sus
direcciones IP y deja que el servidor DHCP recupere una dirección IP en un par
de días en el caso de que un ordenador sea retirado de la red. Sin embargo, si el
personal del departamento de ventas comparte el espacio de oficina y utilizan los
ordenadores locales solamente algunas horas a la semana, puede configurar una
concesión de solamente 4 ó 6 horas. Este método permite que DHCP tenga
disponibles las direcciones IP para poderlas asignar al día siguiente. Si su
red es más bien estática, puede considerar la asignación de concesiones
permanentes. Sin embargo, en este caso, DHCP no recuperará las concesiones
ilimitadas cuando retire ordenadores de su red.
Debido a que
los procesos de solicitud de concesiones DHCP utiliza difusiones y éstas no
pasan a través de los enrutadores, puede preguntarse si es necesario un
servidor DHCP (lo que implica un servidor NT) en cada subred. Afortunadamente,
la respuesta es negativa. Se puede configurar una estación de trabajo NT como
un agente relé DHCP. Solamente se necesitará una estación de trabajo para cada
subred. Primero, se deberá agregar el agente relé DHCP como servicio de red. A
continuación, se deberá configurar con la dirección IP del servidor DHCP.
Cuando el agente relé escucha una petición DHCP, remite la petición
directamente al servidor. De esta forma, actúa como mediador del cliente y el
cliente recibe así la dirección IP. El servidor DHCP reconoce desde qué subred
se efectuó la petición y asigna una dirección desde el ámbito correcto para esa
subred.
DHCP permite
fácilmente comprobar qué dirección IP tiene cada ordenador. Desde la ventana de
diálogo del Administrador DHCP (el que se muestra en la Pantalla 1), se
selecciona Ámbito, Concesiones activas. Si se desea obtener una información
detallada sobre cada concesión, se selecciona la concesión y se presiona
Propiedades (o se hace doble clic sobre la concesión). La Pantalla 4 muestra un listado de la red
de una oficina. El identificador único (es decir, 00400500001) es la dirección
de la tarjeta de red. Puede suprimir una concesión si necesita desconectar a un
usuario o eliminar la concesión de una máquina que eliminó de la red.
Ventajas
del DHCP
El uso de un servidor DHCP proporciona varias ventajas. Una gran ventaja es el
ahorro de tiempo, ya que el administrador no necesita desplazarse a cada
sistema para configurarlo manualmente. A menudo, los nuevos ordenadores tienen
el sistema operativo ya instalado. Si un ordenador se configura también como cliente
DHCP, puede conectarlo con la red y permitir que el propio DHCP le asigne una
dirección IP inmediatamente. El proceso de la instalación de NT le pregunta al
instalador si el sistema será un cliente DHCP y configura el sistema
adecuadamente. Si asigna direcciones IP manualmente, debe seguirle la pista a
las direcciones que haya asignado y a las direcciones que aún están
disponibles. Esta información a menudo acompaña a los administradores, pues es
necesaria para la configuración de un ordenador en la oficina de un usuario. La
coordinación de las direcciones se convierte en una tarea pesada si existen
varios administradores de redes en una empresa. DHCP está siempre informado
sobre las direcciones asignadas a los diferentes ordenadores. Si utiliza DHCP,
no es necesario preocuparse por los eventuales errores al introducir las
direcciones IP o por asignaciones duplicadas de direcciones IP en varias
máquinas.
La asignación
inicial de direcciones IP no es la única área en la cual los administradores
ahorran tiempo. DHCP también simplifica las tareas de mantenimiento. Por
ejemplo, puede fácilmente trasladar un ordenador de una subred a otra. Si
necesita reasignar ordenadores, puede copiar la configuración y ficheros de un
ordenador antiguo a un nuevo y adjudicar el antiguo ordenador a un nuevo
empleado. En el pasado, ambos ordenadores tendrían la misma dirección IP. DHCP
elimina este problema y reduce las llamadas a su centro de soporte a usuarios,
en caso de disponer de él.
Pero el uso del
DHCP también beneficia a sus clientes. Un cliente que conecta a su red a través
de un ordenador portátil no puede utilizar una dirección IP fija. Sin embargo,
los clientes que usan DHCP reciben una nueva y válida dirección IP cada vez que
conectan a una subred distinta.
Finalmente, el
DHCP permite compartir las direcciones IP. Supóngase que se tiene 50
direcciones IP disponibles y un equipo de comerciales de 100 personas. Los
vendedores trabajan en la oficina solamente 1 ó 2 días a la semana; por lo
tanto, solamente 30 ó 40 de los ordenadores están conectados a la red al mismo
tiempo. Cada vez que un vendedor se conecte, se le asignará una dirección IP.
En el momento en que desconecte el ordenador, el sistema recuperará la
concesión para así poder asignar dicha dirección IP al siguiente usuario.
Si los usuarios
móviles comparten direcciones IP, es posible que sea necesario reservar
direcciones IP para dar prioridad a determinados usuarios importantes. En la
ventana de diálogo del Administrador DHCP se selecciona Ámbito, Agregar
reservas. Dichas reservas pueden convertirse en un problema si los usuarios
intercambian sus adaptadores de tarjeta de red. Las reservas no equivalen a una
dirección IP fija. Una reserva le otorga a un usuario una dirección IP para
conectarse a la red desde varias oficinas, aunque la dirección pueda cambiar
diariamente dependiendo de la localización.
Las máquinas en
Internet se identifican entre sí mediante una dirección IP (como por
ejemplo 216.32.74.52) que las identifica. Sin embargo los seres humanos
preferimos utilizar nombres (como www.yahoo.com), porque son más fáciles de
recordar, y porque ofrecen la flexibilidad de poder cambiar la máquina en la
que están alojados (cambiaría entonces la dirección IP) sin necesidad de cambiar
las referencias a él. Para realizar esta conversión entre nombres y
direcciones IP se utilizan los servidores DNS.
El DNS es un
sistema de nombres que permite traducir de nombre de dominio a dirección IP y
vice-versa. Aunque Internet sólo funciona con base a direcciones IP, el DNS
permite que los humanos usemos nombres de dominio que son bastante más simples
de recordar (pero que también pueden causar muchos conflictos, puesto que los
nombres son activos valiosos en algunos casos).
El sistema de
nombres de dominios en Internet es un sistema distribuido, jerárquico,
replicado y tolerante a fallas. Aunque parece muy difícil lograr todos esos
objetivos, la solución no es tan compleja en realidad. El punto central se basa
en un árbol que define la jerarquía entre los dominios y los sub-dominios. En
un nombre de dominio, la jerarquía se lee de derecha a izquierda. Por ejemplo,
en dcc.uchile.cl,
el dominio más alto es cl. Para que exista una raíz del árbol, se puede ver
como si existiera un punto al final del nombre: dcc.uchile.cl., y todos los dominios están bajo esa raíz (también
llamada ''punto").
Cada componente
del dominio (y también la raíz) tiene un servidor primario y varios servidores
secundarios. Todos estos servidores tienen la misma autoridad para responder
por ese dominio, pero el primario es el único con derecho para hacer
modificaciones en él. Por ello, el primario tiene la copia maestra y los
secundarios copian la información desde él. El servidor de nombres es un
programa que típicamente es una versión de BIND (Berkeley Internet Name Daemon).
La raíz del
sistema de dominios es servida por algunos servidores ''bien conocidos''. Todo
servidor de nombres debe ser configurado con la lista de los servidores raíz
bien conocidos (en general lo vienen de fábrica). Estos servidores dicen qué
dominios de primer nivel existen y cuales son sus servidores de nombres.
Recursivamente, los servidores de esos dominios dicen qué sub-dominios existen
y cuales son sus servidores. (Ver figura 1).
Figura: Delegación de
Dominios
Existe un
conflicto de competencia entre el servidor de un dominio y el de un
sub-dominio: ambos deben saber cuales son los servidores de nombres del
sub-dominio. En un inicio, estarán de acuerdo, pero con el tiempo los
servidores pueden ir cambiando, y las versiones de ambos pueden ser
inconsistentes. Actualmente, el que manda es el servidor del sub-dominio, y su
información es la más importante. Por ejemplo, si el servidor de .cl dice que uchile.cl es servido por los servidores A y B, y luego el
servidor A dice que uchile.cl es servido por A y C, la información que se
recibirá en el mundo es que los servidores son A y C. El único requisito es que
por lo menos uno de los servidores de nombres que figuran en el dominio debe
corresponder a uno de los que lista el sub-dominio. Si no es así, el dominio
queda sin servidores y es inaccesible del resto del mundo.
En general, la
regla ideal es que la lista de servidores que figura en el dominio sea un
sub-conjunto de la lista que figura en el sub-dominio.
Antes
de entender que es el servicio de DNS's se debería reflexionar un poco sobre el
problema del direccionamiento.
Imaginemos
una pequeña provincia en la que sólo existen pueblos de 50 habitantes. En este
supuesto, si alguien quisiera enviar una carta, por correo tradicional, a otro
ciudadano de su misma provincia solo necesitaría indicar la localidad y el
nombre del destinatario. Entendemos que cualquier servicio postal podría saber
como hacer llegar una carta de un pueblo a otro sin problemas y una vez allí el
cartero del pueblo no tendría problemas para conocer personalmente al
destinatario y entregarle la carta (después de la partida de dominó).
Imaginemos ahora que los pueblos crecen y se convierten en ciudades. El pobre
cartero tendrá dificultades para conocer a todo el mundo, necesitaremos por
tanto ponerles nombres a las calles e incluso números a las casas. Ahora imaginémonos
que pretendemos comunicarnos con todo el mundo; el problema entonces se
complica y aparecen los códigos postales.
Entendiendo la problemática anterior podemos imaginarnos que los routers que
conforman internet son como oficinas postales. Toda la información que circula
a través de ellos ha de encaminarse adecuadamente. Imaginaros la complejidad
que tendría este encaminamiento si la única información sobre el destinatario
fuera su nombre. Este es el motivo de que en realidad se utilicen números
(IP's) para designar a los nodos de Internet (ordenadores, servidores, etc...).
De esta manera cualquier ordenador conectado a Internet (u otra red TCP/IP)
tiene asignado un numero IP del tipo x.x.x.x donde "x" puede ir desde
0 hasta 255. A grandes rasgos podemos entender que leyendo este número de
izquierda a derecha vamos de más general a más local, como si el primer número
fuese el código postal, el segundo la ciudad, el tercero la calle y por último
el portal del destinatario. Esto no es del todo cierto pero nos puede servir.
Bueno el problema ahora lo tiene el usuario, como recordará él las direcciones
de sus páginas preferidas si éstas son del tipo http://130.206.33.8. Aquí es donde
interviene el servicio de nombres de dominio DNS (Domain Name Service). Este
servicio tiene como único cometido traducir los nombres del tipo www.bulma.net
a 130.206.132.6 y vice-versa.
El
DNS define un árbol de direcciones que, como todo árbol, empieza en una raíz,
en este caso ".". De esta raíz surgen distintas ramificaciones,
ampliamente conocidas por todos, que son:
"com","net","org","gov","edu","info","es","uk","de",
etc... A su vez de estas ramificaciones surgen otras del tipo:
"google", "bulmalug", etc... Y de estas pueden salir, o no,
otras ramas como "www", "ftp", etc...
Cuando se realiza una petición a un servidor de DNS, por ejemplo
"www.bulma.net", éste comprobará inicialmente si el dominio le
pertenece, si no es así consultará en los servidores que se encargan del raíz
".", conocidos por root-servers, cual es el servidor de DNS's
designado para los "net", una vez sepa quien controla los
"net" preguntará a éste donde está albergado el servidor de DNS's de
"bulmalug", el servidor de los "net" le responderá y
entonces nuestro servidor de DNS's procederá a preguntar al servidor de DNS's
que alberga a "bulmalug" si conoce donde está "www.bulma.net".
En este caso el servidor responderá diciendo que www.bulma.net está en
130.206.132.6 y se habrá conseguido el propósito.
Con todo lo que ya se ha explicado, se debe entender, porqué cuando se
configura una conexión a internet, se debe decirle al sistema operativo que
servidor de DNS's se va a utilizar. Contrariamente a lo que la gente piensa, se
puede estar conectado a Internet sin tener DNS's, solo que se tendría que
utilizar direcciones del tipo http://130.206.132.6
Configuración de DNS en Windows 2000
server.