El DNS (o de servidores de nombres), sirve para relacionar un nombre
de dominio con una dirección
IP. Una analogía fácil de entender es la de los teléfonos
móviles; Cada teléfono dispone de un número que hay que marcar
para comunicar con él, cuando lo hacemos, es mucho más
sencillo buscar el nombre de la persona a la que llamamos en la
agenda, que acordarnos del número. La función del DNS es la
misma que la agenda del móvil, relacionar números (que
identifican un ordenador en Internet), con un nombre (como los
nombres de dominio). En el caso del teléfono habrá quien
recuerde los números de todos sus interlocutores, pero llevado a
Internet, recordar todas las IPs de todos los "millones"
de ordenadores es poco menos que imposible. El DNS es un
servicio imprescindible para relacionar los nombres de dominio con
los ordenadores conectados a Internet que sirven los distintos
servicios (páginas web, email, chat, ftp...)
Todo dominio debe tener al menos dos servidores DNS, estos se
especifican a la empresa o entidad que tiene delegado el control
de un TLD
en particular (llamadas comunmente "registradores" o
"registrars"), para que lo configure en su base de
datos. Este parámetro indica dónde está el servidor DNS
"autoritativo" para un dominio en particular (normalmente
estos servidores pertenecen a la empresa que da el servicio de
hospedaje). El servidor DNS tiene unos archivos de
configuración (llamados "zonas"), para cada
dominio del que es autoritativo. Ese archivo contiene información
que relaciona el dominio con las direcciones IP (Internet Protocol Numbers),
que son una serie
de 4 grupos de números que identifican un punto específico de conexión
en la red Internet. Es necesario mantener al menos dos
servidores DNS, un primario y un secundario (como respaldo), que mantiene una
copia sincronizada de las zonas con el servidor primario, este
servidor debe estar en una red diferente al primero para evitar
que también falle en caso de una avería del nodo de acceso.
Cuando
se pregunta al servidor DNS del proveedor de acceso a Internet (por
ejemplo, lo hace nuestro navegador cuando cargamos páginas web
escribiendo un dominio, como "intervia.com"), este
utiliza el sistema jerárquico del DNS para averiguar dónde debe
conectarse, la secuencia es así:
- Pregunta al uno de los servidores "root" de Internet (por
ejemplo "f.root-servers.net"), para saber cuales
son los servidores DNS que tiene la información de un tipo de
dominio en particular (TLD), por ejemplo para un dominio .com, como
intervia.com la respuesta sería una lista de servidores DNS
de ese TLD. (Nota: Los servidores de la zona "root",
están almacenados en cada DNS y constan de una lista
predefinida de servidores).
- Pregunta a uno de los servidores raíz del TLD (por ejemplo "f.gtld-servers.net"),
por el
dominio en cuestión, por ejemplo intervia.com, esto
normalmente nos da el nombre del servidor autoritativo (por ejemplo
"ns0.intervia.com"), que es el que tiene
almacenada la "zona" del dominio y por tanto conoce la
dirección IP de destino.
- Pregunta al servidor autoritativo de la zona. Si preguntamos al servidor autoritativo del
dominio nos dirá la
dirección IP donde debe conectar nuestro navegador para
cargar las páginas solicitadas, en el ejemplo a intervia.es: "207.44.214.222".
De esta forma nuestro navegador sabe (por el DNS del
proveedor de acceso), que las páginas web de intervia.com
deben solicitarse en la dirección IP 207.44.214.222 con sólo
hacer 3 preguntas:
- DNS raíz de Internet.
- DNS del TLD.
- DNS autoritativo.
Si preguntamos una segunda vez al DNS del proveedor de acceso (o
le pregunta otro usuario del mismo proveedor), este DNS ya NO volverá a preguntar al DNS autoritativo hasta pasado un tiempo
predeterminado, definido en una variable de la zona de cada
dominio llamada TTL, ya que las respuestas quedan guardadas en una
memoria caché.
El ordenador usado para conectar a Internet también suele almacenar en una
memoria caché
las direcciones IP de los dominios que vamos usando (normalmente mientras
dura la sesión), para aumentar la velocidad de acceso cuando
cargamos más páginas del mismo servidor. Es por esto que, cuando
cargamos por primera vez un dominio la primera página tarda más
en cargarse que las siguientes.
Antes de la existencia del DNS se utilizaban unas tablas llamadas "hosts", que contenían relaciones de nombres y
direcciones IP, pero esto que es un sistema válido para unos
pocos ordenadores, es imposible de utilizar hoy en día, ya que
todos los ordenadores deberían tener esas tablas actualizadas con
millones de referencias.
| Un ejemplo práctico de una consulta DNS |
|
Cuando cargamos una página web en nuestro explorador, para averiguar la
dirección IP que corresponde al nombre de dominios del servidor de páginas
web, hacemos una serie de preguntas a varios servidores DNS, por ejemplo,
para el dominio intervia.com sería así:
(se ha usado el comando DIG "domain information groper", una
utilidad del BIND "Berkeley Internet Name Domain", disponible en
sistemas operativos Unix).
- Pregunta a uno de los 14 servidores de la zona root (estos servidores
están preconfigurados en todos los servidores DNS del mundo), por
ejemplo a f.root-servers.net:
- Pregunta a uno de los servidores que controlan de la zona "TLD" de
extensión ".com" (donde se almacenan todos los dominios .com), por
ejemplo a F.GTLD-SERVERS.NET:
- Por último pregunta a uno de los servidores autoritativos del dominio
intervia.com:
Conclusión, nuestro navegador conecta a la dirección IP 207.44.214.222
cuando le pedimos que cargue intervia.com. |
|
|