Redes de Datos - Laboratorio - Eva

Anuncio
Redes de Datos - Laboratorio - Instructivo
Laboratorio 2
Introducción al DNS (Domain Name System)
Instrucciones generales
Para poder realizar exitosamente la práctica, deberá cumplir las siguientes etapas:
Previo al laboratorio
Estudiar la información contenida en este instructivo.
Se recomienda consultar las referencias sugeridas u otras de su preferencia.
Al comienzo del laboratorio se realizará un cuestionario sobre los temas tratados en este instructivo.
Se recomienda realizar los ejercicios sugeridos al final del instructivo.
Imprimir y leer el procedimiento de la práctica incluido en el Informe.
Se recomienda imprimir una página por faz.
Traer el instructivo de Wireshark utilizado en las prácticas anteriores para facilitar el uso del mismo.
Traer un disquete/memoria USB para poder guardar resultados.
Durante el laboratorio
Seguir el procedimiento indicado en el Informe y completarlo en forma grupal. El Informe deberá ser
entregado al finalizar la práctica. NO SE ACEPTA ENTREGA DE INFORMES EN OTRO MOMENTO.
Después del laboratorio
Agradecemos que nos envíe sus aportes al foro específico creado en la página web del curso.
Objetivos
Estudio del protocolo DNS de resolución de nombres de dominio usando el analizador de protocolos
Wireshark.
Al finalizar la práctica el estudiante será capaz de:




Describir la estructura del sistema de nombres de dominio (DNS), su utilidad, y su funcionamiento
Entender las secuencias básicas de diálogo que aparecen al hacer una consulta DNS
Manejar comandos para hacer consultas DNS
Describir los diferentes tipos de registro que aparecen en la configuración de un servidor DNS (A,
CNAME, SOA, etc.)
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 1 de 8
Preparación
1. El sistema DNS
Usuarios y programas se refieren a las máquinas por nombres compuestos por caracteres alfanuméricos.
Estos nombres deben convertirse a direcciones IP para poder establecer conexiones en la red. En una
red TCP/IP las direcciones IP son los identificadores de los equipos en la red. La dirección IP está
formada por 4 bytes (32 bits) que suelen escribirse en notación decimal separados por puntos (dotted
decimal notation), por ejemplo 164.73.38.2, correspondiente a la máquina ampere.fing.edu.uy.
El sistema de nombres de dominio (DNS, Domain Name System) provee una ordenación jerárquica de
nombres, implementada como una base de datos distribuida, para identificar recursos en la red y obtener
datos acerca de ellos, en particular sus números IP (direcciones) correspondientes.
Dominio DNS
El espacio de nombres se encuentra dividido en dominios. En el DNS, un dominio es un conjunto de
etiquetas agrupadas bajo un nombre jerárquico común. Estas etiquetas apuntan a registros de diversos
tipos; el registro más corriente es el correspondiente a un nombre de máquina, que apunta a una
dirección de capa de red (dirección IP). Cada dominio tiene un servidor primario de dominio DNS capaz
de brindar información respecto a esas etiquetas (y posiblemente otros servidores secundarios). El
servidor DNS maneja la información relativa a todas estas etiquetas de su dominio, y contiene también
referencias a servidores DNS de otros dominios.
El sistema jerárquico de nombres de dominio
El conjunto de nombres de dominio tiene estructura de árbol, con la raíz (root) indicada como un punto ".".
Un dominio tal como fing.edu.uy. se interpreta como una rama del árbol donde "." es la raíz, "uy" es un
primer nivel, "edu" el segundo y "fing" el último.
Si se omite el punto final, la dirección se interpreta como relativa. El comportamiento de los servidores de
nombres en este caso puede ser el de agregar un nombre de dominio (el propio), o el punto final si el
nombre está completo y por lo tanto lo refiere al dominio raíz. Cada nodo en el árbol es etiquetado con un
nombre simple, el cual puede tener hasta 63 caracteres de longitud. Un nombre completo de cualquier
nodo en el árbol es la secuencia de etiquetas separadas por “.” las cuales se encuentran en el camino
del nodo hasta la raíz. Un nombre de dominio no puede superar 255 caracteres.
Bajo el nodo raíz los dominios se dividen en dos grandes categorías: genéricos y de país. Algunos
dominios genéricos son com (empresas comerciales), mil (instituciones militares de USA), org
(instituciones sin fines de lucro) y edu (instituciones educativas). Los dominios de países son códigos de 2
letras definidos en la norma ISO 3166 (uy para Uruguay, ar para Argentina, uk para el Reino Unido, etc.).
La creación de un nuevo dominio requiere autorización de la autoridad del dominio bajo el cual se va a
crear. Una vez creado, el responsable del dominio recibe autoridad delegada sobre ese dominio,
pudiendo definir en él las etiquetas necesarias, o aún subdominios a los que puede a su vez delegar
autoridad. El conjunto de nombres manejados por un dominio constituye una zona de autoridad. Por
ejemplo, si se desea crear el dominio ls.iie.fing.edu.uy. para el laboratorio, se necesita autorización de
quienes administran iie.fing.edu.uy. (el IIE). Sin embargo, no se necesita autorización de fing.edu.uy. (la
adm. de red de FING) ni de edu.uy. (el SECIU) (Esto es solo un ejemplo, no se corresponde con la
realidad). Esto es así porque la autoridad se va delegando a los respectivos subdominios, haciendo
distribuida la administración de la base de datos, y por consiguiente, más flexible y escalable.
Los dominios de países pueden o no definir subdominios análogos a los genéricos para sus propios
países, o aún adoptarlos parcialmente. Uruguay sigue la convención de nombres genéricos bajo uy,
aunque usa gub en lugar de gov por razones de idioma, por ejemplo. En la figura se esquematiza esta
jerarquía.
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 2 de 8
Registros de DNS
Un registro en el DNS asocia un valor a un nombre de dominio
La estructura genérica de un registro de DNS consiste en cinco campos:
(Nombre, TTL, Clase, Tipo, Valor)
Nombre:
Nombre del dominio al que se está asociando el registro
TTL:
Time to Live es el tiempo en segundos durante el cual el registro debe ser
considerado válido. Es un indicador de qué tan estable es el registro.
Tipo:
Tipo de registro al que hace referencia.
Clase:
Normalmente clase IN (Internet Information), existen otras clases pero son
raramente utilizadas.
Valor:
Puede ser un número, otro nombre de dominio o un string, depende de la
semántica del tipo de registro.
Ejemplo:
www.ls.iie.fing.edu.uy.
86400 IN
A
Redes de Datos 2016 – Instructivo Laboratorio 2
172.16.0.250
Página 3 de 8
Tipos de registro DNS
El servidor DNS de un dominio contiene toda la información administrativa necesaria para responder
consultas sobre las entidades de ese dominio, sobre el cual tiene autoridad. El cuadro resume los
diferentes tipos de registro manejados por un servidor DNS.
Tipo
Significado
Valores
Uso
SOA
Inicio de autoridad
Parámetros de zona
Nombre del servidor primario de
dominio, tiempos de vida, correo
del administrador
A
Dirección IP
Entero 32 bits expresado en
notación decimal con punto
Mapea un nombre hacia una
dirección IP
MX
Manejo de correo
Prioridad, dominio que
acepta correo
Nombre de máquina u otro dominio
que recibe correo para este
dominio.
NS
Servidor de Nombres
Nombre de máquina
Nombre de una máquina servidor
de nombres para este dominio
CNAME
Nombre canónico
Nombre de máquina
Permite crear un alias al nombre de
máquina
PTR
Puntero
Nombre asociado a una
dirección IP
Mapea dirección IP hacia nombre
de máquina
HINFO
Descripción de máquina
CPU, OS
Características del procesador,
sistema operativo, etc., en texto.
TXT
Texto
Texto no interpretado
Para colocar información a criterio
del administrador
AAAA
Dirección IPv6
Entero 128 bits expresado
Mapea un nombre hacia una
en notación hexadecimal con
dirección IP versión 6
“:”puntos
Consultas al DNS
Cuando una máquina local necesita conocer un registro asociado a un nombre de dominio (por ejemplo el
número IP de una máquina destino) y sólo dispone del nombre, ésta realiza una consulta a un servidor
DNS. Existen dos modalidades, según el servidor contactado: recursiva y no recursiva.

Consulta recursiva: consultado un servidor DNS, éste se encarga de todas las averiguaciones
ulteriores y devuelve la dirección pedida.

Consulta no recursiva (iterativa): consultado un servidor DNS, éste contesta sólo lo referente a
su dominio, indicando a qué servidor debe consultar el cliente por información más específica.
En los diagramas se muestran los mensajes intercambiados, en ambos casos, cuando un navegador
intenta obtener la dirección IP correspondiente al sitio www.nsk.com.uy. Una vez obtenida esta dirección
IP estoy en condiciones de establecer una conexión TCP para descargar una página. La característica de
servidor que acepta consultas recursivas o no recursivas puede aparecer en cualquier servidor de los
involucrados.
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 4 de 8
Observación: El servidor DNS local (fing) y los servidores de los dominios “uy” y “com.uy” están
permitiendo consultas recursivas, mientras el servidor “root” no está permitiendo la consulta recursiva.
La consulta a un servicio DNS intenta siempre ser recursiva: ¿para qué voy a buscar yo si alguien lo
puede hacer por mi? Si el servidor interrogado responde recursivamente va a devolver el resultado pedido
en la pregunta. Si no responde recursivamente devolverá el registro NS (y probablemente la dirección IP)
de otros servidores DNS a quienes preguntar para seguir avanzando en la consulta.
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 5 de 8
Observación: Solamente el servidor DNS local (“fing”) está permitiendo consultas recursivas, el resto
solo responde no recursivamente. Esto último no quita que se intente realizar todas las consultas
recursivas por parte del servidor de DNS local “fing”, y que éste no tenga éxito y termine por “iterar” para
obtener el resultado.
En general toda PC, puesto de trabajo o host se configura con un servidor local de DNS que le permite
realizar consultas recursivas.
Una consulta iterativa se caracteriza por el hecho de que para poder obtener el resultado final, se
necesita realizar varias consultas intermedias. En el peor de los casos es cuando tengo que recorrer toda
la rama del árbol hasta llegar a los servidores de nombres autoritativos del dominio deseado. En cada
paso siempre se consulta por el registro que se está buscando, la respuesta es o bien el registro
solicitado o la información de los servidores de nombres autoritativos en donde continuar la búsqueda.
Caché
Los servidores de nombres recursivos poseen un "caché" o memoria local donde guardan los resultados
obtenidos por un cierto tiempo. Una vez hecha una consulta por un cliente, es muy probable la reiteración
de esa misma consulta para comunicaciones sucesivas; si se ha guardado el resultado de la primer
consulta, las siguientes las contesta el servidor local en forma inmediata leyendo el caché. Cada registro
obtenido por el servidor de nombres trae asociado un tiempo de validez (campo TTL), pasado el cual se
descarta del caché. Un servidor DNS que contesta desde el caché se denomina "no autoritativo", no tiene
autoridad sobre la zona de la consulta, sólo tiene guardada alguna información relativa a esa zona; esta
información puede estar desactualizada si se realizó un cambio en la zona consultada con posterioridad a
la primer consulta que ingresó el registro en el caché, y con anterioridad al vencimiento del registro
original. Como los cambios no son muy frecuentes, el caché ahorra tiempo y ancho de banda.
Al realizar una consulta, no solo se guarda el resultado de la consulta original, sino todos los registros
intermedios que se hayan obtenido en el proceso
El servidor autoritativo es quien tiene la información más actualizada sobre el o los dominios que tenga
delegados.
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 6 de 8
Consulta inversa o consulta reversa
El servicio DNS también puede resolver la consulta inversa, cuando se dispone del número IP y se desea
saber si corresponde a un nombre en el espacio de nombres del DNS (puede no corresponder a ninguno,
existen muchas direcciones IP sin nombre asignado). Para resolver la consulta inversa existe un dominio
especial, in-addr.arpa., cuyos subdominios son las direcciones IP con los números invertidos.
Por ejemplo, para resolver el nombre asociado a la dirección IP 164.73.38.43, el servidor DNS intenta
resolver la etiqueta 43.38.73.164.in-addr.arpa., devolviendo el nombre tacuabe.fing.edu.uy. Lo que hace
es buscar en el DNS un registro de tipo PTR asociado al nombre 43.38.73.164.in-addr.arpa.
Debe notarse que en la resolución de este otro problema se usa el mismo árbol, entrando por otra rama y
buscando otro tipo de recurso, pero la infraestructura es la misma. Esto se conoce como DNS inverso o
DNS reverso.
Delegación de autoridad
La delegación es la forma que tiene el dominio (un nodo) de registrar a quien hay que preguntar sobre
determinada parte de su descendencia (nodos hijos). Es como realmente se termina haciendo distribuida
la base de nombre de dominios. En la delegación básicamente intervienen dos registros, el NS y el A.
La delegación de autoridad para administrar una zona se obtiene de la autoridad encargada de
administrar la zona de nivel inmediatamente superior. Por ejemplo, para administrar la zona fing.edu.uy es
preciso obtener la autorización de SECIU, encargada de administrar la zona edu.uy.
La administración de los inversos o reversos, se solicita a las instituciones encargadas de asignar las
direcciones IP. En la actualidad existen cinco instituciones (más una sexta encargada de coordinar) que
asignan direcciones IP de acuerdo a la ubicación geográfica del solicitante. Para el caso de América
Latina es LACNIC, ARIN para América del Norte, RIPE para Europa, AFRINIC para África y APNIC para
Asia y Pacífico Norte. Estos organismos son los encargados de administrar las porciones del árbol de
reversos correspondientes a las direcciones IP que asignan, delegando a los ISP (“Internet Service
Providers” o Proveedores de conectividad a Internet) o empresas, los reversos correspondientes a los
rangos de direcciones IPs que les asignaron. Dado que la obtención de direcciones IP requiere
justificación de los fines para los cuales se piensan utilizar, muchas empresas arriendan rangos de
direcciones IP a otras empresas (generalmente ISP). Para este último caso la delegación de reversos
pasa a ser entre empresas. Por ejemplo, la Universidad de la República a través del SeCIU (Servicio
Central de Informática de la Universidad) obtuvo el rango de direcciones IP del 164.73.0.0 al
164.73.255.255 (164.73.0.0/16) y por lo tanto le fue delegada la administración de la rama
73.164.in-addr.arpa. SeCIU asignó a la Facultad de Ingeniería (FING) entre otros el rango 164.73.38.0 a
164.73.38.255 y por tanto le delegó la administración de la rama 38.73.164.in-addr.arpa, dentro de las
cuales estarán las etiquetas 0.38.73.164.in-addr.arpa., ..., 255.38.73.164.in-addr.arpa.
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 7 de 8
Servidor Recursivo, Servidor No Recursivo
Un servidor se dice recursivo cuando frente a consulta recursiva por parte de un cliente sale a buscar las
respuestas y entrega los resultados al cliente.
Un servidor se dice no recursivo, responde a una pregunta recursiva con la mejor repuesta que posea. Es
decir, si preguntan por un registro sobre el cual es autoritativo, responde la pregunta; si preguntan sobre
un registro sobre el cual no es autoritativo da la mejor respuesta que posea. Esta mejor respuesta podría
ser “andá a consultar a los root servers” o en caso que él tenga una delegación realizada, decir “el
servidor de nombre autoritativo de ese dominio es tal servidor”.
2. Comandos
Los sistemas operativos Unix disponen de varios comandos para consultar directamente un servidor DNS.
Dos de ellos son el host y el dig; el nslookup es similar a host, pero con la ventaja de que también es un
comando nativo de Microsoft Windows. Investigue las páginas de manual (man) de estos tres comandos.
3. Referencias



Tanenbaum, Andrew. "Computer networks", 4a. edición, Prentice-Hall, 2003, 3a. edición.
Prentice-Hall, 1996.
Super Man Pages. Páginas "man" de unix en línea
(http://linuxcommand.org/superman_pages.php).
Instructivo de WireShark (Ethereal), material de esta práctica, en EVA
4. Ejercicios Sugeridos
●
●
●
Analice cuál es la función de los root servers en el sistema DNS.
Analice por cuáles registros se consulta y qué registros se responden en cada uno de los pasos
de los ejemplos de consultas recursiva y no recursivas.
Analice los filtros de Wireshark útiles para filtrar consultas DNS entre dos equipos.
5. Procedimiento y Conclusiones
En el informe.
6. Para conocer más


DNS Resources Directory http://www.dns.net/dnsrd/
Servidor de Nombres para UNIX BIND http://www.isc.org/products/BIND/
7. Evaluación del laboratorio
Agradecemos que nos envíe sus aportes al foro específico creado en la página web del curso.
Redes de Datos - Curso 2016 - Página del curso: http://eva.universidad.edu.uy/course/view.php?
id=545
Instituto de Ingeniería Eléctrica - Facultad de Ingeniería - UDELAR, CURE - Rocha, Uruguay.
Redes de Datos 2016 – Instructivo Laboratorio 2
Página 8 de 8
Descargar