DNS Domain Name System

Domain Name System, sistema de nombres de dominio. Sistema de conversión de dominios en direcciones IP; en la práctica es una jerarquía de servidores DNS que gestionan una base de datos distribuida con búsquedas recursivas.

El sistema de nombres de dominio (Domain Name System o DNS, por sus siglas en inglés) es un sistema de nomenclatura jerárquico descentralizado para dispositivos conectados a redes IP como Internet o una red privada. Este sistema asocia información variada con nombre de dominio asignado a cada uno de los participantes. Su función más importante es "traducir" 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 como Internet. 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.com y no la dirección IP. 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 tenga que cambiar el nombre del sitio web. Incluso, en el caso de que una página web utilice una red de distribución de contenidos (Content delivery network o CDN, por sus siglas en inglés) por medio del DNS el usuario recibirá la dirección IP del servidor más cercano según su localización geográfica (cada CDN a su vez tiene sus propios servidores DNS).

Principalmente, 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 noviembre de 1983 Jon Postel publica el planeamiento en el RFC 881 y luego junto a Paul Mockapetris publican los RFC 882 y RFC 883 ese mismo año. En octubre de 1984 y tras largas discusiones emiten el RFC 920, definiendo lo que hoy en día ha evolucionado hacia el DNS moderno (estos RFC 882 y 883 fueron reemplazados en 1987 con los RFC 1034 y RFC 1035).

De no existir los servidores DNS los usuarios tendrían que escribir la dirección IP del sitio web en lugar de escribir la URL de este lo cual generaría confusiones y la navegación en internet se tornaría muy complicada para los usuarios.

En esta etapa, la mejor forma de proveer "continuidad" era tener múltiples servidores contestando múltiples consultas. Un servidor era el maestro y los demás eran esclavos. Cada uno de los esclavos debía revisar con el maestro periódicamente que los datos no hubieran cambiado.
Unos 10 años después, se hicieron algunos ajustes mayores al protocolo DNS. Esto era una forma más dinámica de mantener los servidores al día, utilizando NOTIFY (en español notificar) y las transferencias incrementales de zona (IXFR). NOTIFY fue un cambio clave. En vez de esperar a que un esclavo revisara, el maestro podía mandar mensajes NOTIFY a los esclavos, instándolos a adquirir los nuevos datos. Por su parte, IXFR significó un cambio en la forma en que la data se comunicaba. Si cambiaba solamente uno de entre cientos de registros, la especificación original enviaría cientos de mensajes. IXFR cambió el sistema, permitiendo que el envío fuera de los registros que cambiaron solamente. La siguiente evolución de DNS vino cuando se definieron cambios dinámicos en RFC 2136. Esto permitió que los administradores de los servidores pudieran hacer cambios en los registros de mejor forma. Más tarde, en el RFC 2671 se definieron mecanismos de extensión de DNS (EDNS) que modernizó aún más el sistema. El interés por expandir los posibles nombres de los dominios para incluir caracteres de otros idiomas se reflejó en los nombres de dominio internacionalizados como fueron definidos en los RFC 5890 y RFC 5891 en 2010.

ESQUEMA RESUMEN DE LAS DUNCIONES DEL DNS