El sistema de nombres de dominio (o DNS, del inglés domain name system) podría co­n­si­de­rar­se una extensa guía te­le­fó­ni­ca: mediante este servicio, los usuarios in­tro­du­cen la dirección web en el navegador y el propio sistema ide­n­ti­fi­ca la dirección IP re­la­cio­na­da. En este proceso de re­so­lu­ción de nombre, el propio di­s­po­si­ti­vo envía la solicitud al servidor DNS co­rre­s­po­n­die­n­te, donde hay una lista en la que cada nombre de equipo (es decir, la dirección web) tiene asignada la dirección IP correcta. En cambio, el multicast DNS sigue otro sistema. ¿Cómo funciona esta al­te­r­na­ti­va al DNS clásico?

¿Cómo funciona el multicast DNS?

El multicast DNS (mDNS) es un servicio diseñado para llevar a cabo la re­so­lu­ción de nombres en redes más pequeñas. Para ello, mDNS sigue un sistema distinto al conocido DNS: en lugar de enviar la solicitud a un servidor de nombres, todos los pa­r­ti­ci­pa­n­tes de la red reciben la solicitud. El cliente co­rre­s­po­n­die­n­te envía un multicast a la red y, de este modo, pregunta con qué in­te­gra­n­te de la red coincide el nombre del equipo. El multicast o mu­l­ti­di­fu­sión es una forma especial de co­mu­ni­ca­ción en la que un solo mensaje se envía a un grupo de de­s­ti­na­ta­rios. El grupo puede consistir, por ejemplo, en toda la red o en una subred.

De esta manera, la solicitud llega al in­te­gra­n­te del grupo con el nombre de equipo que se está buscando. Este in­te­gra­n­te responde a toda la red, también mediante multicast. Por lo tanto, se informa a todos los pa­r­ti­ci­pa­n­tes sobre la conexión entre el nombre y la dirección IP, lo que les permite anotar los datos co­rre­s­po­n­die­n­tes en su caché mDNS. Mientras esta in­fo­r­ma­ción sea válida, ningún in­te­gra­n­te de la red ne­ce­si­ta­rá volver a solicitar este nombre de host.

El multicast DNS genera mucho tráfico, aunque, para co­n­tra­rre­s­tar­lo, siempre intenta ahorrar recursos de red de forma activa: para ello, el cliente so­li­ci­ta­n­te envía la respuesta que considera correcta (es decir, de acuerdo con los datos del caché actual). El de­s­ti­na­ta­rio solo deberá responder en caso de que la respuesta ya no sea correcta o la in­fo­r­ma­ción esté a punto de caducar. De esta manera, también se informa al resto de pa­r­ti­ci­pa­n­tes de la red antes de dar una respuesta. Este método permite reducir el tráfico dentro de la red.

En general, en el multicast DNS solo se pueden utilizar los nombres de equipo con la extensión .local, lo que limita esta forma de re­so­lu­ción de nombres a las redes locales. Los nombres de equipo con otros dominios de nivel superior (TLD, del inglés top level domain), como .es o .com, no son pro­ce­sa­dos por el mDNS. Por lo tanto, las di­re­c­cio­nes web no se pueden resolver con este método.

Nota

El multicast DNS se de­sa­rro­lló a pri­n­ci­pios de 2010 y se describe en el RFC 6762.

MDNS se de­sa­rro­lló en el contexto de Zeroconf (Zero Co­n­fi­gu­ra­tion Ne­t­wo­r­ki­ng). La idea detrás de este conjunto de técnicas es que los or­de­na­do­res puedan co­mu­ni­car­se entre sí sin la necesidad de co­n­fi­gu­rar­los pre­via­me­n­te. El multicast DNS cumple con este requisito: el proceso de mu­l­ti­di­fu­sión forma parte del TCP/IP y, por lo tanto, también puede funcionar sin necesidad de co­n­fi­gu­ra­ción.

Ventajas del mDNS

El multicast DNS fue concebido para redes pequeñas y está destinado a aumentar la facilidad de uso en este ámbito. La idea es que los usuarios puedan conectar fá­ci­l­me­n­te di­s­po­si­ti­vos mediante la LAN de su hogar. En este caso, como todos los di­s­po­si­ti­vos in­te­r­ca­m­bian in­fo­r­ma­ción a través de su propia dirección IP, no es necesario co­n­fi­gu­rar ningún servidor ni di­re­c­to­rio, lo que significa que se pueden in­co­r­po­rar otros di­s­po­si­ti­vos de manera muy rápida y dinámica.

Una de las im­ple­me­n­ta­cio­nes más populares del mDNS es Bonjour, de Apple. Este servicio fue diseñado pri­n­ci­pa­l­me­n­te para conectar im­pre­so­ras de red a un PC o Mac con facilidad. Como los di­s­po­si­ti­vos se informan entre sí acerca de sus di­re­c­cio­nes IP, el usuario no tiene que co­n­fi­gu­rar la conexión pe­r­so­na­l­me­n­te. Ac­tua­l­me­n­te, además del servicio de Apple, se puede utilizar el software de código abierto Avahi como servicio mDNS: este también permite vincular di­fe­re­n­tes di­s­po­si­ti­vos entre sí sin tener que realizar ninguna co­n­fi­gu­ra­ción de antemano. Desde el la­n­za­mie­n­to de Windows 10, mDNS también está di­s­po­ni­ble en el sistema operativo Microsoft.

Riesgos e in­co­n­ve­nie­n­tes del multicast DNS

La facilidad de uso, sin embargo, entraña algunos in­co­n­ve­nie­n­tes. El proceso de mu­l­ti­di­fu­sión en sí conlleva un problema: aunque el protocolo intenta reducir al mínimo el tráfico de la red, los or­de­na­do­res im­pli­ca­dos deben su­pe­r­vi­sar­la co­n­s­ta­n­te­me­n­te y procesar los mensajes entrantes, lo que puede provocar una di­s­mi­nu­ción del re­n­di­mie­n­to del sistema.

Además, la propia asi­g­na­ción de nombres de equipo puede co­n­si­de­rar­se pro­ble­má­ti­ca: en principio, se puede elegir li­bre­me­n­te cualquier nombre para los di­s­po­si­ti­vos, siempre que tenga la extensión .local. Por este motivo, al menos en teoría, es posible que dos pa­r­ti­ci­pa­n­tes de la red tengan el mismo nombre de equipo. Los de­sa­rro­lla­do­res de mDNS de­ci­die­ron no im­ple­me­n­tar una solución para estas si­tua­cio­nes por dos razones: por un lado, suponían que rara vez debería ocurrir algo así y, por el otro, en algunos casos puede que los usuarios deseen repetir el nombre de­li­be­ra­da­me­n­te.

Al margen de lo anterior, el propio sistema puede suponer una fuente de peligro: en algunos casos, el mDNS está abierto, lo que significa que también responde a so­li­ci­tu­des externas (por Internet). De esta manera, los hackers pueden acceder a estos servicios y uti­li­zar­los para llevar a cabo ataques DDoS. En estos casos, los di­s­po­si­ti­vos de la red se utilizan in­de­bi­da­me­n­te para bo­m­ba­r­dear a un servidor de destino con so­li­ci­tu­des. Además, por el hecho de estar abiertos, los multicast DNS permiten obtener datos co­n­fi­de­n­cia­les. De esta manera, por ejemplo, los ci­be­r­de­li­n­cue­n­tes podrían consultar las di­re­c­cio­nes MAC de los di­s­po­si­ti­vos co­ne­c­ta­dos y, a co­n­ti­nua­ción, utilizar esta in­fo­r­ma­ción para emprender más ataques.

Ir al menú principal