Aller au contenu

Zeroconf

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 22 décembre 2008 à 23:53 et modifiée en dernier par Pmazoyer (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

Modèle:Pile de protocoles

Zero Configuration Networking (Zeroconf) est l'appelation générique d'un ensemble de protocoles permettant de créer automatiquement un réseau IP utilisable sans configuration ou serveurs spécifiques.

Ceci permet aux utilisateurs novices de connecter en réseau des ordinateurs, des imprimantes, et d'autres périphériques et de s'attendre à ce que celui-ci soit automatiquement fonctionnel. Sans Zeroconf, un utilisateur doit soit mettre en place des services spéciaux, tels que DNS et DHCP, soit configurer les paramètres réseau de chaque périphérique manuellement, qui peut être difficile pour les utilisateurs qui ne sont pas familiers avec ces techniques.

Les protocoles Zeroconf fournissent les fonctionnalités suivantes :

  • Allocation dynamique d'adresse IP sans serveur DHCP
  • Résolution de noms et adresses IP sans serveur DNS
  • Recherche de services sans annuaire
  • Traversée de passerelle NAT

Allocation dynamique d'adresse IP : IPV4LL/APIPA

Les protocoles IPv4 et IPv6 possèdent tous deux des techniques normalisées d'auto-configuration des adresses des interfaces réseau.

Pour IPv4, la RFC 3927 de l'IETF définit l'allocation dynamique d'adresses IP dans la plage 169.254.0.0/16. La RFC appelle cette technique IPv4 link-local (IPV4LL) address assignment. Toutefois, Microsoft se réfère à celle-ci sous le nom Automatic Private IP Addressing (APIPA) ou Internet Protocol Automatic Configuration (IPAC).

Pour IPv6, l'allocation dynamique d'adresses IP est prévue dans le protocole (voir la RFC 4862).

Résolution de noms

Débuts

Un premier protocole proposé pour la résolution de nom a été publié par Bill Manning et Bill Woodcock en 2000 sous l'appelation Multicast Domain Name Service. Celui-ci fût utilisé comme base de travail par Apple et de Microsoft pour l'élaboration de leur propres protocoles.

Multicast DNS (mDNS)

Le protocole de Multicast DNS (mDNS) est proposé par Apple comme projet de RFC informel. C'est actuellement le plus utilisé.

Multicast DNS (mDNS) est un protocole utilisant des datagrammes similaires au DNS unicast, mais mis en oeuvre différemment. Chaque ordinateur sur le réseau local conserve sa propre liste d'enregistrements DNS (par exemple A, MX, SRV, etc) et lorsqu'un client mDNS veut connaitre l'adresse IP d'un périphérique réseau à partir de son nom, le périphérique avec un enregistrement A correspondant répond avec son adresse IP. L'adresse de multicast utilisée par mDNS est 224.0.0.251.

Le protocole Link-local Multicast Name Resolution (LLMNR) a été soumis par Microsoft pour adoption officielle comme standard Internet par le groupe de travail DNSEXT de l'IETF[1], mais il n'a pas réussi a obtenir un consensus et a été publié comme RFC informel seulement (RFC 4795). Il reste aujourd'hui peu utilisé.

Comparatif

Les deux protocoles ont des différences mineures dans leur approche de la résolution de nom. mDNS permet à un périphérique réseau de choisir un nom de domaine dans l'espace de noms ".local" et de l'annoncer à l'aide d'une adresse IP multicast spéciale. Cela introduit une sémantique différente pour l'espace de nom ".local"[2], ce qui est considéré comme un problème par certains membres de l'IETF.[3] La spécification actuelle de LLMNR permet à un périphérique réseau de choisir n'importe quel nom de domaine, ce qui est considéré comme risqué du point de vue de la sécurité par certains membres de l'IETF.[4] Par ailleurs, mDNS est compatible avec le protocole DNS-SD décrit dans la section suivante, alors que LLMNR ne l'est pas.[5]

Suite à l'échec de LLMNR pour devenir un standard Internet et étant donné que les protocoles mDNS et DNS-SD sont utilisés beaucoup plus largement que LLMNR, l'IETF a demandé à Apple de soumettre les spécification des deux protocoles afin de les publier en tant que RFC informel.

Recherche de services

DNS-Service Discovery (DNS-SD)

Le protocole DNS-Service Discovery (DNS-SD) est basé sur l'utilisation de mDNS. Il est utilisé par les produits Apple, par de nombreuses imprimantes réseau et par un certain nombre de produits et d'applications sur différents systèmes d'exploitation. Contrairement à la technologie concurrente SSDP de Microsoft, DNS-SD a recours à DNS au lieu de HTTP. Il emploie des enregistrements DNS de type SRV, TXT et PTR pour publier les services disponibles. Les hôtes offrant des services publient les détails de ces derniers comme, par exemple, le type de service, le nom de domaine et des paramètres de configuration optionnels. Un registre des types de service existants (non-exhaustif) est mis à jour et publié par DNS-SD.org. Les types de services sont enregistrés de manière informelle selon le principe premier arrivé, premier servi.

De nombreux logiciels réseau pour Mac OS X, tels que le navigateur Safari, le logiciel de messagerie instantanée iChat utilisent DNS-SD pour localiser les serveurs ou les pairs sur le réseau local. D'autres logiciels Mac OS X tels que le logiciel de gestion de photo iPhoto ou le gestionnaire de musique iTunes utilisent également DNS-SD pour partager leurs contenus. Sur Windows, certains clients de messagerie instantanée et de voix sur IP tels que Gizmo utilisent DNS-SD. Certaines distributions Linux incluent également le support de DNS-SD.

Les protocoles mDNS et DNS-SD ont été développés par Stuart Cheshire, employé d'Apple, quand cette société a abandonné le protocole AppleTalk pour le protocole IP.

UPnP Simple Service Discovery Protocol (SSDP)

Simple Service Discovery Protocol (SSDP) est un protocole UPnP non soumis à l'IETF, utilisé dans Windows XP et par plusieurs marques de matériel réseau. SSDP diffuse des annonces via des notifications HTTP fournissant un type de service URI et un nom de service unique (USN). Les types de services sont réglementés par le comité de gestion d'UPnP.

SSDP est pris en charge par de nombreux appareils pare-feu, où les ordinateurs hôtes derrière celui-ci peuvent percer des trous pour les applications. Il est également utilisé par certains matériels de type Media Center, où les médias échangés entre l'hôte et le Media Center est facilité par l'utilisation de SSDP.

Service Location Protocol (SLP)

Service Location Protocol (SLP) est le seul protocole pour la recherche de découverte ayant atteint le statut de proposition de standard de l'IETF. Ce protocole est utilisé par les ordinateurs réseau et imprimantes réseau Hewlett-Packard, Novell, Sun Microsystems et Apple, mais est ignoré par certains autres grands fournisseurs. SLP est décrit par la RFC 2608 et la RFC 3224 publiés par le groupe de travail SVRLOC de l'IETF et des implémentations sont disponibles pour les systèmes d'exploitation Mac OS X, Solaris et Linux.

Traversée de passerelle NAT

NAT Port Mapping Protocol (NAT-PMP)

Le protocole NAT Port Mapping Protocol (NAT-PMP), proposé comme projet de RFC par Apple permet à un ordinateur d'un réseau privé (derrière une passerelle NAT) de configurer automatiquement la passerelle afin que les machines à l'extérieur du réseau privé puissent le contacter.

UPnP Internet Gateway Device Protocol (IGD)

Le protocole Internet Gateway Device (IGD) est un protocole UPnP supporté par certaines passerelles NAT. Il s'agit d'une méthode couramment utilisée pour la redirection de port, mais celle-ci n'a pas été soumise à l'IETF.

Implémentations majeures

Les sections ci-dessous présentent les implémentations les plus répandues des protocoles Zeroconf de l'IETF.

Apple Bonjour

Développé par Apple, Bonjour (anciennement connu sous le nom de Rendez-vous) est l'implémentation la plus répandue des protocoles mDNS, DNS-SD et NAT-PMP, utilisée principalement sur Mac OS X (celle-ci est également disponible pour Microsoft Windows). Originellement SLP offrait les fonctionnalités de recherche de service de Bonjour, mais Apple a remplacé SLP par mDNS et DNS-SD entre Mac OS X 10.1 et 10.2, même si SLP continue d'être pris en charge par Mac OS X.

Avahi

Avahi est une implémentation libre des protocoles IPv4LL, mDNS, DNS-SD et NAT-PMP. Celle-ci est utilisée par des nombreuses distributions Linux et BSD.

Avahi fournit des bibliothèques de compatibilité pour les applications utilisant Bonjour ou l'ancienne implémentation libre de mDNS Howl. Avahi offre également une interface D-Bus.

Windows CE 5.0

Windows CE 5.0 fournit une implémentation de Microsoft du protocole LLMNR.

Implémentations de IPV4LL/APIPA

  • Windows et Mac OS gèrent tous deux l'allocation automatique d'adresses locales par IPV4LL depuis 1998. Apple a publié son implémentation sous une license open-source dans le paquet bootp de Darwin.
  • Avahi fournit une implémentation de IPv4LL via le démon avahi-autoipd.

References

Voir aussi

Technologies similaires ou associées

Liens externes