Omet navegació

4. Resolució de noms

4. Resolució de noms

Tot sovint en les aplicacions d'usuari i de sistema s'accedeix a recursos pel seu nom de domini. Per exemple, un client web requereix una determinada pàgina web, un navegador de fitxers vol accedir a unes carpetes d'una màquina remota que s'identifiquen pel nom de domini, el sistema ha de validar l'usuari contra un servidor LDAP remot, etc. En cada un d'aquests casos caldrà resoldre una pregunta del tipus aquest domini a quina adreça IP correspon? Aquesta pregunta no la responen les aplicacions individualment (el navegador web, el client d'autenticació...), sinó que utilitzen el resolver per fer-ho.

El resolver és la part client de l'arquitectura client-servidor del DNS. Ell ha d'atendre les necessitats de les aplicacions, confeccionar una consulta o query, fer-la a un servidor DNS, obtenir la resposta i passar-la a l'aplicació pertinent.

La resolució

El mecanisme de resolució de noms DNS consta d'un client o resolver que realitzarà les consultes (o querys) a resoldre a uns servidors DNS.

Si el servidor disposa de la informació perquè forma part de la base de dades de la seva zona, emetrà una resposta autoritativa. Si disposa de la resposta perquè la té emmagatzemada temporalment (en un procés anomenat cache) també emetrà la resposta però aquest cop de manera no autoritativa. Si no té informació del domini buscat, el servidor pot fer a altres servidors la mateixa consulta en un procés que pot ser recursiu o iteratiu. Sempre existeix un camí per trobar el domini buscat, que és preguntar als nodes arrel (root servers) de l'espai de noms de domini. Partint dels nodes arrel i recorrent l'arbre cap avall, es pot arribar al domini buscat, si és que existeix.

Sempre hi ha un camí a un domini existent partint del node arrel. Quan un servidor és consultat sobre un domini que desconeix (no és de la seva zona ni té la resposta en la cache) pot escalar la pregunta a un servidor de l'arrel (root name server). Això significa que els servidors arrel són crucials per al funcionament del DNS.

Recursió i iteració

Quan el client o resolver emet una consulta al servidor DNS local (el servidor de noms que té configurat), aquest la pot tractar de manera recursiva o iterativa. De fet, el client resolver ja farà la consulta indicant si exigeix una resposta recursiva o iterativa. La diferència entre un mode i l'altre és com ha d'actuar el servidor DNS per obtenir la resposta quan no la té en la seva base de dades d'informació.

En mode iteratiu el servidor retorna la millor resposta possible basada en la seva informació local, sense preguntar a ningú més. En el mode recursiu el servidor intenta trobar la resposta preguntant a tants altres servidors com calgui per tal d'obtenir-la.

Un servidor pot emetre les respostes següents:

  1. Respon enviant la dada que li han sol·licitat (un nom de host, una adreça IP, la llista de servidors de noms, de servidors d'autenticació...).
  2. Ha localitzat el domini buscat, però no es disposa de la dada sol·licitada. Cal tenir en compte que es poden sol·licitar altres dades a part de l'adreça IP del domini (per exemple, quins servidors de correu té el domini).
  3. Finalment pot ser que el domini sol·licitat no existeixi.