Source: http://docplayer.es/18815462-Dns-arquitectura-de-redes-de-ordenadores-arquitectura-de-internet.html
Timestamp: 2018-12-19 06:27:43+00:00

Document:
DNS Arquitectura de Redes de Ordenadores Arquitectura de Internet - PDF
Download "DNS Arquitectura de Redes de Ordenadores Arquitectura de Internet"
Carmelo Montes Murillo
1 DNS Arquitectura de Redes de Ordenadores Arquitectura de Internet GSyC Departamento de Teoría de la Señal y Comunicaciones y Sistemas Telemáticos y Computación Abril de 2015 GSyC DNS 1
2 2015 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution Share-Alike disponible en GSyC DNS 2
3 Contenidos 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 3
4 Contenidos Introducción 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 4
5 Motivación Introducción Es más cómodo manejar y recordar nombres que direcciones IP (ej: hielo.gsyc.urjc.es frente a ). Las direcciones IP están ligadas a la estructura de la red, pero eso no tiene que reflejarse en el nombrado de máquinas (ej: y tendrán IPs muy diferentes). Las direcciones IP están ligadas a máquinas concretas, y puede ser conveniente un nivel de abstracción independiente de ello (ej: puede cambiar de máquina, y por lo tanto de IP, pero no tiene por qué cambiar de nombre). Por todo ello, es conveniente establecer un sistema de nombrado de máquinas y una correspondencia entre dichos nombres y las direcciones IP: DNS (Domain Name System) DNS es un protocolo de nivel de aplicación. Funciona sobre UDP y sobre TCP. GSyC DNS 5
6 Historia Introducción Originalmente (años 70) la correspondencia entre nombres y direcciones IP se mantenía en un único fichero (HOSTS.TXT) con los nombres y las direcciones IP de todas las máquinas de ARPANET. El fichero se obtenía periódicamente por FTP: gestión completamente manual. Con el crecimiento de ARPANET este mecanismo se hizo inmanejable. En 1983, Paul Mockapetris publicó las primeras RFCs que describen un servicio de nombres basado en dominios. En 1987, las revisó en las RFC 1034 y 1035, que definen el DNS. Estas RFCs han sido a su vez revisadas y ampliadas más adelante por otras muchas RFCs. GSyC DNS 6
7 Fundamentos Introducción DNS: Base de datos distribuida que se consulta según el modelo cliente/servidor. Los nombres de las máquinas se agrupan en dominios. Los dominios se organizan en forma de árbol. El nombre del dominio en el que se encuentra una máquina incluye la concatenación (separada por puntos) de todos los nombres de dominios desde las hojas hasta la raíz del árbol. El nombre completo de una máquina (FQDN, Fully Qualified Domain Name) incluye el nombre de la máquina y el nombre del dominio en que se encuentra: hielo.gsyc.urjc.es. Estrictamente, un FQDN termina siempre en el carácter. (aunque normalmente puede omitirse, excepto en los mapas de DNS). GSyC DNS 7
8 Contenidos Dominios en el DNS 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 8
9 Dominios en el DNS Jerarquía de dominios Dominio raíz (root domain o dominio. ): Gestionado por ICANN (Internet Corporation for Assigned Names and Numbers). Lo sirven servidores llamados root nameservers. Dominios de primer nivel (TLDs, Top Level Domains): Dominios genéricos tradicionales: com, edu, gov, mil, org, net, int Dominios genéricos modernos: aero, biz, coop, info, museum, name, pro, jobs, mobi, tel, travel, cat, asia Dominio para la infraestructura del DNS: arpa Dominios por código ISO del país: uk, mx, ar, de, es, jp... Dominios de segundo nivel Dominios de tercer nivel... GSyC DNS 9
10 Dominios en el DNS Árbol de dominios '()*+%#"%#*,-.-*$ 7*+)")*$/29:! 7*+)")*'$,!$ 8/)+!/$").!% 7*+)")*'$,!$ '!#-",*$").!% &*+$$!,-$$$#*.$$$+)%$$$*/#$$$"!($$$!'$$$-0$$$1$ '-"$$$+)($$$$$$$$$$$$$$$$2&+$$$)!!!$$-/3&!"#$$$%&'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!('))$$$$!(')( (4!*/5$$$$$$$$$$$$$$$$$$$$$$$$$666$$$$$666!"#$%&"'(()"*"!"#"$%& GSyC DNS 10 )
11 Dominios en el DNS Asignación de dominios Los TLDs los asigna la ICANN. La asignación de nombres de dominio de segundo nivel (subdominios de.es,.com,.org) está gestionada por organismos denominados registrars. Algunos subdominios son gestionados por varios registrars en régimen de competencia. GSyC DNS 11
12 Dominios en el DNS Dominio Directo y Dominio Inverso Dominio Directo Proporciona para cada nombre una dirección IP. Dominio Inverso Proporciona para cada dirección IP un nombre. En general, en el resto del tema hablaremos siempre de Dominio Directo. Algunas consideraciones respecto al Dominio Inverso: El dominio inverso también se conoce como dominio in-addr.arpa. Los elementos del dominio inverso son las direcciones de red construidas invirtiendo los números que la componen, y terminando en in-addr.arpa. Ejemplo: La red es el dominio inverso in-addr.arpa. Esta inversión de los números de las direcciones IP se realiza para mantener la misma estructura jerárquica de los nombres de dominio: En los nombres de dominio, porciones del nombre situadas más a la izquierda representan entidades más específicas, mientras que en las direcciones IP es al revés. GSyC DNS 12
13 Contenidos Resolución de nombres 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 13
14 Resolución de nombres Consulta de nombres desde las aplicaciones "%*)-%#./"00.1)% *)%)(34/" Cuando una aplicación tiene un nombre de máquina y necesita su IP, consulta al DNS, invocando en su código llamadas a funciones como gethostbyname() o To_IP(). Las aplicaciones van enlazadas con una librería de consulta al DNS (llamada resolver ). ()*%+,'-. -./ ()*%+,'-2,"#-,)!"#$%&#'()*+" /0,#%1&' $6:90C8:" 5678/96:"!"#$%"#&' C6"DE$ ;01<6:87= >6?1><87?7 >6?1>:678/9A184B La consulta normalmente sigue los pasos siguientes (en una máquina GNU/Linux): 1 Consulta en el fichero /etc/hosts 2 Si no se resuelve, consulta en un servidor de DNS, cuya dirección IP está en /etc/resolv.conf El fichero /etc/nsswitch.conf determina si se consulta el fichero y/o el DNS, y en qué orden. +, GSyC DNS 14
15 Resolución de nombres Ejemplo de fichero /etc/hosts localhost cacharro # Laboratorio 04 - Edif. Lab II epsilon01.aulas.gsyc.es epsilon epsilon02.aulas.gsyc.es epsilon epsilon03.aulas.gsyc.es epsilon epsilon04.aulas.gsyc.es epsilon epsilon05.aulas.gsyc.es epsilon epsilon06.aulas.gsyc.es epsilon epsilon07.aulas.gsyc.es epsilon epsilon08.aulas.gsyc.es epsilon epsilon09.aulas.gsyc.es epsilon09 En cada línea, detrás de una dirección IP pueden aparecer uno o más nombres (con o sin dominio) separados por blancos, que quedan asociados a esa dirección. Los nombres e IPs que aparecen en este fichero pueden no tener nada que ver con los del DNS. GSyC DNS 15
16 Resolución de nombres Ejemplo de fichero /etc/resolv.conf search gsyc.urjc.es aulas.gsyc.urjc.es pantuflo.es nameserver nameserver La línea search incluye una lista de dominios separados por blancos. Estos dominios se concatenarán a los nombres no FQDN que utilicen las aplicaciones al consultar al DNS. Ej: si se ha escrito ping hielo, se preguntará al DNS en primer lugar por hielo.gsyc.urjc.es. Si no existiera, se preguntará por hielo.aulas.gsyc.urjc.es, y así sucesivamente. Las líneas nameserver contienen la IP del servidor de DNS al que consultará la máquina. Si hay más de una línea nameserver, las restantes se utilizarán (por orden) si los servidores anteriores no responden. NOTA: si un servidor responde que un nombre no existe, no se pregunta a ningún otro servidor. GSyC DNS 16
17 Resolución de nombres Ejemplo de fichero /etc/nsswitch.conf passwd: files ldap group: files ldap shadow: files ldap hosts: networks: protocols: services: ethers: rpc: netgroup: files dns files db files db files db files db files nis La línea hosts lista lo que se consulta y en qué orden: files: fichero /etc/hosts dns: servidor DNS según /etc/resolv.conf GSyC DNS 17
18 Resolución de nombres Consulta desde el resolver a un servidor de DNS '()$*+,-%-%*)%$"./0#(.,-./01"$2! 3456"78896::;;;<=00=1.<>0? & 4!! 2"#32) "!"#$%&#'()*+",---.!%%!/".0% :8.95; -./012.- BA C87.-D.8 # 567#%8&'()*+ H+ BA C87.-D.8!"#$%&'!"#$()!"#$*+) % 4!$ El resolver envía a su servidor de DNS una consulta con el nombre buscado El!"#$%&"'(()"*"!"#"$%& servidor de DNS le responde con la IP pedida si el servidor la sabe, contesta inmediatamente si el servidor no la sabe, investiga por su cuenta y cuando la obtiene, responde al resolver +, GSyC DNS 18
19 Resolución de nombres Servidor de DNS de un dominio La información relacionada con la resolución de nombres de un dominio determinado se guarda en un fichero que se denomina mapa del dominio. En el mapa de un dominio están, entre otros datos: Los nombres de máquinas del dominio, con sus correspondientes direcciones IP. Los nombres de los subdominios directos de él, junto con las direcciones IP de los servidores de DNS que sirven esos subdominios. El mapa de un dominio lo edita el administrador de sistemas de ese dominio y se encuentra almacenado en la máquina que funciona como servidor de DNS de ese dominio. Por fiabilidad, el mapa de un dominio puede encontrarse en otras máquinas que también son servidores de DNS. Se dice que todos estos servidores sirven ese dominio. Un servidor de DNS que contenga varios ficheros de mapa de dominio servirá todos los dominios correspondientes a dichos ficheros. GSyC DNS 19
20 Resolución de nombres Consulta a un servidor de DNS Cuando un servidor de DNS recibe una consulta puede ocurrir que: El servidor de DNS sirva el dominio al que pertenece la consulta. En ese caso el servidor podrá leer el mapa del dominio directamente, porque lo tiene almacenado, y generar una respuesta. El servidor de DNS no sirva el dominio al que pertenece la consulta. En ese caso, dependiendo del modo en el que se realiza la consulta se comportará de una de las siguientes formas: responderá con la dirección IP de otro servidor de DNS que sirva un subdominio al que se refiere la consulta. Esta información la extraerá de su/s mapa/s de dominio. preguntará a otro servidor de DNS para tratar de conseguir la repuesta a dicha solicitud. Todos los servidores de DNS saben las direcciones IP de los root nameservers (servidores del dominio raíz). GSyC DNS 20
21 Resolución de nombres Resolución de nombres en un servidor de DNS Cuando un servidor S recibe una consulta para resolver un nombre (ejemplo: S comprueba si el nombre pertenece a alguno de los dominios que sirve (si es que sirve alguno). Si S lo sirve, busca el nombre en su mapa y devuelve la dirección IP correspondiente. Si el nombre no es de ningún dominio que sirva S: 1 S pregunta a un servidor del dominio raíz, que le contestará con la dirección IP de un servidor de DNS del TLD incluido en el FQDN (en este caso: com.) 2 S pregunta al servidor de DNS del TLD (com.), que le responde con la dirección IP de un servidor de DNS del dominio de segundo nivel (en este caso: google.com.) 3 Si el FQDN de la pregunta contuviera más dominios, se repite el proceso hasta que S obtenga la IP del servidor del dominio en que el que directamente reside la máquina por la que se pregunta. 4 S pregunta al servidor del último nivel (google.com.), que por servir ese dominio, tendrá en sus mapas la dirección IP pedida, y se la dará a S 5 S devuelve a la IP pedida a quien se la pidió. GSyC DNS 21
22 Ejemplo (I) Resolución de nombres +,-.%/0-(12+(3!"#$%&'()!"#$%&#'()*+",---.!%%!/".0%+1,-./01-, ,9-7! 89:;( "!"#$%&'(* $-,1:;/," 3<$ = ,9-7 $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(4053 $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(60067,34053 $-,1:;/," 3<$ = ,9-7 GSyC DNS 22 +'
23 Ejemplo (II) Resolución de nombres +,-.%/0-(12+(3!"#$%&'()!"#$%&#'()*+",---.!%%!/".0%+1,-./01-, ,9-7 " 89:;( #!!"#$%&'()*+, -./0)11123""3&425"6278!"#$%&'(* $-,1:;/," 3<$ = ,9-7 $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(4053 $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(60067,34053 $-,1:;/," 3<$ = ,9-7 GSyC DNS 23 ++
24 Ejemplo (III) Resolución de nombres +,-.%/0-(12+(3!"#$%&'()!"#$%&#'()*+",---.!%%!/".0%+1 -./ :.8 $ 89:;( %! 516#%7&'()*+,8-.(9993:11:7"30123;4!"#$%&'(* $.-2;<0-" 4=$ > :.8 516#%7&'()*+,8-.(9993:11:7"30123;4 " # $.-2;<0-" 4=$ > :.8!"#$%"#&'()*+(,-.(/"()*+( ,-.%/0-(12+(4053 $.-2;<0-" 4=$ > :.8 +,-.%/0-(12+(60067,34053 $.-2;<0-" 4=$ > :.8 GSyC DNS 24 +,
25 Ejemplo (IV) Resolución de nombres +,-.%/0-(12+(3!"#$%&'()!"#$%&#'()*+",---.!%%!/".0%+1 -./ :.8 & 89:;( '! 516#%7&'()*+,8-.(9993:11:7"30123;4!"#$%&'(* $.-2;<0-" 4=$, :.8 516#%7&'()*+,8-.(9993:11:7"30123;4 " # $.-2;<0-" 4=$, :.8!"#$%"#&'()*+(,-.(/"()*+(01234 $ 516#%7&'()*+,8-.(9993:11:7"30123;4 +,-.%/0-(12+(4053 $.-2;<0-" 4=$, :.8 %!"#$%"#&'()*+(,-.(/"()*+(:11:7" ,-.%/0-(12+(60067,34053 $.-2;<0-" 4=$, :.8 GSyC DNS 25 +,
26 Ejemplo (V) Resolución de nombres +,-.%/0-(12+(3!"#$%&'()!"#$%&#'()*+",---.!%%!/".0%+1 -./ :.8 ( 89:;( )! 516#%7&'()*+,8-.(9993:11:7"30123;4!"#$%&'(* $.-2;<0-" 4=$ > :.8 516#%7&'()*+,8-.(9993:11:7"30123;4 " # $.-2;<0-" 4=$ > :.8!"#$%"#&'()*+(,-.(/"()*+(01234 $ 516#%7&'()*+,8-.(9993:11:7"30123;4 +,-.%/0-(12+(4053 $.-2;<0-" 4=$ > :.8 '!"#$%"#&'()*+,-.(9993:11:7"30123 & 516#%7&'()*+,8-.(9993:11:7"30123;4 +,-.%/0-(12+(60067,34053 $.-2;<0-" 4=$ > :.8 %!"#$%"#&'()*+(,-.(/"()*+(:11:7" GSyC DNS 26 +,
27 Ejemplo (VI) Resolución de nombres +,-.%/0-(12+(3!"#$%&'()!"#$%&#'()*+",---.!%%!/".0%+1 -./ :.8 () ( 89:;( *! 516#%7&'()*+,8-.(9993:11:7"30123;4!"#$%"#&'()*+,-.(9993:11:7"30123 $.-2;<0-" 4=$ > :.8 516#%7&'()*+,8-.(9993:11:7"30123;4 " '!"#$%"#&'()*+,-.(9993:11:7"30123 # $.-2;<0-" 4=$ > :.8!"#$%"#&'()*+(,-.(/"()*+(01234 $ 516#%7&'()*+,8-.(9993:11:7"30123;4 & 516#%7&'()*+,8-.(9993:11:7"30123;4 $.-2;<0-" 4=$ > :.8 +,-.%/0-(12+(4053 $.-2;<0-" 4=$ > :.8 +,-.%/0-(12+(60067,34053 %!"#$%"#&'()*+(,-.(/"()*+(:11:7" GSyC DNS 27 +,
28 Resolución de nombres Ejemplo (VII) +)!"#$%"#&'()*+(,-.(/"()*+(01234,-./01-, ,9-7!"#$%&'() $-,1:;/," 3<$ = ,9-7!"#$%&'(* $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(3 $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(4053 $-,1:;/," 3<$ = ,9-7 +,-.%/0-(12+(60067, #%7&'()*+,8-.(9993:11:7"30123;4! 516#%7&'()*+,8-.(9993:11:7"30123;4 " # 516#%7&'()*+,8-.(9993:11:7"30123;4 $!"#$%"#&'()*+(,-.(/"()*+(:11:7" % 516#%7&'()*+,8-.(9993:11:7"30123;4 &!"#$%"#&'()*+,-.(9993:11:7"30123 '!"#$%"#&'()*+,-.(9993:11:7"30123 ()!"#$%&#'()*+",---.!%%!/".0%+1 2"#32) :8.95; 89:;( ( * (( GSyC DNS 28
29 Resolución de nombres Cachés en el servicio de DNS Cuando un servidor, al realizar una búsqueda, aprende un dato que no sabía, lo guarda en una caché. Si vuelve a necesitar ese dato, lo saca de la caché en vez de volver a preguntar. Los mapas especifican cuánto tiempo (ttl) puede estar en una caché un dato que se saca de dicho mapa. En algunos sistemas operativos, el resolver mantiene una caché de los resultados de búsquedas previas, de la que se pueden aprovechar todas las aplicaciones de la máquina. En GNU/Linux no es lo habitual. Algunas aplicaciones (por ejemplo, los navegadores web) mantienen una caché para la aplicación de los resultados de las búsquedas previas realizadas por dicha aplicación. GSyC DNS 29
30 Resolución de nombres Tipos de consultas recibidas por un servidor Consultas Recursivas: Obligan al servidor que las recibe a hacer todas las consultas necesarias para encontrar la dirección pedida y contestar con ella. De este tipo son las consultas que hace un resolver. Consultas Iterativas: Hacen que el servidor que las recibe conteste con lo máximo que el sepa de esa búsqueda sin preguntar a nadie más suele ser la IP del servidor del siguiente subdominio en la cadena de búsqueda De este tipo son las consultas que hace un servidor de DNS a otro servidor de DNS. En cualquier consulta los servidores aprovechan cualquier información que tengan en la caché para responder directamente o para atajar en el cadena de búsquedas. Ej.: Si un servidor recibe una consulta recursiva por y ya tiene en su caché la IP de un servidor de com, empieza preguntándole a él y no a un root nameserver. GSyC DNS 30
31 Contenidos Tipos de servidores de DNS 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 31
32 Tipos de servidores de DNS Tipos de servidor de un dominio Un servidor que sirve un dominio, puede ser, con respecto a ese dominio: Servidor Maestro: Tiene el fichero del mapa del dominio que sirve. Servidor Esclavo: Al arrancar pide el fichero a otro servidor (normalmente maestro), y luego le pide actualizaciones periódicamente. Estas transferencias, llamadas transferencias de zona, se hacen con mensajes de DNS. Cuando se obtiene una respuesta directamente de uno de estos servidores, esta respuesta tiene autoridad (authoritative). Cuando se obtiene una respuesta de otro servidor esta respuesta no tiene autoridad. aunque normalmente los que reciben la respuesta ignoran si ésta tiene o no autoridad GSyC DNS 32
33 Tipos de servidores de DNS Root nameservers Actualmente están definidos 13 root nameservers: A.root-servers.net B.root-servers.net... M.root-servers.net Hay varias copias de cada uno de estos 13 root nameservers. Actualmente son unas 200 máquinas en el mundo las que son root nameservers. Los mapas del dominio raíz se transfieren entre los root nameservers por mecanismos externos al DNS. GSyC DNS 33
34 Tipos de servidores de DNS Ubicación de los Root nameservers La figura es de Abril de 2015 Una versión actualizada disponible en GSyC DNS 34
35 Contenidos Mapas de dominio 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 35
36 Mapas de dominio Mapas de dominio Cada mapa de dominio incluye un conjunto de Registros de Recurso (RRs): Son la unidad de consulta. Cada registro de recurso tiene 5 campos: Nombre: Nombre del RR que se define Tiempo de vida: Tiempo de validez del registro en las cachés Clase: Clase de direccionamiento, IN para Internet Tipo: Tipo del RR Valor: Valor del RR asociado al Nombre (en función del Tipo) GSyC DNS 36
37 Mapas de dominio Principales tipos de RR SOA (Start Of Authority): Contiene información sobre todo el dominio: servidor maestro primario, administrador, número de serie del mapa, tiempos de refresco... NS (Nameserver): Identifica un servidor de nombres. A: Asocia a un nombre una dirección IP. MX: Define un servidor de correo para el dominio. CNAME: Asocia un alias a otro nombre. HINFO: Da información del tipo de máquina y sistema operativo para un nombre. TXT: Da información adicional para un nombre. SRV: Define qué máquina ofrece un determinado servicio (generalización de MX). PTR: Asocia a una IP un nombre en el dominio inverso (aunque también tiene otros usos). GSyC DNS 37
38 Ejemplo de mapa Mapas de dominio Nombre TTL Clase Tipo Valor $ORIGIN gsyc.es. ; añadido a los nombres no terminados en punto $TTL ; ttl por defecto en segundos. Otras sintaxis: 1d o 24h gsyc.es. IN SOA ns1.gsyc.es. admin-gsyc.gmail.com. ( ; Nº de serie 8h ; Refresco 2h ; Reintento 7d ; Expiración 1d ) ; ttl para respuestas negativas ; (de nombre inexistente) gsyc.es. IN NS ns1.gsyc.es. gsyc.es. IN NS ns2.gsyc.es. gsyc.es. 2h IN MX mail.gsyc.es. ns1.gsyc.es. IN A ns2.gsyc.es. IN A tierra.gsyc.es. IN A hielo.gsyc.es. IN A agua.gsyc.es. IN A fuego.gsyc.es. IN A h IN CNAME agua.gsyc.es. mail.gsyc.es. 4h IN CNAME fuego.gsyc.es. aulas.gsyc.es. IN NS ns.aulas.gsyc.es. ns.aulas.gsyc.es. IN A GSyC DNS 38
39 Contenidos Mensajes de DNS 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 39
40 Mensajes de DNS Protocolo de transporte DNS utiliza normalmente UDP como protocolo de transporte, y en algunas ocasiones utiliza también TCP. Un servidor de DNS escucha en el puerto 53 de TCP y en el 53 de UDP. Normalmente un resolver hace consultas usando UDP. Normalmente un servidor responde usando el mismo protocolo que el utilizado en la consulta. Si un servidor contesta por UDP y la respuesta ocupa más de 512 bytes: el servidor envía sólo los primeros 512 bytes de la respuesta, indicando con un flag que dicha respuesta está truncada quien preguntó, al ver la respuesta truncada, repite la consulta utilizando TCP el servidor responde utilizando TCP Las transferencias de zona de maestro a esclavo utilizan TCP. GSyC DNS 40
41 Mensajes de DNS Mensaje de Consulta Transaction ID número que identifica la consulta Response Flag: Indica si es una consulta (flag=0) o una respuesta (flag=1). En este caso valdrá Flags Recursion desired: Indica si se la consulta se realiza en modo recursivo (flag=1) o iterativo (flag=0).... Questions 1 Answer RRs 0 Authority RRs 0 Additional RRs 0 Queries Registro que se solicita en la consulta al servidor de DNS. Al realizar una resolución directa, aparecerá el nombre de la máquina que se está consultando y el tipo de registro que se solicita, registro A. Ejemplo: Queries pc2.emp2.net: type A, class IN GSyC DNS 41
42 Mensajes de DNS Mensaje de Respuesta con el registro solicitado Transaction ID Flags mismo número que venía en el mensaje de consulta Response Flag: Indica si es una consulta (flag=0) o una respuesta (flag=1). En este caso valdrá Questions 1 Answer RRs 1 Authority RRs 1 Additional RRs 1 Queries Registro que se solicita en la consulta al servidor de DNS. Al realizar una resolución directa, aparecerá el nombre de la máquina que se está consultando y el tipo de registro que se solicita, registro A. Ejemplo: Queries pc2.emp2.net: type A, class IN Answers Registro que responde el servidor de DNS a la solicitud que se le hizo en el campo Queries. Al realizar una resolución directa, aparecerá el registro completo A. Ejemplo: Answers pc2.emp2.net: type A, class IN, addr Name: pc2.emp2.net Type: A (Host address) Class: IN (0x0001) Time to live: 1 day Data length: 4 Addr: Authoritative nameservers Registro NS del servidor de nombres que ha proporcionado la respuesta. Ejemplo: Authoritative nameservers emp2.net: type NS, class IN, ns dnsemp2.emp2.net Additional records Registro A del servidor de nombres dado en Authoritative nameservers. Ejemplo: Additional records dnsemp2.emp2.net: type A, class IN, addr GSyC DNS 42
43 Mensajes de DNS Mensaje de Respuesta sin el registro solicitado, remite a otro servidor de DNS Transaction ID Flags mismo número que venía en el mensaje de consulta Response Flag: Indica si es una consulta (flag=0) o una respuesta (flag=1). En este caso valdrá Questions 1 Answer RRs 0 Authority RRs 1 Additional RRs 1 Queries Registro que se solicita en la consulta al servidor de DNS. Al realizar una resolución directa, aparecerá el nombre de la máquina que se está consultando y el tipo de registro que se solicita, registro A. Ejemplo: Queries pc2.emp2.net: type A, class IN Authoritative nameservers Registro NS de otro servidor de DNS que puede ayudarnos a realizar la resolución. Ejemplo: Authoritative nameservers net: type NS, class IN, ns dnsnet.net Additional records Registro A del servidor de nombres dado en Authoritative nameservers. Ejemplo: Additional records dnsnet.net: type A, class IN, addr GSyC DNS 43
44 Mensajes NOTIFY Mensajes de DNS Definidos en la RFC 1996 para que los servidores maestros puedan actualizar su mapa a los esclavos sin necesidad de esperar a que a éstos les toque actualizarlo. Un servidor maestro, al cambiar su mapa, informa del cambio del RR SOA con un mensaje NOTIFY enviado a los esclavos. Este mensaje provoca que los esclavos le pidan el mapa como si hubiera vencido el temporizador de refresco. GSyC DNS 44
45 Mensajes UPDATE Mensajes de DNS Definidos en la RFC 2136 para permitir actualizaciones dinámicas al DNS. Permiten cambiar el mapa de un servidor de forma automática, sin que se necesite la edición manual por parte de un administrador. Cuando un servidor de DNS reciba un mensaje UPDATE cambiará automáticamente en su mapa los RRs contenidos en el mensaje. Normalmente los mensajes UPDATE se utilizan en combinación con otros protocolos como DHCP. Cuando se utilizan los mensajes UPDATE, el DNS resultante a veces se denomina DDNS (Dynamic DNS). GSyC DNS 45
46 Mensajes de DNS Formato detallado de los mensajes de DNS (I) '()*+,(%#"%*"-$+."%%#"%/01 &0E676?0,-./012 34"56"7892:/;02 34"56"<<2"56"<62=:62;0 &892:/;02 <<2"56"<62=:62;0 A< B=&856 >> C& <- <> D6?8 <&856!"#$%&"'(()"*"!"#"$%& '+ GSyC DNS 46
47 Mensajes de DNS Formato detallado de los mensajes de DNS (II) ID (16 bits): identifica el mensaje de DNS. El que realiza una consulta pone un ID, la respuesta copia este mismo ID. Flags: QR (1 bit): Query/Response Flag 0 si el mensaje es una consulta 1 si el mensaje es una respuesta. Los mensajes de respuesta mantienen la parte de consultas que traía el mensaje recibido. Opcode (4 bits): Código de operación: 0 para una consulta estándar 1 para una consulta inversa (obsoleto: ahora se usa el dominio inverso) 2 para petición de estado del servidor 3 para un mensaje NOTIFY 4 para un mensaje UPDATE AA (1 bit): Authoritative Answer Flag: 1 si la respuesta la da un servidor con autoridad para el dominio de la pregunta. TC (1 bit): Truncation Flag: 1 si el mensaje ha sido truncado GSyC DNS 47
48 Mensajes de DNS Formato detallado de los mensajes de DNS (III) Flags (continuación): RD (1 bit): Recursion Desired Flag En las consultas, 1 indica recursiva, 0 indica iterativa En las respuestas se mantiene el valor de la consulta RA (1 bit): Recursion Available Flag: En las respuestas, 1 si el servidor acepta peticiones recursivas, 0 si no las acepta. Zero (3 bits): siempre a cero, no se utilizan RCode (4 bits): Códigos de respuesta: 0: no hay error 1: error en el formato de consulta 2: error en el servidor 3: error en el nombre preguntado (no existe) 4: tipo de consulta no soportada por el servidor 5: consulta rechazada por el servidor (por razones de política del servidor; p.ej., no se permiten las transferencias de zona) GSyC DNS 48
49 Mensajes de DNS Formato detallado de los mensajes de DNS (IV) Consultas: Una o más consultas con los siguientes campos: Qname: nombre que se consulta. Qtype: tipo consultado: A, NS, MX... También hay un tipo para indicar que se solicita una transferencia de zona por parte de un esclavo a un maestro. Qclass: clase de consulta: 1 para IN (Internet). RRs de Respuesta: Cero o más RRs con los siguientes campos: Name: Nombre del RR Type: Tipo del RR: A, NS, MX... Class: Clase del RR: 1 para IN (Internet). TTL: Segundos que el RR debe estar en el caché. 0 indica que no puede cachearse. RDLength: Tamaño en bytes de RData. RData: Datos del RR, en función de su tipo. GSyC DNS 49
50 Mensajes de DNS Formato detallado de los mensajes de DNS (V) RRs de Autoridad: Cero o más RRs de tipo NS. Entre otros usos, aquí van los nombres de los servidores que permiten seguir la cadena de búsquedas de una consulta iterativa. Cada RR tiene los mismos campos que en los RRs de Respuesta. RRs Adicionales: Cero o más RRs extra. Entre otros usos, aquí van las direcciones IP (RRs de tipo A) de los servidores citados en los RRs de Autoridad. Cada RR tiene los mismos campos que en los RRs de Respuesta. GSyC DNS 50
51 Contenidos Referencias 1 Introducción 2 Dominios en el DNS 3 Resolución de nombres 4 Tipos de servidores de DNS 5 Mapas de dominio 6 Mensajes de DNS 7 Referencias GSyC DNS 51
52 Referencias Referencias J.J. Kurose y K.W. Ross, Redes de Computadores: un enfoque descendente basado en Internet, Pearson Educación, 2ª edición: capítulo 2. W. Richard Stevens, TCP/IP Illustrated, vol 1, Addisson Wesley: capítulo 14. Charles M. Kozierok, TCP/IP GUIDE. A Comprehensive, Illustrated Internet Protocols Reference, No Starch Press, 2005: RFC 1034, Domain Names: Concepts and Facilities: RFC 1035, Domain Names: Implementation and Specification: GSyC DNS 52

References: Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución