Protocolos y servicios DNS (Puerto TCP/UDP 53)
En redes de datos, los dispositivos son rotulados con direcciones IP numéricas para que puedan participar en el envío y recepción de mensajes a través de la red. Sin embargo, la mayoría de las personas pasan mucho tiempo tratando de recordar estas direcciones numéricas. Por lo tanto, los nombres de dominio fueron creados para convertir las direcciones numéricas en nombres simples y reconocibles.
En Internet, esos nombres de dominio, como www.cisco.com, son mucho más sencillos de recordar que 198.133.219.25, que es la dirección numérica real para este servidor.
Cuando las redes eran pequeñas, la tarea de mantener la asignación entre los nombres de dominio y las direcciones a las que representaban era muy sencilla. Sin embargo, en cuanto las redes empezaron a crecer y el número de dispositivos a aumentar, este sistema manual empezó a ser inexplotable.
DNS se creó para la resolución de nombre de dominio a dirección para este tipo de redes. DNS utiliza un conjunto distribuido de servidores para resolver los nombres asociados con estas direcciones numéricas.
Funcionamiento de DNS
El protocolo DNS define un servicio automatizado que coincide con nombres de recursos que tienen la dirección de red numérica solicitada. Incluye las consultas sobre formato, las respuestas y los formatos de datos. Las comunicaciones del protocolo DNS utilizan un formato simple llamado mensaje. Este formato de mensaje se utiliza para todos los tipos de solicitudes de clientes y respuestas del servidor, mensajes de error y para la transferencia de información de registro de recursos entre servidores.
DNS es un servicio cliente/servidor. Mientras otros servicios utilizan un cliente que es una aplicación (como un explorador Web o un cliente de correo electrónico), el cliente DNS ejecuta un servicio por sí mismo. El cliente DNS, a veces denominado resolución DNS, admite resolución de nombre para otras aplicaciones de red y servicios que lo necesiten.
Al configurar un dispositivo de red, generalmente proporcionamos una o más direcciones del servidor DNS que el cliente DNS puede utilizar para la resolución de nombres. En general, el proveedor de servicios de Internet provee las direcciones para utilizar con los servidores DNS. Cuando una aplicación de usuario solicita conectarse con un dispositivo remoto por nombre, el cliente DNS solicitante envía una petición a uno de esos servidores de nombre para resolver el nombre en una dirección numérica.
Los sistemas operativos de computadora tienen una utilidad denominada nslookup que permite al usuario consultar manualmente los servidores de nombres para resolver un nombre de host dado.
Resolución de nombres y almacenamiento en caché
Un servidor DNS proporciona la resolución de nombres utilizando el daemon de nombre, en ocasiones denominado named. El servidor DNS actúa como la guía telefónica para Internet: convierte los nombres de host de computadora legibles para nosotros, en las direcciones IP que los equipos de networking necesitan para entregar la información.
El servidor DNS almacena diferentes tipos de registros de recursos que se utilizan para resolver nombres. Estos registros contienen el nombre, la dirección y el tipo de registro.
Algunos de estos tipos de registros son los siguientes:
–
A:
dirección de un dispositivo final.
–
NS:
un servidor de nombre automático.
–
CNAME:
Nombre canónico para un alias; se utiliza cuando varios servicios tienen la dirección de red sencilla, pero cada servicio tiene su propia entrada en DNS.
–
MX:
registro de intercambio de correo; asigna un nombre de dominio a una lista de servidores de intercambio de correo para ese dominio.
Cuando un cliente realiza una consulta, el proceso «nombrado» del servidor primero observa en sus propios registros para ver si puede resolver el nombre. Si no puede resolver el nombre utilizando los registros almacenados, contacta a otros servidores para hacerlo.
La solicitud puede pasar por varios servidores. Cuando se encuentra una coincidencia y es devuelta al servidor solicitante original, el servidor almacena temporalmente la dirección numerada que coincide con el nombre en la caché.
Si se solicita de nuevo el mismo nombre, el primer servidor puede devolver la dirección utilizando el valor almacenado en su caché de nombres. El almacenamiento en caché reduce tanto el tráfico en la red de los datos de consulta DNS como las cargas de trabajo de los servidores más altos en la jerarquía.
Jerarquía DNS
El sistema de nombres de dominio utiliza un sistema jerárquico para crear una base de datos para proporcionar una resolución de nombres. La jerarquía es similar a un árbol invertido con la raíz en la parte superior y las ramas por debajo.
En la parte superior de la jerarquía, los servidores raíz mantienen registros sobre cómo alcanzar los servidores de dominio de nivel superior, los cuales a su vez tienen registros que apuntan a los servidores de dominio de nivel secundario y así sucesivamente.
Los diferentes dominios de primer nivel representan el tipo de organización o el país de origen. Algunos ejemplos de dominios de primer nivel son:
–
.au: Australia
–
.co: Colombia
–
.com: una empresa o industria
–
.jp: Japón
–
.org: una organización sin fines de lucro
Después de los dominios de primer nivel se encuentran los dominios de segundo nivel y, debajo de estos, hay otros dominios de nivel inferior.
Cada nombre de dominio es una ruta a través de este árbol invertido que comienza desde la raíz.
El sistema de nombres de dominio depende de esta jerarquía de servidores descentralizados y mantiene estos registros de recursos. Los registros de recursos enumeran nombres de dominios que el servidor puede resolver y servidores alternativos que también pueden procesar solicitudes. Si un determinado servidor tiene registros de recursos que corresponden a su nivel en la jerarquía de dominios, se dice que es autoritativo para esos registros.
Servicio WWW y HTTP (Ambos, puerto 80)
Cuando se escribe una dirección Web (o URL) en un explorador de Internet, el explorador establece una conexión con el servicio Web del servidor que utiliza el protocolo HTTP. URL (o Localizador uniforme de recursos) y URI (Identificador uniforme de recursos) son los nombres que la mayoría de las personas asocian con las direcciones Web.
Los exploradores Web son las aplicaciones de cliente que utilizan nuestras computadoras para conectarse con la World Wide Web y para acceder a los recursos almacenados en un servidor Web. Al igual que con la mayoría de los procesos de servidores, el servidor Web funciona como un servicio básico y genera diferentes tipos de archivos disponibles.
Para acceder al contenido, los clientes Web realizan conexiones al servidor y solicitan los recursos deseados. El servidor responde con los recursos y, una vez recibidos, el explorador interpreta los datos y los presenta al usuario.
Los exploradores pueden interpretar y presentar muchos tipos de datos, como texto sin formato o HTML. Otros tipos de datos, sin embargo, requieren de otro servicio o programa. Generalmente se los conoce como plug-ins o complementos. Para ayudar al explorador a determinar qué tipo de archivo está recibiendo, el servidor especifica qué clase de datos contiene el archivo.