DNS - docencia de la ETSIT-URJC

DNS - docencia de la ETSIT-URJC DNS - docencia de la ETSIT-URJC

docencia.etsit.urjc.es
from docencia.etsit.urjc.es More from this publisher
12.07.2015 Views

DNS: Domain Name SystemBibliografía:“Redes de Computadores: un enfoquedescendente basado en Internet”:J.F Kurose y K.W. Ross.© GSyC 2008 – Redes I1Nombres y direccionesNombre: forma de identificar una entidad en unsistema (lista de bits o caracteres).−−Entidades: Usuarios, ficheros, recursos, equipos,impresoras, ventanas..Queremos nombres porque queremos operar con ellas.Dirección: para poder operar con una entidad esnecesario acceder a través de un punto de acceso.Los puntos de acceso son entidades que seidentifican por una dirección.Un nombre de una entidad es independiente de suubicación si es independiente de las direcciones desu punto de acceso.−Es más flexible.© GSyC 2008 – Redes I2

<strong>DNS</strong>: Domain Name SystemBibliografía:“Re<strong>de</strong>s <strong>de</strong> Computadores: un enfoque<strong>de</strong>scen<strong>de</strong>nte basado en Internet”:J.F Kurose y K.W. Ross.© GSyC 2008 – Re<strong>de</strong>s I1Nombres y direccionesNombre: forma <strong>de</strong> i<strong>de</strong>ntificar una entidad en unsistema (lista <strong>de</strong> bits o caracteres).−−Entida<strong>de</strong>s: Usuarios, ficheros, recursos, equipos,impresoras, ventanas..Queremos nombres porque queremos operar con el<strong>la</strong>s.Dirección: para po<strong>de</strong>r operar con una entidad esnecesario acce<strong>de</strong>r a través <strong>de</strong> un punto <strong>de</strong> acceso.Los puntos <strong>de</strong> acceso son entida<strong>de</strong>s que sei<strong>de</strong>ntifican por una dirección.Un nombre <strong>de</strong> una entidad es in<strong>de</strong>pendiente <strong>de</strong> suubicación si es in<strong>de</strong>pendiente <strong>de</strong> <strong>la</strong>s direcciones <strong>de</strong>su punto <strong>de</strong> acceso.−Es más flexible.© GSyC 2008 – Re<strong>de</strong>s I2


¿Por qué es necesario el <strong>DNS</strong>?Los humanos preferimos nombres a direcciones IP (ej:cacharro.cct.urjc.es frente a 212.128.1.44)Las direcciones IP están ligadas a <strong>la</strong> estructura <strong>de</strong> <strong>la</strong> red, peroeso no tiene por qué reflejarse en el nombrado <strong>de</strong> máquinas (ej:www.google.com, www.google.es)Las direcciones IP están ligados a máquinas concretas, pue<strong>de</strong> serconveniente un nivel <strong>de</strong> abstracción no ligado a máquinas (ej:www.urjc.es pue<strong>de</strong> cambiar <strong>de</strong> máquina, y <strong>de</strong> IP, pero no tienepor qué cambiar <strong>de</strong> nombre).Es necesario establecer una correspon<strong>de</strong>ncia entre nombres ydirecciones IP.<strong>DNS</strong>: protocolo <strong>de</strong> nivel <strong>de</strong> aplicación, sobre UDP o TCP© GSyC 2008 – Re<strong>de</strong>s I5Un poco <strong>de</strong> historiaAl principio (años 70), <strong>la</strong> correspon<strong>de</strong>ncia entrenombres y direcciones IP se mantenía en un únicofichero (HOSTS.TXT) con información <strong>de</strong> todas <strong>la</strong>smáquinas <strong>de</strong> ARPANET.Se obtenía periódicamente por FTP: gestióncompletamente manual.Con el crecimiento <strong>de</strong> ARPANET se hizo inmanejable.1983, Paul Mockapetris: primeras RFC que <strong>de</strong>scribenel Domain Name System.1987, Especificaciones actuales: RFC 1034 y 1035.1997, Extensiones <strong>de</strong> seguridad. Actual: RFC 4033© GSyC 2008 – Re<strong>de</strong>s I6


Estructura <strong>de</strong> nombradoSe <strong>de</strong>scentraliza el control consiguiéndose unaestructura jerárquica y fácilmente ampliable.Jerarquía <strong>de</strong> dominios:− Dominio raíz (root o “.”):−Gestionado por ICANN (Internet Corporation for AssignedNames and Numbers).Dominios <strong>de</strong> nivel máximo (o <strong>de</strong> primer nivel):Tradicionales: com, edu, gov, mil, net, org, int, códigos ISO<strong>de</strong> paises (uk, mx, ar, <strong>de</strong>, es. . . )En el año 2000 aparecen: biz, info, name, pro, aero, coop,museum− Dominios secundarios, terciarios, . . .© GSyC 2008 – Re<strong>de</strong>s I7Árbol <strong>de</strong> dominiosDominio raíz.Dominios <strong>de</strong>primer nivelcom edu gov mil org net es uk …Dominios <strong>de</strong>segundo nivelsun mitacm ieee urjceng lcs etsii etsittheory www www© GSyC 2008 – Re<strong>de</strong>s I8


Jerarquía <strong>de</strong> autorida<strong>de</strong>sUna organización o autoridad encargada <strong>de</strong> <strong>la</strong> administración<strong>de</strong> un dominio pue<strong>de</strong> <strong>de</strong>cidir dividirlo en subdominios, y<strong>de</strong>legar <strong>la</strong> responsabilidad <strong>de</strong> su administración en otrasorganizaciones.−Ej: Una universidad con varios <strong>de</strong>partamentos pue<strong>de</strong> <strong>de</strong>cidirdividir el dominio <strong>de</strong> <strong>la</strong> universidad en diferentes subdominios,uno por cada <strong>de</strong>partamento. Los <strong>de</strong>partamentos conconocimientos telemáticos pue<strong>de</strong>n querer gestionar su propiosubdominio.Una zona es un subárbol <strong>de</strong> <strong>DNS</strong> que se administra por unaorganización diferente a <strong>la</strong> organización que administra elnodo padre <strong>de</strong> ese subárbolDominio es un concepto ligado al espacio <strong>de</strong> nombres y Zona esun concepto ligado a <strong>la</strong> autoridad que administra un dominio:jerarquía <strong>de</strong> nombres y jerarquía <strong>de</strong> autorida<strong>de</strong>s.© GSyC 2008 – Re<strong>de</strong>s I9Estructura <strong>de</strong> gestiónCada vez que se <strong>de</strong>lega un subdominio se <strong>de</strong>legatambién su gestión (incluyendo su posible división ensubdominios), convirtiéndose en una nueva zona−−Si el gestor <strong>de</strong>l dominio es <strong>de</strong>lega un subdominio urjc, elresponsable <strong>de</strong> <strong>la</strong> zona urjc manejará <strong>la</strong> correspon<strong>de</strong>ncia<strong>de</strong> nombres y direcciones <strong>de</strong> todas <strong>la</strong>s máquinas <strong>de</strong> sudominio.Por tanto, <strong>la</strong> zona urjc quedará <strong>de</strong>finida por todas <strong>la</strong>smáquinas <strong>de</strong>l subdominio urjc.Si el responsable <strong>de</strong> urjc lo cree conveniente, pue<strong>de</strong><strong>de</strong>legar un subdominio cct, sin que por ello tenga queinformar al gestor <strong>de</strong> es.Por tanto, <strong>la</strong> zona urjc quedaría <strong>de</strong>finida por todas <strong>la</strong>smáquinas <strong>de</strong>l dominio urjc excepto <strong>la</strong>s máquinas <strong>de</strong>lsubdominio cct, <strong>la</strong>s cuáles pertenecerían a una zonadiferente.© GSyC 2008 – Re<strong>de</strong>s I10


Estructura <strong>de</strong> gestiónLa asignación <strong>de</strong> nombres <strong>de</strong> dominios<strong>de</strong> segundo nivel (subdominios <strong>de</strong>.es, .com, .org) está gestionada pororganismos <strong>de</strong>nominados “registrars”.A veces un mismo subdominio segestiona por varios “registrars” enrégimen <strong>de</strong> competencia.© GSyC 2008 – Re<strong>de</strong>s I11Autoridad quegestiona urjc.esexceptoteleco.urjc.esDominios - Zonas.esurjcICANN“Registrar” <strong>de</strong> .eduadmin arte etsitAutoridad que gestionaetsit.urjc.esmáq1 máq2 máq1 máq2 gsyc tscmáq1 máq2 máq1 máq2© GSyC 2008 – Re<strong>de</strong>s I12


© GSyC 2008 – Re<strong>de</strong>s IDominios directo e inversoDominio directo: proporciona para cada nombre unadirección IP.Dominio inverso: proporciona para cada dirección IPun nombre.−−El dominio inverso también se conoce como dominioin-addr.arpa.Los elementos <strong>de</strong>l dominio inverso son <strong>la</strong>s direcciones <strong>de</strong>red construidas invirtiendo los números que <strong>la</strong> componen, yterminando en in-addr.arpa. Ejemplo:La red 138.117.0.0 es el dominio inverso 117.138.inaddr.arpa.• La inversión <strong>de</strong> los números en <strong>la</strong>s direcciones IP se realizapara mantener <strong>la</strong> misma estructura jerárquica <strong>de</strong> losnombres <strong>de</strong> dominio:• En los nombres <strong>de</strong> dominio, porciones <strong>de</strong>l nombre situadas mása <strong>la</strong> izquierda representan entida<strong>de</strong>s más específicas,mientras que en <strong>la</strong>s direcciones IP es al revés.13Consulta <strong>de</strong> una direcciónpara un nombreCada aplicación va en<strong>la</strong>zadacon una biblioteca <strong>de</strong> consultaal <strong>DNS</strong> (resolver), conl<strong>la</strong>madas como: To_IP() ogethostbyname().La consulta normalmentesigue los pasos siguientes (enuna máquina GNU/Linux):−−−Consulta en un fichero(/etc/hosts).Si no se resuelve, consultaen un servidor <strong>de</strong> <strong>DNS</strong> (cuyadirección IP está en/etc/resolv.conf).Variable en función <strong>de</strong>/etc/nsswitch.confMáquinaAplicaciónSolicitud RespuestaSolicitudResolverRespuestaFicheros:/etc/hosts/etc/resolv.confServidor<strong>de</strong> <strong>DNS</strong>© GSyC 2008 – Re<strong>de</strong>s I14


© GSyC 2008 – Re<strong>de</strong>s IEsquema <strong>de</strong>funcionamiento <strong>de</strong> <strong>DNS</strong>Se trata <strong>de</strong> mantener <strong>la</strong> informacióncomo una base <strong>de</strong> datos distribuida.Las consultas al <strong>DNS</strong> se realizan enmodo cliente-servidor:− Cuando una aplicación (cliente) quiere“resolver” un nombre (que no aparece enel fichero local), pregunta a un servidor<strong>de</strong> <strong>DNS</strong>.− El servidor investiga por su cuenta y<strong>de</strong>vuelve <strong>la</strong> dirección IP pedida.155209.85.135.1041AplicaciónfirefoxresolverUDPIPEthernet2Consulta a un servidorfirefox: http://www.google.com¿www.google.com?Solicitud UDP(¿www.google.com?)3Servidor<strong>DNS</strong>53UDPIPEthernet4Respuesta UDP209.85.135.104© GSyC 2008 – Re<strong>de</strong>s I16


© GSyC 2008 – Re<strong>de</strong>s IFuncionamiento básico(sin cachés)Cuando un servidor S recibe una consulta pararesolver un nombre (ejemplo: www.google.com):ØØØØS Comprueba si el nombre pertenece a alguno <strong>de</strong> los dominiosque sirve (si es que sirve alguno). Si S lo sirve, busca en su“mapa” y <strong>de</strong>vuelve <strong>la</strong> dirección IP correspondiente.Si S no lo sirve pregunta a un servidor <strong>de</strong>l dominio raíz, que lecontestará con <strong>la</strong> dirección IP <strong>de</strong> un servidor <strong>de</strong> <strong>DNS</strong> <strong>de</strong>ldominio “com”.Luego S pregunta al servidor <strong>de</strong> <strong>DNS</strong> <strong>de</strong> “com”, que lerespon<strong>de</strong> con <strong>la</strong> dirección IP <strong>de</strong> un servidor <strong>de</strong> <strong>DNS</strong> <strong>de</strong>“google.com”.Ahora S pregunta a este último, que ya tiene en sus mapas <strong>la</strong>dirección IP pedida.Cada servidor pue<strong>de</strong> servir uno o varios dominios, oninguno.17EjemploServidor<strong>DNS</strong>aplicación53resolverUDP8IPRespuesta UDP Ethernet209.85.135.104…1 Pregunta(¿www.google.com?)7IP <strong>de</strong>www.google.comServidor <strong>DNS</strong>¿IPwww.google.com?32 Pregunta aservidor .com4¿IPwww.google.com?(IP)Servidor <strong>DNS</strong> .comPregunta al5 servidor .google.com(IP)¿IP 6www.google.com?Servidor <strong>DNS</strong> .google.com.© GSyC 2008 – Re<strong>de</strong>s I18


Consultas a un servidorCuando se hace una consulta se pue<strong>de</strong> elegirsi se hace en modo recursivo o iterativo :− Recursivas: Las que hace un cliente, que obliganal servidor a hacer <strong>la</strong>s consultas necesarias paraencontrar <strong>la</strong> dirección pedida.− Iterativas: Las que le hace otro servidor, a <strong>la</strong>sque respon<strong>de</strong>n con <strong>la</strong> dirección IP <strong>de</strong>l servidor<strong>de</strong>l siguiente dominio en <strong>la</strong> jerarquía.Siempre que pue<strong>de</strong>n, los servidores usandatos <strong>de</strong> su cache.© GSyC 2008 – Re<strong>de</strong>s I19Tipos <strong>de</strong> servidoresSegún el origen <strong>de</strong> <strong>la</strong> información quesirven:− Maestro (primario): Tiene <strong>la</strong> informaciónactualizada por el administrador: tiene todoel mapa original− Esc<strong>la</strong>vo (secundario): Obtiene <strong>la</strong>información (todo el mapa) mediante copia<strong>de</strong>l maestro.− Sólo Cache: No tiene información propia (elmapa), sino que guarda en memoria losresultados <strong>de</strong> consultas que él va haciendocuando es preguntado.© GSyC 2008 – Re<strong>de</strong>s I20


Servidor reenviador(forwar<strong>de</strong>r)A veces un servidor <strong>de</strong> <strong>DNS</strong> se configura <strong>de</strong> forma que,cuando reciba peticiones <strong>de</strong> un cliente, si no conoce <strong>la</strong>respuesta, en vez <strong>de</strong> intentar encontrar<strong>la</strong> por elprocedimiento normal, actúa como cliente (modorecursivo) <strong>de</strong> otro servidor para que este último obtenga<strong>la</strong> respuesta en su lugar y se <strong>la</strong> pase. Se dice que elsegundo servidor es un reenviador (forwar<strong>de</strong>r ) <strong>de</strong>lprimero.Esta configuración pue<strong>de</strong> ser útil para:− evitar el excesivo uso <strong>de</strong> un en<strong>la</strong>ce lento a Internet.−concentrar <strong>la</strong>s preguntas <strong>de</strong> varios servidores en un únicoservidor reenviador para aprovechar su cache másglobalmente.© GSyC 2008 – Re<strong>de</strong>s I21Tipos <strong>de</strong> servidoresSegún fiabilidad <strong>de</strong> <strong>la</strong> respuesta:− Con autoridad (“authoritative”): Si <strong>la</strong>respuesta proce<strong>de</strong> <strong>de</strong>l mapa ”original”para el dominio consultado (<strong>de</strong> un maestroo <strong>de</strong> un esc<strong>la</strong>vo).− Sin autoridad: Si proce<strong>de</strong> <strong>de</strong> un servidorcache.© GSyC 2008 – Re<strong>de</strong>s I22


Mapas <strong>de</strong> dominioCada mapa <strong>de</strong> dominio incluye un conjunto <strong>de</strong>registros <strong>de</strong> recurso (RR):− Son <strong>la</strong> unidad <strong>de</strong> consulta.− Cada registro <strong>de</strong> recurso tiene 5 campos:Nombre <strong>de</strong> dominioTiempo <strong>de</strong> vida: Tiempo <strong>de</strong> vali<strong>de</strong>z <strong>de</strong>l registro en <strong>la</strong>scachesC<strong>la</strong>se: En Internet siempre INTipo: Define el tipo <strong>de</strong>l registroValor: Contenido que <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l campo tipo© GSyC 2008 – Re<strong>de</strong>s I23Tipos <strong>de</strong> registroSOA: Da información <strong>de</strong> gestión <strong>de</strong> una zona <strong>de</strong>l dominio (servidor <strong>de</strong>nombres primario, administrador, etc.).NS: I<strong>de</strong>ntifica al servidor <strong>de</strong> nombres <strong>de</strong> una zona.A: Define una dirección IP <strong>de</strong> una estación (pue<strong>de</strong> tener varias).MX: Define el servidor <strong>de</strong> correo <strong>de</strong>l dominio.CNAME: Permite asociar un alias a un nombre <strong>de</strong> dominio.HINFO: Da información <strong>de</strong>l tipo <strong>de</strong> máquina y sistema operativo <strong>de</strong>un <strong>de</strong>terminado sistema.TXT: Da información <strong>de</strong>l dominio.SRV: Elementos <strong>de</strong>l dominio asociados a <strong>de</strong>terminados servicios.PTR: Nombre canónico <strong>de</strong> un registro.© GSyC 2008 – Re<strong>de</strong>s I24


© GSyC 2008 – Re<strong>de</strong>s IEjemploNombre TTL C<strong>la</strong>se Tipo Valorst1.es. 86400 IN SOA ns.st1.es.admin-st1.gmail.com. (2008030201 ; Nº <strong>de</strong> serie28800 ; Refresco7200 ; Reintento604800 ; Expiración86400 ) ; TTLst1.es. 86400 IN NS ns.st1.es.st1.es. 86400 IN MX correo.st1.es.ns.st1.es. 86400 IN A 193.147.184.6tierra.st1.es. 86400 IN A 193.147.184.7marte.st1.es. 86400 IN A 193.147.184.8luna.st1.es. 86400 IN A 193.147.184.9sol.st1.es. 86400 IN A 193.147.184.10www.st1.es. 86400 IN CNAME marte.st1.es.correo.st1.es. 86400 IN CNAME luna.st1.es.itis.st1.es. 86400 IN NS ns.itis.st1.es.<strong>la</strong><strong>de</strong>.st1.es. 86400 IN NS ns.<strong>la</strong><strong>de</strong>.st1.es.ns.itis.st1.es. 86400 IN A 212.135.11.45ns.<strong>la</strong><strong>de</strong>.st1.es. 86400 IN A 212.146.13.14525¿UDP o TCP?Se usa el puerto 53 <strong>de</strong> TCP y el 53 <strong>de</strong> UDPpara el servidor <strong>de</strong> <strong>DNS</strong>:− Normalmente el resolver hace consultas usandoUDP.− Normalmente el servidor respon<strong>de</strong> usando elprotocolo <strong>de</strong> <strong>la</strong> consulta.− Si <strong>la</strong> respuesta UDP es <strong>de</strong> más <strong>de</strong> 512 bytes(truncada), el resolver <strong>la</strong> repite usando TCP.− Las transferencias <strong>de</strong> zona <strong>de</strong> primario asecundario usan TCP.© GSyC 2008 – Re<strong>de</strong>s I26


Formato <strong>de</strong> mensaje <strong>de</strong> <strong>DNS</strong>IDF<strong>la</strong>gsNº <strong>de</strong> consultas Nº <strong>de</strong> RRs <strong>de</strong> respuestaNº <strong>de</strong> NSs con autoridad Nº <strong>de</strong> NSs sin autoridadConsultasRespuestas: registros RR© GSyC 2008 – Re<strong>de</strong>s I27Formato <strong>de</strong> mensaje <strong>de</strong> <strong>DNS</strong>ID (16 bits): i<strong>de</strong>ntifica el mensaje <strong>de</strong> <strong>DNS</strong>. El que realiza <strong>la</strong> consultaelige ID, <strong>la</strong> respuesta copia este mismo ID:F<strong>la</strong>gs:−−−−−−−−QR (1 bit): QR=0 en preguntas, QR=1 en respuestas.Opco<strong>de</strong> (4 bits): 0 resolución directa, 1 resolución inversa y 2 para petición<strong>de</strong> estado.AA (1 bit): 1 si <strong>la</strong> respuesta es <strong>de</strong> un servidor con autoridadTC (1 bit): 1 si el mensaje ha sido truncadoRD (1 bit): 1 si <strong>la</strong> petición es recursivaRA (1 bit): 1 si el servidor acepta peticiones recursivasZero (3 bits): siempre a cero, no se utilizanRco<strong>de</strong> (4 bits): códigos <strong>de</strong> respuesta <strong>de</strong> un servidor:0: no hay error1: formato <strong>de</strong> consulta erróneo2: error en el servidor, no tiene <strong>la</strong> respuesta <strong>de</strong>spués <strong>de</strong> reenviar <strong>la</strong> solicitud3: error <strong>de</strong> nombre (sólo lo manda un servidor autoritario)© GSyC 2008 – Re<strong>de</strong>s I28


Formato <strong>de</strong> mensaje <strong>de</strong> <strong>DNS</strong>Consulta:− Qname: nombre que se consulta.− Qtype: tipo <strong>de</strong> consulta, A, PTR, etc− Qc<strong>la</strong>ss: c<strong>la</strong>se <strong>de</strong> consulta, IN (Internet)Respuesta:− Registro RR:Dominio, tipo (A, IN, NS, MX, etc), TTL, etc© GSyC 2008 – Re<strong>de</strong>s I29Referencias“Re<strong>de</strong>s <strong>de</strong> Computadores: un enfoque <strong>de</strong>scen<strong>de</strong>nte basado enInternet”. J.J. Kurose y K.W. Ross. Pearson Educación. (capítulo 2)“Distributed Systems: Principles and Paradigms”, Andrew S.Tanenbaum, Maarten van Steen. (Capítulo 5)“<strong>DNS</strong>: The Domain Name System”, capítulo 14 <strong>de</strong> “TCP/IP Illustrated,Volume 1”,W. Richard Stevens, Ed. AddisonWesley, 1994.“<strong>DNS</strong> and BIND”, P. Albitz & C. Liu, Ed. O’Reilly, 2001FAQ <strong>de</strong> comp.protocols.tcp-ip.domains:http://www.faqs.org/faqs/internet/tcp-ip/domains-faq/part1/ICANN: http://www.icann.net/<strong>DNS</strong> Resources Directory: http://www.dns.net/dnsrd/© GSyC 2008 – Re<strong>de</strong>s I30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!