mDNS et découverte
01 — Définition
Le DNS multicast (mDNS, RFC 6762) permet aux appareils d'un réseau local de résoudre les noms en .local sans serveur DNS, et la découverte de services par DNS (DNS-SD, RFC 6763) s'appuie sur lui pour annoncer des services. L'implémentation d'Apple s'appelle Bonjour, et l'implémentation courante sous Linux Avahi. Dante, NDI et de nombreuses applications de contrôle reposent sur ce mécanisme pour la découverte automatique. Les messages mDNS sont envoyés à l'adresse multicast 224.0.0.251 (FF02::FB en IPv6) sur le port UDP 5353, une portée link-local que les routeurs ne relaient pas ; la découverte ne franchit donc ni les sous-réseaux ni les VLAN sans passerelle ou réflecteur mDNS.
02 — Sur le terrain
Des sources NDI ou des appareils Dante visibles sur un VLAN et absents d'un autre indiquent en général que le trafic de découverte ne franchit pas la frontière. Les solutions consistent à garder le matériel qui dépend de la découverte sur un même sous-réseau, à configurer une passerelle mDNS sur le routeur, ou à employer les outils du fabricant : NDI fournit un Discovery Server, et Dante Domain Manager gère les appareils Dante à travers plusieurs sous-réseaux.
04 — Leçons liées
05 — Sources
- RFC 6762 — noms en .local, requêtes vers 224.0.0.251 (FF02::FB), port UDP 5353 — rfc-editor.org
- RFC 6763 — DNS-Based Service Discovery — rfc-editor.org
- RFC 5771 — bloc 224.0.0.0/24 à portée locale, non relayé par les routeurs — rfc-editor.org
- Audinate, Dante Information for Network Administrators — découverte Dante par mDNS/DNS-SD — audinateweb.sfo2.cdn.digitaloceanspaces.com
- NDI Documentation, Discovery Server — serveur de découverte centralisé pour relier des appareils NDI entre sous-réseaux ou quand le mDNS est bloqué — docs.ndi.video
- Avahi (dépôt officiel) — implémentation Linux de mDNS/DNS-SD, compatible avec Apple Bonjour — github.com
- Audinate, Dante Domain Manager — extension d'un réseau Dante au-delà des frontières de sous-réseau — getdante.com