DNS Explicado: Su Historia, Que es? y Como Funciona.

Hola a todos, que gusto verlos de nuevo, hoy en defecto digital hablaremos del servicio DNS. Vamos a recordar cómo surgió la necesidad de crearlo? y luego explicaremos su funcionamiento.

El origen en los 70s

Cuando el Internet comenzó (que por cierto en ese entonces se le conocía como ARPANET) estaba compuesto de apenas unas cuantas computadoras situadas en algunas universidades, empresas y entidades de gobierno así que aún no había muchas direcciones que recordar. Además ARPANET no nació usando el protocolo TCP/IP, en ese entonces se usaba un protocolo anterior llamado NCP,(Network Control Protocol) con tan solo 256 direcciones disponibles. Así que las direcciones de los servidores literalmente eran llevadas a mano en los apuntes de cada uno de los usuarios de la incipiente red.

En el inicio de ARPANET las direcciones solo se registraban en los apuntes!

Avancemos a 1978, para este entonces la red ya es internacional, con conexiones en Noruega e Inglaterra, también marca el inicio de la sustitución del protocolo NCP por el protocolo TCP/IP, la principal motivación para el cambio es poder aumentar la cantidad de equipos conectados a la red. Esto permitió un crecimiento exponencial de los equipos conectado a la red.

El primer intento de un directorio de direcciones fue un simple archivo .TXT

Con tantos servidores nuevos, hubo necesidad de tener consistencia en los nombres de los servidores para facilitarle a los usuarios el encontrarlos, así que se estableció un único archivo HOSTS.TXT, este estaba hospedado en un servidor de la universidad de Stanford, la idea es que todos los equipos lo usaran para consultar automáticamente la dirección de algún servidor que es lo mismo que HOST, este archivo era mantenido manualmente y las solicitudes para agregar registros se hacían por teléfono solo en horario de oficina.

La necesidad de crecer la red

Llegamos a 1983 y con el llegaron Thriller y El regreso del Jedi. Y también es el año en que el archivo hosts que por cierto seguía siendo mantenido a mano ya no daba para más, se había vuelto lento y le proceso de altas y cambios era demasiado ineficiente, vamos,  ya no podía seguirle el paso a los cambios que surgían en la red. Fue entonces cuando el encargado del mantenimiento del archivo HOSTS, un ingeniero de la Universidad del sur de california llamado Jon Postel le pidió a su colega Paul Mockapetris que le ayudara a elegir entre 5 propuestas que competían para sustituir el archivo HOSTS, Mockapetris tomo las 5 propuestas, las hizo bolita y las tiro al cesto de la basura, y en su lugar creo el SISTEMA DNS. Asi pues en noviembre de 1983 el Grupo de Trabajo de Ingeniería de Internet publico los lineamientos de lo que se convertiría en el sistema DNS (el RFC882 y 883 (https://tools.ietf.org/html/rfc882) después remplazados por RFC1034, RFC 1035, RFC 1123, y RFC 2181). En estos se especificaban los conceptos de nombre de Dominios, los tipos de registros DNS, el estándar usuario@dominio.com que usamos hasta la fecha, así como los diferentes mecanismos que  regirían el funcionamiento del sistema.

Esa fue la historia de cómo surgió la necesidad de crear el sistema DNS, a la fecha (2018) existen más de 400 millones de dominios registrados, y diariamente se realizan billones de consultas al servicio, asi que es evidente que la carga de trabajo es enorme, es por esto que al diseñar el sistema DNS se cuido no repetir errores del pasado, la carga se divide en diferentes niveles de servicio y estos a su vez están bajo la responsabilidad de diferentes organizaciones. Para entender cómo se reparte esta carga, necesitamos entrar más a detalle en el funcionamiento del servicio DNS.

La Teoría

Cuando en tu navegador pides www.ejemplo.com, en realidad estarás tratando de ingresar a www.ejemplo.com. , así es, hay un punto al final del nombre de dominio, uno que nunca vemos y que normalmente nunca tecleamos, pero ahí está, así que cuando tecleas www.google.com en realidad estas entrando a www.google.com. Si no me crees puedes ir y teclearlo tú mismo en tu navegador y ver cómo funciona.

Ese punto al final representa nada menos que la “La Raíz” de la estructura de nombres, y aunque no lo parece en primera instancia, esta resulta ser muy importante, la razón es que ahí es donde todas las búsquedas comienzan.

Cuando ninguna sabe la dirección IP del Dominio, entonces es momento de recurrir al servicio DNS

Regresando a nuestro ejemplo, cuando quieres acceder a www.ejemplo.com. Tu navegador le pregunta la dirección IP al sistema operativo si este no la sabe porque no le tenga en memoria, entonces intentara usar el servicio DNS para determinar la dirección IP de nuestro dominio.

El primer punto de contacto y al cual el sistema operativo dirigirá todas sus búsquedas será el Servidor DNS de Resolución, este servidor es el caballito de batalla del servicio DNS, este servidor es normalmente proporcionado y configurado automáticamente por tu proveedor de internet.

Así que el sistema operativo va y “pregunta” al servidor DNS de Resolución por www.ejemplo.com.

Como dijimos este servidor es quien hará la búsqueda de la dirección ip del dominio que intentamos contactar, y solo requiere un punto de partida para comenzar, de hecho es lo único que todos los servidores DNS de Resolución deben saber, nos referimos a las direcciones de los servidores DNS para “La Raíz”.

Así que el servidor DNS de resolución ahora ira a preguntarle a cualquiera de los servidores de Raíz si es que sabe dónde está www.ejemplo.com. Y alguno de ellos le responderá: “no lo sé pero si se donde puedes sé dónde encontrar el listado de los Servidores DNS para los dominios .com, intenta ahí”



Los servidores DNS para los dominios .com son llamados Top Level Domain Servers o TLD y cada terminación de nombre dominio tiene sus propios servidores, así que por ejemplo los dominios .es, .mx, .co, .ar, etc. tienen servidores TLD diferentes a cargo de organizaciones diferentes. Así que como dijimos antes, la responsabilidad está repartida.

Ahora el servidor de Resolución DNS ira a preguntarle a un servidor TLD que corresponda a los dominios .com si conoce donde esta www.ejemplo.com. Este le responderá: “no lo sé pero si se donde puedes encontrar los servidores DNS Autoritativos para www.ejemplo.com.”.

Antes de pasar a ese nuevo nivel de servidores, tenemos que explicar cómo es que los servidores TLD saben que Servidores Autoritativos le corresponden a cada domino, esto es con la ayuda de los registrantes de dominio así como los registros de dominio.

Cuando compras un dominio, el registrante de dominio (es decir a quien le compras el dominio)  por ejemplo vamos a decir que le compras el dominio a godaddy, este le indicara al registro de dominio que tenga la autoridad sobre los dominios .com. Cuales servidores Autoritativos se deben usar para nuestro dominio, después el registro de dominio se encarga de actualizar los servidores TLD diciéndoles que servidores autoritativos corresponden al dominio ejemplo.com.

Bueno, entonces nos quedamos en que el servidor DNS de resolución ya con la respuesta de los servidores TLD ira a preguntarle al servidor autoritativo si conoce donde esta www.ejemplo.com. Este le responderá “hey! yo sé dónde está eso, dile a tu navegador que vaya a la IP 192.168.1.1”. Nuestro servidor de Resolución por fin tiene la información que nuestro navegador necesita.

Así que ahora le dará la respuesta al sistema operativo y este a su vez se la dará a tu navegador que finalmente hará la conexión a la dirección IP indicada permitiéndonos acceder a nuestra página.

Lo demas

Phewww  suena bastante complejo y créelo lo es, aun asi este proceso normalmente solo toma unos cuantos milisegundos, esto es debido a que el sistema DNS fue diseñado con dos cosas en mente, ser eficiente y rápido.

Así que sabemos que existen diferentes organizaciones y servidores involucrados en cada una de tus consultas.

Los responsables de que tu puedas seguir encontrando los servidores de Google, Youtube, Facebook, PornHub y todos los demas!

Están los servidores de DNS de Resolución, los servidores de Raíz, los servidores TLD, los registros de dominio y los servidores Autoritativos, todos igualmente importantes.

Si algún eslabón de esta cadena llegara a fallar, esto podría tener consecuencias catastróficas, o  peor aún, si alguno de estos servidores filtrara o manipulara las respuestas, estas podrían enviarte a sitios diferentes de los que tu intentas conectar, muchos virus se aprovechan esta vulnerabilidad y también es una práctica común en países como la Republica China para controlar lo que su población puede ver, por eso es bueno saber cómo es que funciona el sistema DNS.

También te podría gustar...