1. DNS

DNS o Servicio de Resolución de Nombres.


Para realizar una resolución de nombres hay que buscar registros DNS (DNS records o resource records) en las bases de datos del servidor DNS o servidor de nombres, donde cada dirección IP (que el servidor reconozca) tiene asignado un nombre de dominio. 

El sistema de nombres de dominio o DNS tiene una estructura jerárquica y descentralizada.

En cada nivel hay servidores que se encargan de su llamado espacio de nombres, (no  todos conocen todos los nombres).

Cuatro elementos componen el DNS:

  1. Espacio de nombres de dominio: DNS utiliza un espacio de nombres estructurado en árbol para identificar recursos en Internet.
  2. Base de datos DNS: Conceptualmente, cada nodo y hoja en la estructura del árbol del espacio de nombres nombra un conjunto de información (por ejemplo, dirección IP, tipo de recurso) que está contenida en un registro de recursos (RR). La colección de todos los RR se organiza en una base de datos distribuida.
  3. Servidores de nombres: estos son programas de servidor que contienen información sobre una parte de la estructura del árbol de nombres de dominio y los RR asociados.
  4. Resolvedores: estos son programas que extraen información de los servidores de nombres en respuesta a las solicitudes de los clientes. Una solicitud de cliente típica es una dirección IP correspondiente a un nombre de dominio dado.

La dirección IP proporciona una forma de identificar de forma única los dispositivos conectados a Internet.

Se interpreta que esta dirección tiene dos componentes: un número de red, que identifica una red en Internet, y una dirección de host, que identifica un host único en esa red.

El uso práctico de direcciones IP presenta dos problemas:

1. Los enrutadores diseñan una ruta a través de Internet basándose en el número de red. Si cada router necesitara mantener una tabla maestra que enumerara todas las redes y la ruta preferida a esa red, la administración de las tablas sería engorrosa y consumiría mucho tiempo. Sería mejor agrupar las redes de manera que se simplifique la función de enrutamiento.

2. La dirección IPv4 de 32 bits generalmente se escribe con cuatro números decimales, que corresponden a los cuatro octetos de la dirección. Este esquema numérico es efectivo para el procesamiento por computadora, pero no es conveniente para los usuarios, quienes pueden recordar más fácilmente los nombres que las direcciones numéricas.

Estos problemas se abordan mediante el concepto de dominio. En términos generales, un dominio se refiere a un grupo de hosts que están bajo el control administrativo de una sola entidad, como una empresa o agencia gubernamental. Los dominios están organizados jerárquicamente, de modo que un dominio dado puede constar de varios dominios subordinados. Los nombres se asignan a los dominios y reflejan esta organización jerárquica.


Los nombres de dominio se asignan jerárquicamente de tal manera que cada nombre de dominio es único.

En un nivel superior, la Corporación de Internet para la Asignación de Nombres y Números (ICANN) administra la creación de nuevos nombres de nivel superior y la asignación de nombres y direcciones. La asignación real de direcciones se delega en la jerarquía. Por lo tanto, al dominio mil se le asigna un gran grupo de direcciones.

Ejemplo:

  • ar : Contiene todos los dominios de argentina
  • edu.ar : contiene todos los dominios educativos de Argentina.
  • unam.edu.ar: contiene todos los dominios pertenecientes a la U.Na.M.


Observación:

  • Ver que se va obteniendo el camino leyendo desde atras hacia adelante (unam.edu.ar)
  • Los niveles gerárquicos se separan por punto ((unam.edu.ar)) 
Los dato residen en servidores DNS dispersos por Internet e intranets privadas, en el caso del Ejemplo, la U.Na.M se encarga de la parte de va delante de unam.edu.ar como ser: fio.unam.edu.ar


Formato de RR (  DNS Resource Record)

Como hemos visto anteriormente, el servicio DNS gestiona una base de datos distribuida entre múltiples servidores DNS, que almacenan los ficheros de zona que contienen la información sobre los dominios.
Los ficheros o archivos de zona organizan esta información con los registros de recurso (RR, Resource Records).
Estos registros de recurso son enviados en las preguntas y respuestas entre clientes DNS y servidores DNS.
El formato es:

En esencia, el nombre de dominio en un RR debe corresponder a la forma legible por humanos, que consiste en una serie de etiquetas de caracteres alfanuméricos o guiones, con cada par de etiquetas separadas por un punto.
  1. Nombre de dominio: aunque la sintaxis de los nombres de dominio en los mensajes, que se describe a continuación, se define con precisión, la forma del nombre de dominio en un RR se describe en términos generales
  2. Tipo: identifica el tipo de recurso en este RR. Los diversos tipos se enumeran en la Tabla siguiente
  3. Clase: Identifica la familia de protocolos. El único valor comúnmente utilizado es IN, para Internet.
  4. Tiempo de Vida, tiempo en el que será almacenado en cache.
  5. Logitud en octetos.
  6. Rdata: Información de DNS.
Los registros de recursos siguen un sistema sencillo, codificado en ASCII. Hay una línea para cada registro DNS. Los registros o contenido de la Record  suelen tener la siguiente forma:

Hay muchos tipos de Records, cada uno tiene su propósito, por ejemplo los registros DNS de correo electrónico son del tipo MX y contienen información que identifica los sistemas a través de los cuales se debe transmitir el correo al nombre de dominio consultado.



El esquema de funcionamiento sería:

¿Cómo impacta la latencia?


Veamos como impacta la latencia en la ubicación de los diferentes elementos de la cadena DNS para realizar la petición al servidor Web, inclusive aunque el servidor DNS resolver y el servidor Web están ubicados localmente a sólo 1 ms.

En el primer ejemplo vemos que tenemos el DNS Resolver local de nuestro ISP, con una latencia de sólo 1ms (si la latencia a tu DNS resolver es mayor ajustar el valor al que corresponda en tu caso). Luego si el servidor DNS resolver no tiene en su cache el subdominio www.elgato.net entonces deberá hacer la consulta al Root Server (en nuestro ejemplo tenemos 80 ms al servidor DNS Root Server ubicado en Miami), luego nuestro resolver debe realizar la consulta el servidor TLD donde está el .net, en este caso también está en Miami, así que sumamos 80 ms más. Luego el DNS resolver va al servidor DNS autoritativo de elgato.net que está en Miami, que suma 80 ms extras. Y finalmente el DNS Resolver nos entrega la dirección IP al servidor que, aunque está local (1 ms), demora en total 242 ms en realizar la petición debido a la latencia a los servidores de las consultas que se realizaron.



Root Name Servers.

En la parte superior de la jerarquía de servidores se encuentran 13 servidores de nombres raíz que comparten la responsabilidad de las zonas de nivel superior (Tabla 24.6).
Esta replicación es para evitar que el servidor raíz se convierta en un cuello de botella y para brindar confiabilidad. Aun así, cada servidor raíz individual está bastante ocupado.
Por ejemplo, el Consorcio de Software de Internet informa que su servidor (F) responde a casi 300 millones de solicitudes de DNS al día.


Tenga en cuenta que algunos de los servidores raíz existen como varios servidores distribuidos geográficamente. Cuando hay varios servidores raíz con el mismo nombre, cada uno tiene una copia idéntica de la base de datos para ese servidor y la misma dirección IP.
Cuando se realiza una consulta a ese servidor raíz, el protocolo y el algoritmo de enrutamiento IP dirigen la consulta al servidor más conveniente, que generalmente es el servidor más cercano físicamente.