miércoles, octubre 04, 2006

Bonjour


Sin haber configurado nada, en iTunes bajo la carpeta de música compartida aparecían hoy de manera automágica los ficheros de música de gente que se encuentra en la misma conferencia que yo, pero con los que no había cruzado todavía palabra.

Fernando (el de la lista), que siempre está a la última con los Mac, me dijo la palabra clave para saber por dónde buscar: Bonjour, un protocolo de Apple para el descubrimiento automático de servicios.

Básicamente Bonjour utiliza DNS multicast para averiguar qué otros ordenadores en la misma subred tienen activado un servicio determinado. Bonjour no es DNS al 100% porque corre en otro puerto distinto al 53 y utiliza una caché de resolver distinta. Aquí hay una traza del protocolo en la red inalámbrica hecha con Wireshark:

Mi iTunes (193.0.8.88) envía consultas de DNS a la dirección 224.0.0.251, de manera demasiado insistente, todo sea dicho. Esta dirección se encuentra en el bloque 224.0.0/24, que está reservado para IP multicast (RFC 3171). El paquete número 172 es la solicitud de información de iTunes sobre otros servidores de DAAP (Digital Audio Access Protocol) que se encuentren en la red (es decir otros iTunes en marcha). Todos los ordenadores la escuchan y luego empiezan a llegar las respuestas (paquetes 300, 301 y siguientes). Técnimente tan elegante... y tan práctico: puedo escuchar la música de gente afín y descubrir sus gustos, aunque no se pueden grabar las melodías. Claro está, siempre que el dueño de la música la haya marcado voluntariamente para compartir.

Es una pena que Bonjour no sea compatible con LLMNR, el futuro estándar de la IETF para la resolución dinámica de servicios por medio de DNS, promovido por Microsoft. En ese sentido, la página web de Apple es muy sutil:

Bonjour es un protocolo abierto que Apple ha enviado al IETF como parte del proceso de creación de estándares.

Cierto es, enviado fue. Sólo que rechazaron Bonjour por ser parcialmente incompatible con LLMNR.

No hay comentarios: