La importancia de la resolución de nombres en la Red y las nuevas mejoras de seguridad

By on
Resolución de nombres en la Red

INTRODUCCIÓN. QUÉ ES, CÓMO FUNCIONA Y SU IMPORTANCIA

Hace mucho tiempo, en un universo binario no tan lejano… Allá por 1969,  en los tiempos de ARPANET, los equipos comenzaron a comunicarse entre sí para acceder a recursos remotos. En el mundo del silicio, los equipos informáticos solo entienden el binario, una serie de números secuenciales de ceros y unos que para los humanos es prácticamente imposible de descifrar a una velocidad adecuada de lectura.

Aunque más adelante se fue mejorando esa lectura con técnicas como el sistema hexadecimal (formado por números y letras de la A a la F), o las direcciones IP (Internet Protocol) que se utilizan para alcanzar a los equipos de una red, lo cierto es que los humanos necesitamos de algo más ‘amigable’ para nombrar las cosas.

¿Se os ocurriría acceder a una página web por su representación binaria?

https:// 01110111 01110111 01110111 00101110 01100111 01101111 01101111 01100111 01101100 01100101 00101110 01100011 01101111 01101101

¿Qué tal si accedemos por su representación con direcciones IPs de Internet?

https://172.217.22.131

Complicado de memorizar ¿verdad? Aunque más de uno se sabrá de memoria alguna que otra dirección IP de casa para acceder a su webcam o su servidor de ficheros de red (NAS).

Y ahora, ¿qué tal ésta?

https://www.google.es

Ahora sí, ¿verdad?

Página de Google

Queda demostrado que necesitamos algo que nos ayude a acceder a los recursos de una red de una manera sencilla y fácil de recordar. Es por esto que se desarrolló un completo paquete de técnicas que nos permite traducir un nombre fácilmente reconocible como ‘www.google.com’ a un número (una dirección IP) que es fácilmente entendible por un ordenador. Un sistema de resolución de nombres cumple esa función. Veamos algunos de ellos.

SISTEMAS DE RESOLUCIÓN DE NOMBRES

FICHERO HOST

Estrictamente hablando, no es un sistema, sino un diccionario que tenemos en nuestro equipo al que le decimos: ¿Ves esta IP? Pues se llama SERVIDOR.

Cada sistema operativo tiene una ruta específica para llegar a este fichero (hosts).

En Windows, por ejemplo, se encuentra en esta ruta:

En sistemas basados en Linux, puede ser esta otra:

Dentro de este fichero, relacionaremos la dirección IP con el nombre de host al que queremos acceder. Éste será el primer paso que dará nuestro equipo para intentar resolver un nombre.

Tenedlo muy en cuenta cuando tengáis problemas de resolución de nombres, ya sea porque queráis poner nombres más fáciles de recordar para vosotros o porque algún software malintencionado ha escrito algo en ese fichero y realmente no estáis conectándoos al banco de confianza en el que creíais estar navegando…

NETBIOS 

(Network Basic Input/Output System)

Es un protocolo antiguo pero que aún, a día de hoy, perdura en el tiempo por su simplicidad, funcionamiento y compatibilidad. Se trata de un mecanismo de resolución de nombres de tipo ‘broadcast’. Básicamente, cuando queremos acceder a un recurso de red, como, por ejemplo, una carpeta compartida en nuestro servidor y escribimos en el explorador de archivos:

\\SERVIDOR\

Tu equipo ‘dará un grito’ en la red local de tu empresa diciendo ‘¿HAY ALGUIEN EN LA RED QUE SE LLAME SERVIDOR?’

El equipo de la red llamado SERVIDOR contestará a esta reclamación indicando su dirección IP para que, en una segunda fase, se establezcan las conexiones TCP/UDP pertinentes.

Como hemos dicho, es un sistema arcaico pero muy práctico, aunque presenta ciertas desventajas:

  • En algunas ocasiones, llega a tardar varios minutos en responder, por lo que genera mucha incertidumbre y cierta aleatoriedad de funcionamiento. ¡Si no tienes paciencia ni conocimientos, puede crisparte los nervios!
  • Solo funciona en tu red local, en la misma Capa 2 o VLAN. Si quieres acceder a un servidor que está en una oficina remota o en otro direccionamiento IP, no funcionará. Necesitarás el apoyo de servidores especiales (Servidores WINS).

DNS

Domain Name System

El sistema de nombres de dominio ha sido diseñado para almacenar una base de datos descentralizada y muy estructurada jerárquicamente, donde se almacenan las relaciones entre un nombre y su dirección IP (entre otras muchas más asociaciones que no vienen al caso).

Es el sistema más eficiente y extendido. No depende del sistema operativo del cliente que necesita resolver un nombre, ya que todos los sistemas que quieran conectarse a la red de redes deben ser compatibles con él.

En líneas generales, un equipo que utiliza este sistema de resolución de nombres actuaría de la siguiente manera:

  • El programa del usuario solicita el acceso a un recurso de red por su nombre.
  • El sistema operativo mira en su memoria caché de DNS.
  • Si no la tiene, el cliente DNS pregunta al servidor DNS configurado en la interfaz de red.
  • Si el servidor DNS no la tiene, preguntará al servidor DNS de nivel superior.
  • Y así en una estructura jerárquica hasta encontrar el servidor ‘responsable’ de gestionar el dominio y todos los nombres que cuelgan de él.
WWWGOOGLE ES
Hombre de hostnombre de dominionombre de dominio nivel superior

Servidor DNS

En nuestra red local, si es lo suficientemente grande, suelen existir también servidores DNS internos que gestionan el dominio privado de la empresa (típicamente llamado ‘miempresa.local‘) y que son gestionados por el equipo de IT para tener inventariadas todas las máquinas que necesitan acceder u ofrecer recursos en la red local de la oficina.

IMPORTANCIA

A día de hoy, la importancia de la resolución de nombre es indiscutible. En breve, lo será mucho más con la llegada de protocolos como IPv6. Aunque antes tuviésemos la capacidad de aprendernos algunas direcciones IP, con IPv6 el formato tiene una pinta tan extraña como ésta:

https://2001:4860:4860::8844

Se va complicando tener que recordar tanto número, ¿verdad? En unos años, la complejidad crecerá de manera exponencial y no podremos vivir sin resolución de nombres.

Algunos ejemplos donde el sistema de resolución DNS es la base del funcionamiento son:

  • Servicios de Active Directory de Windows (resolución de servicios ldap, kerberos, controladores de dominio) para el inicio de sesión.
  • Exchange y Skype for Business de Microsoft (descubrimiento automático de servicios de voip, servidores de correo, pasarelas de voz, etc.)
  • Servicios de verificación de propiedad del dominio del correo electrónico.
  • Accesos a unidades de red mapeadas de ficheros, impresoras.

Aunque algunos de estos ejemplos puedan parecen triviales, nosotros, a nivel de usuarios, debemos ser conscientes de qué método estamos utilizando para acceder a un host concreto y qué dirección IP nos está resolviendo.

EJEMPLOS

Casos tan sencillos como intentar acceder a un servidor usando NETBIOS con el comando \\SERVIDOR nunca funcionarán bien si el servidor está en una red remota y estamos utilizando NETBIOS como sistema exclusivo de resolución de nombres.

Otros casos pueden ser más complejos. Por ejemplo, que un servidor tenga dos tarjetas de red, cada una con su correspondiente IP (o 2 IPs configuradas en la misma interfaz).

Tarjetas de red

Por Netbios o por un inadecuado registro en los servidores DNS, nuestros equipos pueden obtener la dirección IP del servidor que nuestro equipo individual no puede alcanzar porque no está en nuestra red y deba ser rutada, autorizada o simplemente sea inalcanzable por la topología de red de la empresa. En este caso, el problema es de diseño y no es culpa del usuario.

Todos estos problemas son complejos para los usuarios finales, en los que prima la facilidad de uso y la transparencia. Aun así, debido a la importancia creciente de la necesidad de estar permanentemente interconectados, es útil conocer y tener constancia de estos mecanismos de resolución de nombres que nos ayudan a visitar nuestra pagina web favorita, o a enviar ese correo electrónico tan urgente.