Análisis del protocolo servicio de nombres de dominio (DNS)
El Sistema de Nombres de Dominio facilita un método para que los usuarios puedan comunicarse por la red mediante nombres en vez de direcciones IP.
Además de simplificar las tareas del usuario, es un servicio que una vez configurado se ejecuta con total transparencia para los usuarios que trabajan en red.
Necesidad, objetivos y características de DNS
En los comienzos de Internet, cuando aún habla pocos ordenadores conectados, se creó una tabla de dominio y direcciones IP que se encontraba almacenada en un solo ordenador con el nombre de HOSTS.TXT y se actualizaba una o dos veces a la semana. Cada equipo de la red debía consultar este ordenador cada vez que tenía que resolver un nombre.
A medida que se fueron conectando más ordenadores, el fichero HOSTS. TXT crecía, hasta llegar a ser demasiado extenso. Además, requería más de una actualización diaria. Por ello, fue necesario crear un nuevo sistema de resolución de nombres que distribuyera el trabajo en varios servidores, siendo DNS (Domain Name System) el sistema diseñado.
El Sistema de Nombres de Dominio (DNS) consiste en un sistema jerárquico que asigna nombres a equipos y servicios de red y los almacena en una base de datos distribuida. Se utiliza en redes TCP/IP para buscar equipos y servicios mediante nombres asignados.
Actualmente, son millones los servidores instalados en diversas ubicaciones los que prestan servicios a diario en Internet. Cada uno de ellos tiene asignada una dirección IP única que lo identifica en la red local que está conectado. Dichas direcciones IP resultan imposibles de recordar para cualquier persona, por lo tanto DNS proporciona esta forma de asignar nombres de hosts fáciles de recordar, o URL a direcciones IP.
Curiosidad! El estadounidense Paul Mockapetris fue el inventor del DNS y comenzó a utilizarse en el año 1983.
De este modo, los equipos pueden identificarse de una manera simple, organizada y fácil de recordar.
Los servidores DNS son los encargados de proporcionar la resolución de nombres. Es decir, permiten a los usuarios utilizar e identificar a los equipos por nombres en vez de direcciones IP. El asignar nombres descriptivos a los hosts y servicios facilita el uso de recursos de red.
Por ejemplo, si el equipo “PC-cliente1” quiere comunicarse con “Ser- ver02” debe hacerlo mediante direcciones IP. Para conocer la dirección IP de “Server02” contactará con el servidor DNS y, posteriormente, se la facilitará.
Excepto las redes TCP/IP sencillas, las demás redes necesitan acceder a uno o más servidores DNS para funcionar correctamente. Si no se resuelven nombres ni los servicios que proporcionan los servidores DNS, serla muy difícil conseguir el acceso de los clientes a hosts remotos.
Recordemos! El DNS asigna nombres a equipos y servicios de red y los almacena en una base de datos distribuida. Se utiliza en redes TCP/IP para buscar equipos y servicios mediante nombres asignados.
Los ISP proporcionan servicios de DNS, pero se debe considerar la utilización del servicio DNS en los siguientes casos:
- Equipos unidos a dominios.
- Equipos conectados a Internet.
- Dominios ubicados en una red de área extensa (WAN).
- Equipos clientes DHCP.
Los nombres de dominio consisten en una cadena con una longitud de hasta 255 caracteres y en la que se deben incluir todos los puntos.
Un FQDN (Fully Qualified Domain Name) es un nombre de dominio que especifica la posición absoluta del Nodo en el árbol. Incluye el nombre del ordenador y el nombre de dominio. Por ejemplo, a un Host con el nombre “cliente1” que pertenece al dominio llamado “dominio.es”, el FDQN que le correspondería sería “cliente1.dominio.es”.
Nombre completo de equipo: japcl6070.ja.sscc.cma.junta-andalucia.es
Dominio: ja.sscc.cma.junta-andalucia.es
Descripción de la estructura jerárquica de DNS
El sistema de nombres de dominio se basa en una estructura lógica de árbol, conocida como espacio de nombres de dominio. Cada Nodo o dominio del espacio de nombres tiene un nombre, que puede tener subdominios. Los dominios y subdominios están agrupados en zonas para así permitir la administración distribuida del espacio de nombres.
El nombre de dominio identifica la posición de este en la jerarquía lógica del DNS respecto al dominio principal. Siempre se escriben de derecha a izquierda y se leen de la misma forma, siendo el nombre situado más a la derecha el dominio de nivel superior.
Ejemplo:
- Zona “dominio1”:
- dominio1
- dominio1
- dominio1
- dominio1
Los servidores serían los encargados y responsables de las actividades que se realicen hacia y desde dicha zona.
Dentro de cada zona también puede configurarse la cantidad de subdominios que sean necesarios sobre cada dominio.
Ejemplo:
Zona “dominio 1”
- Zona subdominio1.dominio1
- Zona subdominio2.dominio1
–Zona red1.subdominio2.dominio1
—Equipo
—serverO1 .red1.subdominio2.dominio1
Aunque no existe una descripción exacta de categorías DNS, la mayoría de las explicaciones de DNS identifican cinco:
- Dominio raíz o primer nivel. Es la parte superior del árbol, representa un nivel sin nombre. Se indica mediante un punto (.) para designar que el nombre se encuentra en la raíz.
- Dominio de nivel superior. Nombre que se utiliza para indicar un país, región o tipo de organización que usa un nombre.
- Dominio de segundo nivel. Nombres que se registran a un usuario u organización para su uso en Internet. Se basan en un dominio de nivel superior apropiado dependiendo del tipo de organización o ubicació
- Subdominios o dominios de tercer nivel. Son nombres adicionales que se pueden crear dentro de una organización derivados del nombre de dominio de segundo nivel. Normalmente se utiliza para dividir en departamentos o ubicaciones geográficas.
- Nombre de Host o un recurso. Representa una hoja del árbol DNS, e identifica un Host o recurso especifico.
En Internet el sistema de nombres de dominio es administrado por una autoridad de Registro de nombres de Internet, siendo responsable de mantener dominios de nivel superior asignados por organización y país o región.
Realmente, la jerarquía de nombres de DNS es inversa. Es decir, el árbol comienza por la última parte del nombre final y finaliza en la primera.
Algunos de los nombres de dominio de nivel superior (TLD, Top Level Domain) más comunes se muestran en la siguiente tabla:
Nombre de dominio | Significado |
com | Organizaciones comerciales |
edu | Instituciones educativas (universidades, colegios, etc.) |
org | Organizaciones no comerciales o sin ánimo de lucro |
net | Redes |
gov | Organizaciones gubernamentales no militares |
mil | Organizaciones gubernamentales militares |
Tipos de servidores: primario, secundario y Caché
Los servidores DNS facilitan la resolución de nombres. Cuando un equipo cliente envía el nombre de un Host remoto a uno de los servidores DNS, este le responde con la correspondiente dirección IP. Si el servidor DNS al que se envía la petición no dispone de la entrada sobre tal Host remoto puede consultar otro servidor DNS.
A continuación, se describen los tipos de servidores DNS y las funciones más importantes que desarrollan:
- Almacena la Información de su zona en una base de datos local. Se encarga de mantener actualizada la Información y cualquier cambio es notificado a este servidor.
- Obtiene datos de su zona a través de otro servidor que sí tenga autoridad en esa zona. El proceso en el que se realiza la copia de la Información se conoce como transferencia de zona.
- Los servidores secundarios resultan de gran importancia en algunas ocasiones, ya que dan mayor seguridad y velocidad. Si uno de los servidores tiene problemas, se puede recuperar la Información desde el otro y también se evita que se sobrecargue el servidor principal al estar el trabajo distribuido.
- Caché. Cuando se escribe una dirección web en el explorador de Internet y se pulsa sobre [entrar], se está realizando una consulta a un servidor DNS para que responda con la dirección IP y se realice la conexión si todo es correcto. El Registro de cada una de estas consultas es guardado en una ubicación temporal denominada Caché.
DNS siempre realiza una comprobación a la Caché antes de realizar una consulta al servidor DNS. Por ejemplo, si en un día se accede 30 veces a un sitio, DNS registra el sitio en la Caché la primera vez y en todas las demás peticiones de acceso, al comprobar en el Registro que todo fue correcto, lo utilizará directamente, sin necesidad de enviar la consulta al servidor.
De esta forma se reduce el tráfico de la red e Internet, al ser las consultas más rápidas. Además, si el servidor DNS del cliente cayera, se podría seguir entrando en los sitios en los que anteriormente se hubiese entrado y permanecieran en el Registro de Caché.
Explicación de la delegación de autoridad. Subdominios
El sistema DNS también permite delegar la autoridad de un subdominio a sus administradores. Con este mecanismo se traspasa la autoridad sobre la zona para la gestión de la base de datos.
Una zona empieza con un solo nombre de dominio DNS. Si se añaden más dominios debajo del dominio oficial, estos pueden ser parte de la misma zona o pertenecer a otra. Es decir, al agregar un subdominio, se puede incluir como parte de la zona original o delegarse a otra zona.
Por ejemplo, imagínese que el responsable de una empresa crea un subdominio para cada departamento y delega su control a ellos. Así, cada departamento puede definir todos los nodos que desee dentro de su subdominio, e incluso crear nuevos subdominios y delegarlos. Si no delega la autoridad al subdominio, será el responsable de la empresa el encargado de gestionar cada departamento.
La siguiente imagen muestra gráficamente un ejemplo de delegación de autoridad:
Enumeración de los tipos de registros S0A, NS, A, CNAME y MX
Las bases de datos DNS están formadas por una serie de registros de recursos (RR). Los registros de recursos identifican recursos específicos dentro de la base de datos. Cada dominio, independientemente de ser un Host individual o un dominio de nivel superior, puede tener asociados una serie de registros de recursos.
El sistema DNS permite delegar la autoridad de un subdominio a sus administradores. Con este mecanismo se traspasa la autoridad sóbrela zona para la gestión de la base de datos.
Los registros de recursos de DNS más habituales son los siguientes:
Tipo | Descripción | Función |
SOA | Autoridad de la zona | Facilita Información sobre el servidor DNS primario de la zona. (Nombre del propietario, del DNS principal, n° de serie, etc.). |
NS | Servidor de nombres | Indica la asociación entre un nombre de dominio y los servidores de nombre que almacenan la Información. |
A | Host | Son los registros principales. Traduce nombres de servidores de alojamiento en direcciones IP. |
CNAME | Nombre canónico | Crea nombres de servidores de alojamiento adicionales o alias. Se usa cuando corren múltiples servicios simultáneamente en un servidor que dispone de una sola dirección IP. |
MX | Intercambiador de correo | Especifica cómo debe ser encaminado un correo electrónico. Apunta a los servidores a los que se envía un correo electrónico y a cuál de ellos debe ser enviado en primer lugar, por prioridad. |
Ejemplificación del proceso de resolución de nombres
A continuación, se describe el proceso de consulta a un servidor DNS hasta resolver el nombre de un recurso de la red.
Se dispone de una red privada en la que hay un servidor web con el nombre “Web-001” y un servidor “DNS-001”. El objetivo es acceder al contenido web disponible en “Web-001”.
Cuando un PC intente acceder a “Web-001” se fijará primero si tiene la dirección IP de “Web-001” en su memoria Caché. Si no dispone de dicho Registro, establece una comunicación con el servidor DNS que tenga configurado y le realiza la consulta.
El servidor “DNS-001” mira en su configuración de zona, busca el nombre “WEB-001” y responde con la dirección IP correspondiente.
El PC recibe dicha Información, la guarda en su memoria Caché y establece una nueva comunicación con “Web-001”, pero en esta ocasión, directamente a través de su dirección IP.
El PC y el servidor DNS no volverán a establecer comunicación hasta que necesite Información nueva o haya caducado la obtenida.
Descripción y elementos de la Arquitectura cliente/servidor de DNS
DNS utiliza tres elementos principales para su funcionamiento:
Cliente DNS (resolvers). Los clientes DNS son los que envían las peticiones de resolución de nombres a los servidores DNS. Por ejemplo: ¿cuál es la dirección IP del Host 10.165.16.28?
Servidores DNS (name servers). Responden a las peticiones de los clientes consultando en su base de datos. Si no tienen la dirección que se consulta pueden reenviar la petición a otros servidores.
Cliente y servidor DNS en una red
Espacio de nombres de dominio (Domain Name Space). Consiste en una base de datos distribuida. Es la estructura jerárquica con forma de árbol en la que se clasifican los distintos dominios en niveles.
Ejemplo de espacio de nombres de dominio
Resolución inversa (Reverse DNS lookup)
DNS también realiza el proceso de búsqueda inverso, en el que el cliente utiliza una dirección IP conocida para buscar el nombre de equipo. Este proceso se conoce como resolución inversa y lo suelen utilizar las aplicaciones que necesitan comprobar la identidad del cliente.
Ejemplo:
Un equipo desea conocer el nombre del Host con la dirección IP 192.168.0.74. Este proceso se resolverá mediante el servicio de resolución inversa de DNS.
Los estándares DNS contienen la definición de dos dominios especiales que se reservan en el espacio de nombres DNS de Internet para permitir búsquedas inversas:
- in-addr.ARP.
- arpa.
El dominio in-addr.ARP admite las búsquedas inversas de direcciones basadas en IPv4, mientras el dominio ip6.arpa realiza la misma función para IPv6.
Los clientes necesitan de dos pasos para poder realizar búsquedas inversas de Host:
- Crear una zona de búsqueda inversa correspondiente a las direcciones de subred del Host.
- Agregar un Registro de recursos de puntero (PTR) que asocie la dirección IP del hostal nombre de Host en la zona de búsqueda inversa.
Consulta inversa
Ejemplificación de comandos DNS en sistemas Windows y Linux
A continuación se especifican algunos de los comandos relacionados con DNS que más se utilizan en sistemas Windows y Linux.
El comando nslookup es la principal herramienta que se proporciona en la mayor parte de implementaciones de DNS. Se utiliza para obtener Información sobre la Infraestructura y probar y solucionar problemas de los servidores DNS. Puede utilizarse tanto en servidores Windows como Linux.
Una de las formas más comunes de utilizar este comando es bajo la sintaxis:
>nslookup dominio.com
Recordemos! El comando nslookup es la principal herramienta que se proporciona en la mayor parte de implementaciones de DNS.
Los resultados que se obtienen mediante nslookup son los siguientes:
- Servidor: se refiere al nombre del servidor DNS que se consulta.
- Address: indica la dirección IP del servidor DNS que se está
- Respuesta no autoritativa: especifica que no somos los dueños del domi¬nio, pero se puede consultar para obtener más informació
- Nombre: corresponde al nombre del dominio que se busca.
- Addresses: indica las direcciones IP correspondientes al dominio buscado.
Dig es un comando de los sistemas Linux que se utiliza para realizar consultas a los servidores DNS con el fin de comprobar si el DNS está configurado correctamente en nuestra máquina. Su sintaxis suele ser esta:
# dig dominio.com
Host es un comando de los sistemas Linux para encontrar la dirección IP del dominio especificado.
Ejemplo: margarita@ubuntucliente:~$ Host servidorwin.com servidorwin.com has address 192.168.1.54
Para ver el contenido de la Caché DNS se utiliza el comando ipconfig / displaydns.
Y para borrar el contenido Caché ipconfig /flushdns
Libro: Administración de Redes Telemáticas. David Arboledas Brihuega
El sistema de nombres de dominio (domain name system) es un método de nomenclatura jerárquicas, de esta forma podrán hacerse por nombres en lugar de utilizarse direcciones IP.
Necesidades, Objetivos y Características DNS
Además, de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones sin que lo haga el nombre.
En el inicio de lo que hoy conocemos como Internet, el archivo llamado HOSTS es la tabla de dominios y direcciones conocidas.
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.
Descripción de la Estructura Jerárquica de DNS
El DNS tiene la estructura lógica en árbol, que se conoce como espacio de nombres de dominio.
Un nombre de dominio consiste en dos o más etiquetas, con una longitud máxima de 255 caracteres separados por puntos. Ej.: aes.davidarboleads.es
- Dominio raíz: es la parte superior del árbol
- Dominio de nivel superior: indica país, región u organización.
- Dominio de segundo nivel: registra a un usuario u organización.
- Subdominio: nombre adicional, por ejemplo, para dividir en departamentos.
Un nombre de dominio siempre se lee y escribe de derecha a izquierda, un FQDN, debe acabar en punto, que refleja el dominio raíz.
En internet, el sistema de nombres de dominio consiste en un conjunto jerárquico de servidores DNS. Cada dominio o subdominio tiene una o más zonas de autoridad.
Tipos de servidores: primario, secundario y Caché
Cuando un servidor DNS recibe una petición, está buscando en primer lugar la memoria Caché. En caso contrario, iniciará la búsqueda de manera recursiva, el servidor DNS guardará el resultado en memoria Caché.
- Primario o maestro: guarda los datos de un espacio de nombres de dominio en sus ficheros locales.
- Secundario o esclavo: obtienen los datos de los servidores primarios a través de una transferencia de zona.
- Local o Caché: funciona con el mismo software, pero no contiene la base de datos. Se dice que este servidor no es autoritario.
Ejemplificación de los distintos niveles de direccionamiento: Direcciones físicas, direcciones lógicas, puertos, específicas de la aplicación (url, email)
Un servidor DNS dispone de una tabla que asocia nombres de hosts de un dominio con sus direcciones IP correspondientes. Cuando algún cliente intenta acceder a una página web, el contenido se encuentra en un servidor web, pero necesita encontrar la dirección IP de dicho servidor.
Cuando el servidor DNS recibe la solicitud, mira en la tabla la dirección IP asociada a ese servidor WEB. Si el servidor DNS local no dispone de ninguna entrada para el nombre indicado, realiza una consulta a otro servidor dentro del dominio.
Una vez que el servidor DNS encuentra la dirección, se envía la Información (dirección IP) al cliente, quien ya podrá establecer comunicación con el servidor web.
A continuación, se muestra la estructura lógica de una red en la que hay 4 equipos cliente interconectados por medio de dos switches en los que existe un servidor DNS con la dirección lógica (dirección IP) 192.168.1.2 y la dirección física (MAC) 00:19:4F:DC:D8 y un servidor web con la dirección lógica 192.168.1.3 y física 00:17:57:FE:D6.
Los equipos dientes deben tener asignada como dirección lógica de DNS 192.168.1.3.En general, los mensajes de DNS son enviados por UDP, siendo las consultas DNS enviadas desde un puerto origen cualquiera superior a 1023 al puerto de destino 53, mientras las respuestas de los servidores DNS se envían desde el puerto 53 a otro puerto superior a 1023.
Tipo de tráfico | Puerto de origen | Puerto de destino |
Consultas al servidor DNS | Cualquiera superior a 1023 | 53 |
Respuestas del servidor DNS | 53 | Cualquiera superior a 1023 |
Cuando la longitud de un mensaje supera el tamaño predeterminado de un Datagrama UDP (512 octetos), se utiliza Protocolo TCP.
Con esta estructura y estableciendo la configuración adecuada, el servidor DNS resuelve la web alojada en el servidor web para los equipos clientes.
En la siguiente imagen se implementa la estructura lógica de una red que dispone de un servidor DNS, un servidor email, servidor web y servidor DHCP interconectados con los equipos clientes a través de dos switches y un Router inalámbrico.
Red con varios servidores, entre ellos un servidor DNS
Recordemos! Cuando la longitud de un mensaje supera el tamaño predeterminado de un Datagrama UDP (512 octetos), se utiliza Protocolo TCP.
Libro: Administración de Redes Telemáticas. David Arboledas Brihuega
El sistema de nombres de dominio (domain name system) es un método de nomenclatura jerárquicas, de esta forma podrán hacerse por nombres en lugar de utilizarse direcciones IP.
Necesidades, Objetivos y Características DNS
Además, de ser más fácil de recordar, el nombre es más fiable. La dirección numérica podría cambiar por muchas razones sin que lo haga el nombre.
En el inicio de lo que hoy conocemos como Internet, el archivo llamado HOSTS es la tabla de dominios y direcciones conocidas.
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.
Descripción de la Estructura Jerárquica de DNS
El DNS tiene la estructura lógica en árbol, que se conoce como espacio de nombres de dominio.
Un nombre de dominio consiste en dos o más etiquetas, con una longitud máxima de 255 caracteres separados por puntos. Ej.: aes.davidarboleads.es
- Dominio raíz: es la parte superior del árbol
- Dominio de nivel superior: indica país, región u organización.
- Dominio de segundo nivel: registra a un usuario u organización.
- Subdominio: nombre adicional, por ejemplo, para dividir en departamentos.
Un nombre de dominio siempre se lee y escribe de derecha a izquierda, un FQDN, debe acabar en punto, que refleja el dominio raíz.
En internet, el sistema de nombres de dominio consiste en un conjunto jerárquico de servidores DNS. Cada dominio o subdominio tiene una o más zonas de autoridad.
Tipos de servidores: primario, secundario y Caché
Cuando un servidor DNS recibe una petición, está buscando en primer lugar la memoria Caché. En caso contrario, iniciará la búsqueda de manera recursiva, el servidor DNS guardará el resultado en memoria Caché.
- Primario o maestro: guarda los datos de un espacio de nombres de dominio en sus ficheros locales.
- Secundario o esclavo: obtienen los datos de los servidores primarios a través de una transferencia de zona.
- Local o Caché: funciona con el mismo software, pero no contiene la base de datos. Se dice que este servidor no es autoritario.