ZeroConf et l'implémentation "Bonjour"

Le service "DNS Discovery Service"

Objectif du service

Ce service permet aux diverses machines présentent sur un même réseau de s'informer mutuellement des services qu'elles fournissent.
La gestion des services disponibles n'est pas encore effectuée par l'organisme IANA, qui gère actuelement les noms de domaines ainsi que les ports utilisés par les différents protocoles internet. Mais la gestion des services sera bientot sa responsabilité

Ce service n'a pas été défini dans une RFC, mais il est également spécifier dans une draft qui a été rédigée par les ingénieurs d'Apple.

Fonctionnement

Ce service est complémentaire du service multicastDNS. En effet, il utilise des requetes DNS afin de partager les informations sur les services accessibles pour chaque machine du réseau local. Ainsi il utilise le meme principe que les serveurs de DNS pour hiérarchiser les noms de domaines, sauf qu'au lieu de stocker des domaines il va plutot stocker des protocoles et des noms de services.

Hiérarchisation du stockage des services Ainsi la racine est la même que pour le protocole DNS, le ".". En dessous de la racine, il y a le protocole, puis le nom du service qui est partagé, finalement il y a l'instance du service. Cette instance permet de gérer les cas ou il peut y avoir plusieurs fois le service installé, par exemple s'il y a plusieurs serveurs sur une machine, le numéro d'instance sera très pratique afin de connaitre à quelle serveur la connexion sera effectuée.

Au démarrage du daemon, en meme temps que l'enregistrement du nom de domaine de la machine, il va enregistrer les services qu'il offre puis informer les ordinateurs du réseau.C'est le même procédé, lorsqu'un nouveau service est disponible, le daemon va envoyer une requête en multicast afin que chaque machine soit prévenue du nouveau service activé.

Exemple de démonstration

La capture suivante, réalisée avec le logiciel "Bonjour Browser", présente une vue de tous les services existants dans un réseau composé de plusieurs Macintoshs ainsi que d'un PC sous windows et une machine Linux. Capture de "Bonjour Browser" Ainsi, sur cette image on se rend compte qu'il y a de nombreux services activés sur un réseau privé. On ne voit pas de distinction entre les différents systèmes d'exploitations présents sur le réseau et normalement on ne peut deviner l'OS de chaque machine (si l'on ne tient pas compte des noms). Simplement on obtient la liste des services qui sont accessibles via les protocoles de "Bonjour".