Las iniciales DNS son las iniciales de Domain Name System (Sistema de Nombres de Dominio). Este sistema de nomenclatura jerárquica para redes, aparte de ser distribuido, hace de traductor para los nombres de los dominios.

El sistema DNS es una de las tecnologías esenciales en el funcionamiento de Internet tal como lo conocemos ahora. Merced a este sistema,  podemos acceder a la dirección IP del servidor al que deseamos acceder a través de Internet. Actúa tal y como si fuera una guía telefónica o bien plataforma que se dedica a traducir los nombres de una web en una IP con la que situar el servidor web. Con esto se deja a los usuarios acceder de forma veloz y fácil a los servicios alojados en servidores conectados a Internet. Los DNS asimismo son conocidos como name server o bien servidor de nombre.

Cuando nos conectamos a Internet, nuestro ISP (distribuidor de servicio de Internet) nos asigna una dirección IP. Esta dirección puede ser una serie de doce números (en el caso de IPv4) o bien de treinta y dos caracteres en formato hexadecimal (en el caso de IPv6). En los dos casos, un pc puede manejar de manera fácil estos formatos de direcciones. En cambio, para una persona esto no sería una labor nada simple.

Resulta realmente difícil memorizar por servirnos de un ejemplo, una dirección como 172.217.3.78, la que es la dirección IPv4 de Google. O bien la dirección 91.121.161.210, que corresponde a la dirección IPv4 de Bit2Me Academy. La cosa se dificulta más, cuando como usuarios accedemos a múltiples webs y servicios. Y se vuelve un reto cuando las direcciones de esos servicios son dinámicas (cambian con el pasar de los días).

Frente a esta situación, la mejor forma es tener una base de datos de nombres de dominios a los que le relaciona con una dirección IP. Los nombres de dominio son más fáciles de rememorar y nos facilitan la labor de navegar por Internet. Por poner un ejemplo, no es exactamente lo mismo redactar Wikipedia.com que redactar 208.80.154.224.

dns-estructura-árbol

Funcionamiento de los DNS

La infraestructura de funcionamiento de esta clase de servidores está dividida en una serie de capas con funciones bien definidas. Estas capas son las responsables de registrar, pedir y solucionar los nombres de dominio.

Estas capas de funcionamiento son las siguientes:

Capa #1: Clientes del servicio o bien resolvers

Esta es la primera capa del funcionamiento DNS. Esta es la más próxima a los computadores de los usuarios. Los clientes del servicio DNS tienen como función primordial efectuar las solicitudes (queries) para solucionar dominios a los servidores DNS. Esto es, son los responsables de pedir la información a fin de que podamos navegar en Internet resolviendo los dominios.

Todo sistema operativo con capacidad de conectarse a Internet, cuenta con funciones de estos clientes del servicio. Esto es de esta forma para poder facilitar la navegación en internet. Las labores de estos clientes del servicio son:

  1. Interrogar al servidor DNS por los dominios a los que accede el usuario.
  2. Interpretar las contestaciones del servidor DNS sobre los dominios pedidos.
  3. Devolver la información al programa que ha efectuado la petición (navegadores web, programas P2P, entre otros muchos).

Generalmente estos clientes del servicio aplican ciertas técnicas como el caché DNS, para dejar que la navegación sea considerablemente más veloz. Esto merced a que las solicitudes apropiadamente contestadas por el servidor DNS son guardadas en local. De esta forma, la resolución de nombres tarda mucho menos que mandar información a un servidor recóndito y aguardar la contestación del mismo.

Otras capacidades mostradas por estos clientes del servicio son DNS-over-TLS (DNS a través de TLS) y DNSSEC (DNS Security Extensions). Las dos son capas de seguridad que dependen de un funcionamiento bipartita (servidor y usuario deben aguantar las opciones). Con esto se busca eludir que el tráfico DNS sea analizado o bien corrompido por terceros maliciosos. En el caso de DNS-over-TLS, este encripta la conexión del usuario con los servidores recónditos. Al paso que DNSSEC, asegura criptográficamente las contestaciones de los servidores DNS, merced a un sistema de cifrado asimétrico.

Otra función de los clientes del servicio es servir de memoria cache para el DNS. Con esta función, los clientes del servicio procuran solucionar de forma más veloz las direcciones de los servidores y brindar a los usuarios una experiencia de navegación más fluida.

Capa #2: Servidores

Los servidores DNS, son computadores que responden las solicitudes y resuelven los nombres de dominio a través de un sistema estructurado en árbol. Estos servidores, cuentan con una base de datos con nombres de dominios y su pertinente dirección IP registrada. De este modo, toda vez que un cliente del servicio DNS hace una solicitud (query), el servidor la recibe, busca el dominio en cuestión en su base de datos y manda una contestación. Esta contestación, es la dirección IP del dominio del que el usuario ha pedido información. Merced a este funcionamiento, podemos navegar reposadamente por Internet escribiendo fáciles nombres en nuestros navegadores.

Generalmente, estos servidores están conectados a Internet usando direcciones IP estáticas (jamás cambian). Estas direcciones IP, son las que en general se configuran automáticamente en el momento en que nos conectamos a Internet a través de nuestro ISP. No obstante, asimismo podemos mudarlas por direcciones de otros servidores IP de nuestro gusto. Un caso de esto, son las direcciones IP ocho.8.8.8 y ocho.8.4.4. Las dos direcciones corresponden a los DNS del servicio Google DNS. Asimismo existe la posibilidad de utilizar las direcciones once y diez de Cloudflare DNS , estos últimos con soporte para DNSSEC y DNS-over-TLS. Por otra parte, asimismo es esencial resaltas que existen servidores DNS públicos y privados.

En este caso podemos observar, que las opciones de seguridad han de ser proveídas del lado servidor para contar con exactamente las mismas. De nada nos sirve tener un cliente del servicio DNS con soporte DNSSEC, si el servidor no ofrece soporte para exactamente el mismo. Esta falta en peculiaridades es solo una de las múltiples falencias del modelo cliente del servicio-servidor. Un modelo centralizado que se presta para acciones como el espionaje, el phishing o bien la censura.

Los servidores DNS por norma general están construidos por softwae sencillísimo, así que carecen de un panel de control gráfico. Esto con el propósito de crear una pieza de software resistente, con poquísimo consumo y que soporte gran cantidad de solicitudes por segundos.

Capa #3: Zonas de Autoridad

Debido a la estructura en árbol sobre la que ha sido desarrollada el sistema DNS, este podría subdividirse. Cada una de estas divisiones recibe el nombre de Zonas de Autoridad. Una zona de autoridad, es una base de datos completa par un sub-árbol que es parte del árbol root del sistema DNS.

Cada zona está bajo una autoridad y puede delegar la administración de parte del árbol. El origen del árbol del DNS contiene la zona raíz que contiene las delegaciones para los TLDs (dominio de nivel superior). Cada TLD formaría por su parte una zona del DNS, del mismo modo que los dominios de segundo nivel y de esta manera consecutivamente. Cada una de estas zonas puede estar bajo una autoridad diferente. Estos servidores o bien conjuntos de ellos, son los que por servirnos de un ejemplo, manejan la resolución de nombre de subdominios como .es o bien .org. En resumen, estas zonas son las que acotan las clases de registros y dominios de un servidor DNS.

¿De qué forma marcha el DNS?

Gracias al funcionamiento de los DNS somos capaces de acceder a la enorme cantidad de recursos que están libres en Internet. Comprender de qué manera marcha este sistema nos va a ayudar a entender un tanto más la maravilla tecnológica que interconecta al planeta.

Importancia de los DNS en la infraestructura de Internet

En este punto podemos decir que la utilidad y también relevancia de los DNS es indiscutible. Merced a la infraestructura de los DNS es que podemos gozar de Internet y sus servicios. Facilitar el acceso de los usuarios a las plataformas es clave para su masificación, y en este punto DNS ha cumplido perfectamente con esta premisa. El hecho, de que solo debamos redactar el nombre de un dominio (por servirnos de un ejemplo, bit2me.com) y llegar al lugar es muy relevante. Especialmente, cuando la opción inicial es redactar una serie de número o bien caracteres hexadecimales bastante enigmáticos.

Además la apertura y distribución del sistema deja hacer medrar Internet de forma continua. Por servirnos de un ejemplo, una compañía puede crear un servidor DNS que puede ser utilizado para solucionar los recursos internos de exactamente la misma. Mas al mismo, tiempo es capaz de solucionar (o bien no) los recursos externos de esa empresa (propios o bien no). Esta flexibilidad es única y es una de las razones del veloz y progresivo desarrollo de la red.

Sin embargo, a pesar de su relevancia, el esquema centralizado y de autoridad ha supuesto arduos problemas. Por servirnos de un ejemplo, la manipulación de registros DNS es la manera más frecuente de censura que existe en el planeta. Gobiernos de todo el planeta la aplican par eludir que ciertos sitios webs o bien servicios puedan ser accedidos desde un determinado territorio. En frente de esta situación, podemos ver por el hecho de que es esencial asimismo contar con opciones descentralizadas que eviten esta clase de acciones. No solo con la intención de conceder libertad, sino más bien asimismo para brindar más trasparencia y un acceso más universal.

¿Descentralizado o bien distribuido?

Solemos decir que el DNS es ‘centralizado’ debido a que tiene una componente centralizada cliente del servicio servidor. Además de esto dispone de un punto central por donde poder fallar. Este punto enclenque se ubica en la administración de su estructura raíz, efectuada por IANA/ICANN.

Por otro lado el DNS es asimismo un sistema distribuido en tanto que implica a multitud de computadores a lo largo y ancho del planeta. Es precisamente por esto que, del mismo modo que la mayor parte de redes, DNS esun sistema distribuido.

¿De qué manera la blockchain puede asistir a mejorarlos?

La tecnología blockchain ha probado grandes capacidades para convertir diferentes escenarios en el planeta actual. Y exactamente uno de esos escenarios es la tecnología tras los DNS. La estructura centralizada, basada en autoridad y criptográficamente enclenque del sistema actual ha probado ser deficiente. La sencillez de efectuar ataques de denegación de servicios es alarmante. Mas no es lo único que puede hacerse. El hecho por poner un ejemplo, de que en general las solicitudes de nuestros equipos se hagan en texto plano y sin empleo de la criptografía, es ya de preocupación. Cualquiera con conocimiento puede espiar qué hacemos con nuestros equipos (computadoras o bien móviles).  En verdad, pueden redirigir nuestra navegación a sitios con la capacidad de hurtar nuestros datos sin darnos cuenta hasta el momento en que es ya demasiado tarde. Dada esta situación, la blockchain se erige como una forma de solventar claramente estos inconvenientes.

Un servicio DNS sobre blockchain sería criptográficamente seguro, descentralizado, sin autoridad, resistente a ataques, inalterable y no censurable. Eso es por mucho, mejor que lo que tenemos ahora con el servicio DNS actual. Un buen ejemplo de esta clase de sistema lo podemos observar en Namecoin, una blockchain dedicada a transformarse en un sistema DNS marchando sobre tecnología blockchain.

Teniendo en cuenta esto es entendible decir que la tecnología blockchain puede asistir a prosperar la tecnología DNS. Mejoras en pro de la seguridad, la privacidad y la no censura por la parte de conjuntos de poder.

¿Cuánto sabes, criptonauta?

¿La creación de los servicios DNS fue vital para la masificación del Internet y los servicios asociados a este?

Ventajas y Desventajas

Ventajas

  1. El sistema resulta simple de incorporar y escalar. La capacidad de crear réplicas, balancear cargas de red y ser tolerante a fallos ha transformado al DNS en pilar esencial de Internet.
  2. Requiere de poca potencia de cómputo. La recepción y contestación a los clientes del servicio DNS no es un trabajo computacionalmente costoso. Debido a ello, las necesidades de hardware para establecer servicios DNS masivos es baja.
  3. El impacto en la navegación es mínimo. Por norma general un servicio DNS bien configurado toma menos de 1 segundo en contestar. De esa forma, el impacto en tiempo para el establecimiento de conexión entre el usuario y la máquina final se sostiene al mínimo.
  4. Ofrece un servicio que “estabiliza” el acceso a los servicios en Internet. Muchos servidores en Internet ofrecen sus servicios utilizando direcciones IP activas. Esto quiere decir que sus direcciones IP cambian tras pocas horas o bien días. No obstante, a pesar de esto el servicio puede actualizar los registros de la IP de un dominio. Merced a esto, el nombre de dominio va a apuntar a la nueva IP y vamos a poder continuar accediendo a él utilizando exactamente el mismo.

Desventajas

  1. Su esquema centralizado lo hace en especial frágil. Un actor malicioso por servirnos de un ejemplo puede detener las comunicaciones entre el usuario y el servidor y trastocar exactamente la misma. Con esto consigue redirigir al cliente del servicio (usuario) cara donde desee pudiendo hurtar datos.
  2. El sistema por defecto manda información en texto plano sin cifrado. Cuando DNS nació la preocupación por la seguridad era mínima y el empleo de cifrado era reservado. Por esa razón, DNS es un protocolo que manda y recibe información en texto plano. Cualquiera puede detener la comunicación y saber que solicitamos (como clientes del servicio) y que nos responde el servidor.
  3. No es descentralizado y su seguridad criptográfica es compleja de incorporar. Esto significa por servirnos de un ejemplo, que el sistema no es resistente a ataques de denegación de servicio. Además de esto, su capacidad de protección es compleja y esto evita que se masifique su empleo. Esta es la primordial razón por la que DNS-over-TLS y DNSSEC no se utilicen extensamente.