Zeroconf

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Pile de protocoles
7. Application
6. Présentation
5. Session
4. Transport
3. Réseau
2. Liaison
1. Physique

Modèle Internet
Modèle OSI

Zero Configuration Networking (Zeroconf) est l'appellation générique d'un ensemble de protocoles permettant de créer automatiquement un réseau IP utilisable sans configuration particulière ou serveurs dédiés.

Cela 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, ce qui peut être difficile pour ceux qui ne sont pas familiers de 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/APIPAmodifier | modifier le code

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 APIPA ou Internet Protocol Automatic Configuration (IPAC).

Pour IPv6, l'allocation automatique d'adresses link-local est prévue dans la RFC 4862.

Résolution de nomsmodifier | modifier le code

Débutsmodifier | modifier le code

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

Multicast DNS (mDNS)modifier | modifier le code

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

Multicast DNS (mDNS) est un protocole utilisant des datagrammes similaires au DNS unicast, mais mis en œuvre 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.

Link-local Multicast Name Resolution (LLMNR)modifier | modifier le code

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'IETF3, mais il n'a pas réussi à obtenir un consensus et a été publié comme RFC informel seulement (RFC 4795). Il reste aujourd'hui peu utilisé.

Comparatifmodifier | modifier le code

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 noms « .local »4, ce qui est considéré comme un problème par des membres de l'IETF5. 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 des membres de l'IETF6. Par ailleurs, mDNS est compatible avec le protocole DNS-SD décrit dans la section suivante — et proposé aussi par Apple —, alors que LLMNR ne l'est pas7.

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

Recherche de servicesmodifier | modifier le code

DNS-Service Discovery (DNS-SD)modifier | modifier le code

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 service8 existants (non-exhaustif) est mis à jour et publié par DNS-SD.org9. 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 Gizmo5 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)modifier | modifier le code

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 échanges de médias entre l'hôte et le Media Center sont facilités par l'utilisation de SSDP.

Service Location Protocol (SLP)modifier | modifier le code

Service Location Protocol (SLP) est le seul protocole pour la recherche de services 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 NATmodifier | modifier le code

NAT Port Mapping Protocol (NAT-PMP)modifier | modifier le code

Le protocole NAT Port Mapping Protocol (NAT-PMP), proposé comme projet de RFC10 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)modifier | modifier le code

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 majeuresmodifier | modifier le code

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

Apple Bonjourmodifier | modifier le code

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.

Avahimodifier | modifier le code

Avahi est une bibliothèque logicielle fournissant une implémentation libre des protocoles IPv4LL, mDNS et DNS-SD. Elle est utilisée par de nombreuses distributions GNU/Linux et *BSD.

L'implémentation d'Avahi est totalement compatible avec celle de Bonjour. Avahi fournit des bibliothèques de compatibilité pour les applications utilisant Bonjour ou l'ancienne implémentation libre Howl de mDNS. Avahi fournit également des interfaces pour différents langages de programmation (Python, Mono, etc.) et offre une interface D-Bus.

Windows CE 5.0modifier | modifier le code

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

Implémentations de IPV4LL/APIPAmodifier | modifier le code

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

Référencesmodifier | modifier le code

Voir aussimodifier | modifier le code

Technologies similaires ou associéesmodifier | modifier le code

Liens externesmodifier | modifier le code








Creative Commons License