Domain Name System o DNS (en español «Sistema de Nombres de
Dominio») es un sistema de nomenclatura jerárquica para computadoras, servicios
o cualquier recurso conectado a Internet o
a una red privada. Este sistema asocia información variada
con nombres de dominios asignado a cada uno de los participantes.
Su función más importante es traducir (resolver) nombres inteligibles para las
personas en identificadores binarios asociados con los equipos conectados a la
red, esto con el propósito de poder localizar y direccionar estos equipos
mundialmente.
El servidor DNS utiliza una base de datos distribuida
y jerárquica que
almacena información asociada a nombres de dominio en
redes comoInternet. Aunque como base de datos el DNS es capaz
de asociar diferentes tipos de información a cada nombre, los usos más comunes
son la asignación de nombres de dominio a direcciones IP y
la localización de los servidores de correo electrónico de cada dominio.
La asignación de nombres a
direcciones IP es ciertamente la función más conocida de los protocolos DNS.
Por ejemplo, si la dirección IP del sitio Google es 216.58.210.163, la mayoría
de la gente llega a este equipo especificando www.google.es y no la dirección IP. Además de ser más
fácil de recordar, el nombre es más fiable.«Consulta DNS desde CMD». Consultado el 26 de noviembre de 2015. La
dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar
el nombre.
Inicialmente, el DNS nació de
la necesidad de recordar fácilmente los nombres de todos los servidores
conectados a Internet. En un inicio, SRI (ahora SRI International) alojaba un archivo llamado HOSTS que
contenía todos los nombres de dominio conocidos. El crecimiento explosivo de la
red causó que el sistema de nombres centralizado en el archivo hosts no
resultara práctico y en 1983, Paul V.
Mockapetris publicó
los RFC 882 y RFC 883 definiendo
lo que hoy en día ha evolucionado hacia el DNS moderno (estos RFC han quedado obsoletos por la
publicación en 1987 de los RFC 1034 y RFC 1035).
Componentes
Para la
operación práctica del sistema DNS se utilizan tres componentes principales:
·
Los Clientes
fase 1: Un programa cliente DNS que se ejecuta en la computadora del
usuario y que genera peticiones DNS de resolución de nombres a un servidor DNS (Por ejemplo: ¿Qué dirección IP
corresponde a nombre.dominio?);
·
Los Servidores
DNS: Que contestan las peticiones de los clientes. Los servidores
recursivos tienen la capacidad de reenviar la petición a otro servidor si no
disponen de la dirección solicitada.
·
Y las Zonas de
autoridad, es una parte del espacio de nombre de dominios sobre la que es
responsable un servidor DNS, que puede tener autoridad sobre varias zonas. (
Por ejemplo : subdominio .ORG, .COM, etc).
Entendiendo las partes de un nombre de dominio
Un nombre de dominio usualmente consiste en dos o más
partes (técnicamente «etiquetas»), separadas por puntos cuando se las escribe
en forma de texto. Por ejemplo,www.ejemplo.com o es.wikipedia.org
·
A la etiqueta ubicada más a la derecha se le llama dominio de nivel superior (en inglés top level domain). Como com en www.ejemplo.com o org en es.wikipedia.org
·
Cada etiqueta a la izquierda especifica una subdivisión o subdominio. Nótese que
"subdominio" expresa dependencia relativa, no dependencia absoluta.
En teoría, esta subdivisión puede tener hasta 127 niveles, y cada etiqueta
puede contener hasta 63 caracteres, pero restringidos a que la longitud total
del nombre del dominio no exceda los 255 caracteres, aunque en la práctica los
dominios son casi siempre mucho más cortos.
·
Finalmente, la parte más a la izquierda del dominio suele
expresar el nombre de la máquina (en inglés hostname). El resto del nombre
de dominio simplemente especifica la manera de crear una ruta lógica a la
información requerida. Por ejemplo, el dominio es.wikipedia.org tendría
el nombre de la máquina "es", aunque en este caso no se refiere a una
máquina física en particular.
El DNS
consiste en un conjunto jerárquico de servidores DNS. Cada dominio o subdominio
tiene una o más zonas de
autoridad que publican la
información acerca del dominio y los nombres de servicios de cualquier dominio
incluido. La jerarquía de las zonas de autoridad coincide con la jerarquía de
los dominios. Al inicio de esa jerarquía se encuentra los servidores raíz: los servidores que responden
cuando se busca resolver un dominio de primer y segundo nivel.
DNS
en el mundo real
Los
usuarios generalmente no se comunican directamente con el servidor DNS: la
resolución de nombres se hace de forma transparente por las aplicaciones del
cliente (por ejemplo, navegadores, clientes de correo y otras aplicaciones que
usan Internet). Al realizar una petición que requiere una búsqueda de DNS, la
petición se envía al servidor DNS local del sistema operativo. El sistema
operativo, antes de establecer alguna comunicación, comprueba si la respuesta
se encuentra en la memoria caché. En el caso de que no se encuentre, la
petición se enviará a uno o más servidores DNS.
La
mayoría de usuarios domésticos utilizan como servidor DNS el proporcionado por
el proveedor de servicios de Internet. La dirección de estos servidores puede
ser configurada de forma manual o automática mediante DHCP.
En otros casos, los administradores de red tienen configurados
sus propios servidores DNS.
En
cualquier caso, los servidores DNS que reciben la petición, buscan en primer
lugar si disponen de la respuesta en la memoria caché. Si es así, sirven la
respuesta; en caso contrario, iniciarían la búsqueda de manera recursiva. Una
vez encontrada la respuesta, el servidor DNS guardará el resultado en su
memoria caché para futuros usos y devuelve el resultado.
Es
importante añadir que el protocolo DNS generalmente transporta las peticiones y
respuestas por puerto UDP, puesto que al ser un protocolo que por su estructura
y al tener menos niveles de seguridad es mucho más rápido. Los motivos por el
cual en ocasiones se usa el puerto TCP son cuando se necesitan transportar
respuestas mayores de 512 bytes de longitud y cuando por razones de fiabilidad
se necesitan conectar un servidor DNS secundario al primario para recoger una
nueva base de datos con authoritative.
Jerarquía DNS
Árbol DNS
El
espacio de nombres de dominio tiene una estructura arborescente. Las hojas y
los nodos del árbol se utilizan como etiquetas de los medios. Un nombre de
dominio completo de un objeto consiste en la concatenación de todas las
etiquetas de un camino. Las etiquetas son cadenas alfanuméricas (con '-' como
único símbolo permitido), deben contar con al menos un carácter y un máximo de
63 caracteres de longitud, y deberá comenzar con una letra (y no con '-') (ver
la RFC 1035, sección "2.3.1. Preferencia
nombre de la sintaxis "). Las etiquetas individuales están separadas por
puntos. Un nombre de dominio termina con un punto (aunque este
último punto generalmente se omite, ya que es puramente formal). Un FQDN correcto
(también llamado Fully Qualified Domain Name), es por ejemplo este:
www.ejemplo.com. (Incluyendo el punto al final).
Un
nombre de dominio debe incluir todos los puntos y tiene una longitud máxima de
255 caracteres.
Un
nombre de dominio se escribe siempre de derecha a izquierda. El punto en el
extremo derecho de un nombre de dominio separa la etiqueta de la raíz de la
jerarquía (en inglés, root). Este primer nivel es también conocido como dominio
de nivel superior (TLD - Top Level Domain).
Los
objetos de un dominio DNS (por ejemplo, el nombre del equipo) se registran en
un archivo de zona, ubicado en uno o más servidores de nombres.
Tipos de
servidores DNS
·
Primarios o maestros: Guardan los datos de un espacio de nombres
en sus ficheros.
·
Secundarios o esclavos: Obtienen los datos de los servidores
primarios a través de una transferencia de zona.
·
Locales o caché: Funcionan con el mismo software, pero no
contienen la base de datos para la resolución de nombres. Cuando se les realiza
una consulta, estos a su vez consultan a los servidores DNS correspondientes,
almacenando la respuesta en su base de datos para agilizar la repetición de
estas peticiones en el futuro continuo o libre.
Tipos de resolución de nombres de dominio
Existen
dos tipos de consultas que un cliente puede hacer a un servidor DNS, la
iterativa y la recursiva.
Resolución
recursiva
Las
resoluciones recursivas consisten en la respuesta completa que el servidor de
nombres pueda dar. El servidor de nombres consulta sus datos locales
(incluyendo su caché) buscando los datos solicitados. El servidor encargado de
hacer la resolución realiza iterativamente preguntas a los diferentes DNS de la
jerarquía asociada al nombre que se desea resolver, hasta descender en ella
hasta la máquina que contiene la zona autoritativa para el nombre que se desea
resolver.
Resolución
iterativa
En las
resoluciones iterativas, el servidor no tiene la información en sus datos
locales, por lo que busca y se pone en contacto con un servidor DNS raíz, y en
caso de ser necesario repite el mismo proceso básico (consultar a un servidor
remoto y seguir a la siguiente referencia) hasta que obtiene la mejor respuesta
a la pregunta.
Cuando
existe más de un servidor autoritario para una zona, Bind utiliza el menor valor en la métrica
RTT (round-trip time) para seleccionar el servidor. El RTT es una medida
para determinar cuánto tarda un servidor en responder una consulta.
El
proceso de resolución normal se da de la siguiente manera:
1.
El servidor A recibe una consulta iterativa desde el cliente
DNS.
2.
El servidor A envía una consulta iterativa a B.
3.
El servidor B refiere a A otro servidor de nombres, incluyendo a
C.
4.
El servidor A envía una consulta iterativa a C.
5.
El servidor C refiere a A otro servidor de nombres, incluyendo a
D.
6.
El servidor A envía una consulta iterativa a D.
7.
El servidor D responde.
8.
El servidor A regresa la respuesta al resolver.
9.
El servidor entrega la resolución al programa que solicitó la
información.
No hay comentarios:
Publicar un comentario