Está en la página 1de 6

Cmo funciona el DNS

Publicado el 5 de Diciembre de 2006 en Redes Imprimir Enviar

Siguiendo con la serie de artculos sobre redes y TCP/IP hoy reali aremos una breve introducci!n al "Sistema de Nombres de Dominio" #DNS$ por "Domain Name System"%& El DNS se utili a principalmente para la resolucin de nombres$ esto es$ decidir 'u( direccin IP pertenece a determinado nombre completo de host& Tambin puede descargar este tutorial en otros formatos (HTML sin decoraciones y PD !"

Usos del DNS


El DNS se utili a para distintos prop!sitos& )os m*s comunes son+

Resolucin de nombres+ Dado el nombre completo de un host #por e,emplo blog"smaldone"com"ar%$ obtener su direccin IP #en este caso$ #$%"&'"(')"*(%& Resolucin inversa de direcciones+ Es el mecanismo inverso al anterior& -onsiste en$ dada una direccin IP$ obtener el nombre asociado a la misma& Resolucin de servidores de correo+ Dado un nombre de dominio #por e,emplo gmail"com% obtener el servidor a trav(s del cual debe reali arse la entrega del correo electr!nico #en este caso$ gmail+smtp+in"l"google"com%&

Por tratarse de un sistema muy .le/ible$ es utili ado tambi(n para muchas otras .unciones$ tales como la obtenci!n de claves p0blicas de ci.rado asim(trico y la validaci!n de envo de e1mails #a trav(s de mecanismos como SP2%&

Terminologa bsica
3ntes de proseguir$ es necesario introducir algunos t(rminos b*sicos para evitar con.usiones y ambig4edades& 5tros t(rminos m*s comple,os ser*n tratados m*s adelante&

Hos Name+ El nombre de un host es una sola "palabra" #.ormada por letras$ n0meros y guiones%& E,emplos de nombres de host son ",,,"$ "blog" y "obeli-"& !ull" #ualified Hos Name #!#HN%+ Es el "nombre completo" de un host& Est* .ormado por el hostname$ seguido de un punto y su correspondiente nombre de dominio& Por e,emplo$ "blog"smaldone"com"ar" Domain Name+ El nombre de dominio es una sucesi!n de nombres concatenados por puntos& 3lgunos e,emplos son "smaldone"com"ar"$ "com"ar" y "ar"&

To$ %evel Domains #T%D%+ )os dominios de ni.el superior son a'uellos 'ue no pertenecen a otro dominio& E,emplos de este tipo son "com"$ "org"$ "ar" y "es"&

&r'ui ec ura del DNS


El sistema D6S .unciona principalmente en base al protocolo UDP& )os re'uerimientos se reali an a trav(s del puerto ()& El sistema est* estructurado en .orma de "/rbol"& -ada nodo del *rbol est* compuesto por un grupo de servidores 'ue se encargan de resolver un con,unto de dominios #0ona de autoridad%& 7n servidor puede delegar en otro #u otros% la autoridad sobre alguna de sus sub1 onas #esto es$ alg0n subdominio de la ona sobre la 'ue (l tiene autoridad%& 7n subdominio puede verse como una especiali0acin de un dominio de nivel anterior& Por e,emplo$ "smaldone"com"ar" es un subdominio de "com"ar"$ 'ue a su ve lo es del T%D "ar"& El siguiente diagrama ilustra esto a trav(s de un e,emplo+

)os servidores con autoridad sobre los T%D son los llamados "root ser.ers" #o "ser.idores ra10"% del sistema& Estos son .i,os$ ya 'ue rara ve cambian$ siendo actualmente 89& :omemos como e,emplo el dominio "com"ar"& Este dominio pertenece al T%D "ar"& )os servidores con autoridad sobre el dominio "ar" son+
ns-ar.ripe.net merapi.switch.ch uucp-gw-1.pa.dec.com uucp-gw-2.pa.dec.com ns.uu.net ns1.retina.ar

athea.ar ctina.ar

En tanto 'ue los servidores con autoridad sobre "com"ar" son+


merapi.switch.ch relay1.mecon.gov.ar ns.uu.net ns1.retina.ar athea.ar ctina.ar

Podemos ver 'ue ns"uu"net$ ns("retina"ar$ athea"ar y ctina"ar tienen autoridad tanto sobre "com"ar" como sobre "ar"&

*l $roceso de resolucin de nombres


-uando una aplicaci!n #cliente% necesita resolver un !#HN enva un re'uerimiento al ser.idor de nombres con.igurado en el sistema #normalmente$ el provisto por el ISP%& 3 partir de entonces se desencadena el proceso de resoluci!n del nombre+ 8& El servidor de nombres inicial consulta a uno de los ser.idores ra10 #cuya direccin IP debe conocer previamente%& 2& Este devuelve el nombre del servidor a 'uien se le ha delegado la sub1 ona& 9& El servidor inicial interroga al nuevo servidor& ;& El proceso se repite nuevamente a partir del punto 2 si es 'ue se trata de una sub1 ona delegada& 5& 3l obtener el nombre del servidor con autoridad sobre la ona en cuesti!n$ el servidor inicial lo interroga& 6& El servidor resuelve el nombre correspondiente$ si este e/iste& <& El servidor inicial in.orma al cliente el nombre resuelto& Ilustremos esto con un e,emplo concreto& Supongamos 'ue el navegador necesita resolver el nombre "blog"smaldone"com"ar"& 8& El sistema tiene con.igurado el servidor de nombres #$$"*&"()2"3 #perteneciente al proveedor argentino ibertel%& Por lo tanto enva a (ste el re'uerimiento de resolver "blog"smaldone"com"ar"& 2& El servidor de #$$"*&"()2"3 enva la consulta root ser.er (&%"*("$"*& 9& 8=>&;8&0&; le in.orma 'ue el servidor con autoridad sobre "ar" es athea"ar$ cuya direccin IP es #$$"(2"&%"#& #En realidad$ in.orma la lista de todos los servidores con tal autoridad$ pero para simpli.icar el e,emplo tomaremos solamente uno&% ;& #$$"*&"()2"3 enva nuevamente el re'uerimiento a athea"ar #el cual$ recordemos$ tambi(n tiene autoridad sobre "com"ar"%& 5& athea"ar responde 'ue la autoridad sobre smaldone"com"ar la tiene ns("mydomain"com cuya direccin IP es 2*"&*"(('"#(3& 6& #$$"*&"()2"3 enva ahora la consulta a ns("mydomain"com& <& ns("mydomain"com in.orma 'ue la direccin IP de "blog"smaldone"com"ar" es #$%"&'"(')"*(&

>& 2inalmente$ #$$"*&"()2"3 devuelve este resultado a la aplicaci!n 'ue origin! la consulta&

+ecanismos de cac,-ada ve 'ue un servidor de nombres enva una respuesta$ lo hace ad,untando el tiempo de valide de la misma #TT% o "tiempo de .ida"%& Esto posibilita 'ue el receptor$ antes la necesidad de volver a resolver la misma consulta$ pueda utili ar la in.ormaci!n previamente obtenida en ve de reali ar un nuevo re'uerimiento& Esta es la ra !n por la cual los cambios reali ados en el DNS no se propagan instant*neamente a trav(s del sistema& Dependiendo de la naturale a de los mismos #y de la con.iguraci!n de cada servidor%$ la propagaci!n puede tardar desde algunos minutos hasta varios das&

Correo elec rnico " resolucin de nombres


6ormalmente los usuarios de correo electr!nico redactan su mensa,es usando un cliente de correo y envi*ndolo a trav(s de un servidor S+TP provisto por su ISP o a trav(s de un sistema de correo .1a ,eb #,ebmail%& En cual'uier caso$ una ve 'ue el mensa,e es recibido por el servidor$ debe ser entregado al destinatario& 3'u interviene el sistema DNS+ 8& El servidor del emisor solicita al DNS #de acuerdo al mecanismo anali ado anteriormente%$ la entrada +. del dominio del receptor del mensa,e& +. signi.ica "mail e-changer"$ esto es$ el nombre del servidor #o los servidores% encargado de recibir los mensa,es destinados a determinado dominio& 2& El DNS devuelve el !#HN y la direccin IP del mail e-changer& 9& El servidor del emisor se conecta al puerto 25$ mediante TCP$ del servidor del destinatario y entrega el mensa,e seg0n el protocolo S+TP& ;& El proceso podr* continuar si el servidor receptor del mensa,e no es el 0ltimo de la cadena& E/isten servidores 'ue act0an como "puertas de enlace" o "gate,ays" de correo electr!nico$ y 'ue se encargan de recibir los mensa,es de determinados dominios para luego enviarlos a otros servidores&

Ti$os de regis ro en un servidor de nombres


7n servidor de nombres puede almacenar distinta in.ormaci!n& Para ello$ en cada ona de autoridad dispondr* de entradas de distinto tipo& Entre los m*s importantes se encuentran+

& /&ddress0+ Este registro se utili a para traducir nombres de hosts del dominio en cuesti!n a direcciones IP& CN&+* /Canonical Name0+ El nombre cannico es un alias para un host determinado& #6o de.ine una direccin IP$ sino un nuevo nombre&% NS /Name Server0+ Especi.ica el servidor #o servidores% de nombres para un dominio& +. /+ail *1c,ange0+ De.ine el servidor encargado de recibir el correo electr!nico para el dominio&

PTR /Poin er0+ Especi.ica un "registro in.erso"$ a la inversa del registro &$ permitiendo la traducci!n de direcciones IP a nombres& T.T /Te1 0+ Permite asociar in.ormaci!n adicional a un dominio& Esto se utili a para otros .ines$ como el almacenamiento de claves de ci.rado$ "Domain4eys" o "Sender Policy rame,or5"&

2ind3 4el4 servidor de nombres


Pr*cticamente el 0nico so.t?are utili ado en los servidores de nombres de 6nternet es bind #"7er5eley 6nternet Name Domain"%$ creado originalmente en la 8ni.ersidad de 9alifornia$ y actualmente propiedad del 6nternet Systems 9onsortium& Este programa$ distribuido ba,o una licencia libre$ es utili ado en pr*cticamente todos los sistemas 8ni- del mundo& Esto ha sido considerado un problema de seguridad$ al punto 'ue se ha propuesto la migraci!n de algunos root ser.ers a otro sistema$ ya 'ue la aparici!n de alg0n problema de seguridad en bind podra implicar la cada de todo el DNS de 6nternet&

Uso del DNS en una red local


@a en redes de tamaAo medio #'ui *s m*s de 5 e'uipos% es conveniente la utili aci!n de DNS& Esto nada tiene 'ue ver con el DNS de 6nternet #aun'ue el servidor local puede estar vinculado a este sistema%& B*sicamente$ es conveniente montar un servidor local de DNS por los siguientes motivos+

&gili5ar el acceso a In erne + 3l tener un ser.idor de nombres en nuestra propia red local #'ue acceda al DNS de nuestro proveedor o directamente a los root ser.ers% se agili a el mecanismo de resoluci!n de nombres$ manteniendo en cach los nombres recientemente usados en la red y disminuyendo el tr*.ico haciaCdesde 6nternet& Sim$lificar la adminis racin de la red local+ 3l contar con un DNS propio #ya sea uno o varios servidores de nombres% es posible de.inir 0onas locales #no v*lidas ni accesibles desde 6nternet% para asignar nombres a cada uno de los hosts de la %&N& De esta .orma es posible$ por e,emplo$ re.erirnos a la impresora de red como "hplaser"mired"local" en ve de "(&#"(2%"$"#" y a nuestro servidor de correo interno como "smtp"mired"local" en ve de "(&#"(2%"$"3"& #Pensemos$ por e,emplo$ 'ue ocurrira con las con.iguraciones de las aplicaciones si un da decidimos cambiar el es'uema de direcciones IP de nuestra red&%

Problemas del DNS


El principal problema 'ue presenta el DNS es 'ue$ al estar basado en UDP #protocolo de transporte 'ue no garanti a la recepci!n de la in.ormaci!n enviada%$ tanto las consultas como las respuestas pueden "perderse" #por e,emplo$ a causa de congestionamiento en alg0n enlace de la red%& Es com0n apreciar c!mo$ en el caso de servidores y redes no muy bien con.iguradas$ la resoluci!n de nombres se resiente

sensiblemente ante cual'uier anomala #saturaci!n de tr*.ico o del servidor de nombres local%& 5tro inconveniente$ 'ue ya hemos hecho notar$ es la lentitud de la propagaci!n de las modi.icaciones en el sistema$ producto de la propia ar'uitectura del mismo& Pero 'ui *s el mayor problema no sea inherente al sistema mismo$ sino a la p(sima con.iguraci!n de los servidores de muchos ISP& ibertel$ el proveedor 'ue utili o$ es un notable e,emplo de esta .alencia& 7na buena soluci!n a esta situaci!n es e,ecutar un ser.idor de nombres en alguna P- de la red local$ de .orma tal 'ue se comuni'ue directamente con los roo servers #evitando de esta .orma pasar a trav(s de los servidores de nombres de nuestro proveedor%&

Herramien as $ara a$render ms


En sistemas Uni1 el comando dig #ver "man dig"% permite reali ar re'uerimientos "a mano" para poder investigar un poco m*s sobre el .uncionamiento del DNS y$ c!mo no$ tambi(n para detectar y solucionar problemas en la red& )os usuarios de sistemas 6indo7s disponen del comando nsloo8u$ #aun'ue no tan potente como dig%$ para el mismo prop!sito&

%ec ura adicional


)a p*gina de DiEipedia sobre DNS contiene bastante in.ormaci!n y buenos enlaces sobre este tema& El "DNS 9mo" e/plica la con.iguraci!n de bind en 9NU/%inu1& El R!C 85=8 e/plica detalladamente la estructura del DNS& )os R!C 809; y 8095 #ambos en ingl(s%$ describen completamente el DNS&

También podría gustarte