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 2016
GSyC - 2016
DNS
1
©2016 Grupo de Sistemas y Comunicaciones.
Algunos derechos reservados.
Este trabajo se distribuye bajo la licencia
Creative Commons Attribution Share-Alike
disponible en http://creativecommons.org/licenses/by-sa/3.1/es
GSyC - 2016
DNS
2
Contenidos
Introducción
1
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 - 2016
DNS
3
Contenidos
Introducción
Introducción
1
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 - 2016
DNS
4
Motivación
Introducción
Es más cómodo manejar y recordar nombres que direcciones IP
(ej: hielo.gsyc.urjc.es frente a 212.128.1.44).
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:
www.google.com y www.google.es 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: www.urjc.es 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 - 2016
DNS
5
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 - 2016
DNS
6
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 - 2016
DNS
7
Contenidos
Dominios en el DNS
Introducción
1
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 - 2016
DNS
8
Jerarquía de dominios
Dominios en el DNS
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 - 2016
DNS
9
Árbol de dominios
Dominios en el DNS
GSyC - 2016
DNS
10
!"#$%&"’(()"*"!"#"$%&)!"#$$$%&’$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!(’))$$$$!(’)(’()*+%#"%#*,-.-*$&*+$$!,-$$$#*.$$$+)%$$$*/#$$$"!($$$!’$$$-0$$$1$!’-"$$$+)($$$$$$$$$$$$$$$$2&+$$$)!!!$$-/3&(4!*/5$$$$$$$$$$$$$$$$$$$$$$$$$666$$$$$6667*+)")*’$,!$8/)+!/$").!%7*+)")*’$,!$’!#-",*$").!%7*+)")*$/29: Asignación de dominios
Dominios en el DNS
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 - 2016
DNS
11
Dominio Directo y Dominio Inverso
Dominios en el DNS
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 138.117.0.0 es el dominio inverso
117.138.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 - 2016
DNS
12
Resolución de nombres
Contenidos
Introducción
1
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 - 2016
DNS
13
Resolución de nombres
Consulta de nombres desde las aplicaciones
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”).
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 - 2016
DNS
14
!"#$%&"’(()"*"!"#"$%&+,’()$*+,-%#"%*)-%#./"00.1)%2-/-%*)%)(34/"!!"#"$"%&’("(’)*$+"$,*&"-"#"$(.*$/*"$0’0&’.1,("$#,$(.*2/&1"$"&$345$6!"#$%&"!78$(.*$&&"9"#"2$(.9.:$!"#$%&’("()*+,"-+./012*&’3;"$(.*2/&1"$*.<9"&9,*1,$2’=/,$&.2$%"2.2$2’=/’,*1,2$6,*$/*"$9>?/’*"$@4AB;’*/C7:−!.*2/&1"$,*$/*$D’(E,<.$’4*+54,"-+-7F−5’$*.$2,$<,2/,&+,8$(.*2/&1"$,*$/*$2,<+’#.<$#,$345$6(/G"$#’<,((’)*$HI$,21>$,*$4*+546*-"7835"097F−J"<’"0&,$,*$D/*(’)*$#,$4*+540--:;+5,35"09-./01210345678/96:"!"#$%&#’()*+","#-,);01<6:87=>6?1>477@0?1<A184B>6?1><87?7>6?1>:678/9A184B$6:90C8:"C6"DE$!"#$%"#&’()*%+,’-./0,#%1&’()*%+,’-2 Resolución de nombres
Ejemplo de fichero /etc/hosts
127.0.0.1 localhost
127.0.1.1 cacharro
Laboratorio 04 - Edif. Lab II
#
193.147.49.21 epsilon01.aulas.gsyc.es epsilon01
193.147.49.22 epsilon02.aulas.gsyc.es epsilon02
193.147.49.23 epsilon03.aulas.gsyc.es epsilon03
193.147.49.24 epsilon04.aulas.gsyc.es epsilon04
193.147.49.25 epsilon05.aulas.gsyc.es epsilon05
193.147.49.26 epsilon06.aulas.gsyc.es epsilon06
193.147.49.27 epsilon07.aulas.gsyc.es epsilon07
193.147.49.28 epsilon08.aulas.gsyc.es epsilon08
193.147.49.29 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 - 2016
DNS
15
Resolución de nombres
Ejemplo de fichero /etc/resolv.conf
search gsyc.urjc.es aulas.gsyc.urjc.es pantuflo.es
nameserver 212.128.4.2
nameserver 193.147.184.7
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 - 2016
DNS
16
Resolución de nombres
Ejemplo de fichero /etc/nsswitch.conf
passwd:
group:
shadow:
hosts:
networks:
protocols:
services:
ethers:
rpc:
files ldap
files ldap
files ldap
files dns
files
db files
db files
db files
db files
netgroup:
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 - 2016
DNS
17
Resolución de nombres
Consulta desde el resolver a un servidor de DNS
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 - 2016
DNS
18
!"#$%&"’(()"*"!"#"$%&+,’()$*+,-%-%*)%$"./0#(.-./012.-3456"78896::;;;<=00=1.<>
[email protected]!"#$%"#&’()*+,-./01/231/2-4567#%8&’()*+9:;<(===/>66>8"/?6@AB!"#$%&#’()*+",---.!%%!/".0%+1!"#!$!!2"#32)456.78.9:8.95;$.-2EF0-"@
[email protected]!"#$%&’!"#$()!"#$*+)4./9I./8J"@G$!"#$%&’!"#$()!"#$*+)&0D/I18J"@G$,-./01"$2,-./01"$3%4&4 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
subdo
Comentarios de: DNS (0)
No hay comentarios