Post on 17-Jan-2016
description
Johan BLEUZEN / 211
ZeroConf et l’implémentation
“Bonjour”
Exposé IR3
Johan BLEUZEN / 212
SommaireI. ZeroConf et Apple “Bonjour”
1. ZeroConf2. Principes de bases3. Apple “Bonjour”4. Utilisations de “Bonjour”
II. Les services de “Bonjour”1. IPv4 Lien-Local2. multicastDNSI. DNS Service Discovery
1. Pour aller plus loin...1. Autres services ZeroConf2. Autres implémentations3. Conclusion
I. Références
Johan BLEUZEN / 213
ZeroConf et Apple “Bonjour”
Johan BLEUZEN / 21 4
ZeroConf
• ZeroConf était un groupe de travail de l’IETF
• Objectifs :✴ Fournir un réseau sans configuration✴ Ne pas nécessiter d’intervention humaine✴ Ne pas interférer avec les réseaux existants.
• Le groupe de travail a été clos en 2004
Johan BLEUZEN / 21 5
Principes de bases
• Pour monter un réseau normal :✴ DHCP : Obtenir une adresse IP✴ DNS : Résoudre les noms des machines✴ Interventions manuelles
• Principes de ZeroConf :✴ Affectation automatique d’adresse IP✴ Résolution des noms de domaines✴ Découverte de services
Johan BLEUZEN / 21 6
• Ancêtres de Bonjour :✴ En 1980, les premiers macintosh dispose d’un
outils simple de communication pour monter un réseau
✴ Avec l’arrivée d’Ethernet, Apple améliore cet outils pour les réseaux Ethernet.
• Pour Mac OS 10.2, Apple développe sa propre implémentation de ZeroConf => “Bonjour”
Apple “Bonjour”
Johan BLEUZEN / 21 7
• Compatible avec Ethernet et le Wifi
• Une pièce angulaire de Mac OS X
• Très facile de monter un réseau fiable avec “Bonjour”
• Multi-plateforme (Windows, Linux)
Utilisations de “Bonjour”
Johan BLEUZEN / 218
Les services de “Bonjour”
Johan BLEUZEN / 21 9
IPv4 Lien-Local (1)
• Service d’attribution des adresse IP.
• Ce n’est pas un service récent
• Compatible avec IPv4 et IPv6✴ format @IP en IPv4 : 169.254.***.***
• Les conflits d’adresses sont détectés tout le temps
Johan BLEUZEN / 21 10
• Fonctionnement :
Envoi d’une requête ARPwho-has 169.254.2.1 en broadcast
Envoi d’une requête ARPwho-has 169.254.1.1 en broadcast
Attribution automatique de l’ adresse169.254.1.1
Attribution automatique de l’ adresse169.254.2.1
IPv4 Lien-Local (2)
Changement de l’adresse attribuée
Utilisation de l’adresse 169.254.2.1
@ Libre
@ Utilisée
QuickTime™ et undécompresseur GIFsont requis pour visionner cette image.
Configuration OK
Johan BLEUZEN / 21 11
multicastDNS (1)• Service de résolution de noms
• Implémentation des travaux d’Apple
• Permet de résoudre les noms du domaine “local.”
• Utilise un cache DNS spécial
• Ne fonctionne que sur le réseau local
• Améliore le fonctionnalités de DNS (optimisations)
• Détection et résolution des conflits
Johan BLEUZEN / 21 12
• Fonctionnement :
Traitement normal
multicastDNS (2)
NomadeIP:
169.254.1.1
La machine Nomade veut faire un ping sur la machine Fixe
ping Fixe.local
mDNS fait une requête DNS sur le domaine local s’il ne connaît pas le nom et remplace par l’adresse
IP en cacheping 169.254.1.2
FixeIP:
169.254.1.2
QuickTime™ et undécompresseur GIFsont requis pour visionner cette image.
Johan BLEUZEN / 21 13
• Service de découverte de services
• Implémentation des travaux d’Apple
• Liste des services accessibles est géré par DNS-SD.org
• Très pratique pour les développeurs
• Il utilise mDNS pour transiter les données sur le réseau
DNS Service Discovery (1)
Johan BLEUZEN / 21 14
• Stockage de la liste des services✴ Même fonctionnement que les DNS mais
adapté
INSTANCE
SERVICE
DNS Service Discovery (2)
_INSTANCE._SERVICE._DOMAIN. (Exemple : _ftp._tcp.)
DOMAIN
RACINE
Johan BLEUZEN / 21 15
• Fonctionnement :
DNS Service Discovery (3)
Mise à jour des services accessibles par tous les hôtes
Nomade FixeLa machine Fixe enregistrele service HTTP auprès de DNS-SD
La machine Nomade indique à l’utilisateur que le service est
accessible
QuickTime™ et undécompresseur GIFsont requis pour visionner cette image.
Johan BLEUZEN / 2116
Pour aller plus loin...
Johan BLEUZEN / 21 17
Autre services ZeroConf• Résolutions de noms :
✴ LLMNR est un draft soutenue par Microsoft• Résoud tous les domaines• Utilise peu le multicast• Très proche du DNS classique
• Découverte de service✴ SLP est une norme de l’IETF
• Très peu utilisé• Utilise le style de requête LDAP• Complexe à mettre en place
✴ SSDP est un draft proposé par UPNP Forum• Utilisé sur Windows pour les
périphériques UPNP
Johan BLEUZEN / 21 18
Implémentation connues
• “Avahi” est l’implémentation utilisée pour les systèmes Linux et BSDs qui remplace “Howl”
• “Howl” était une implémentation linux de mDNS
• “Windows CE 5” implémente la version de microsoft du service de résolution de noms LLMNR
Johan BLEUZEN / 21 19
• Inconvénients :✴ Pollution du réseau exponentielle✴ La sécurité n’est pas une priorité
☹
• Point positifs :✴ Ca marche tout de suite et facilement✴ Plus besoin de faire de configuration✴ Compatible avec toutes sortes d’appareil✴ Multi-plateformes✴ Plus facile de retenir des noms que des IPs
☺
Conclusion
• L’avenir :✴ Compatible avec les nouveaux protocoles
(IPv6)
☞
Johan BLEUZEN / 21 20
Ressources• Site officiel du groupe Zero Configuration
Network :✴ http://www.zeroconf.org/
• Apple Developper Connection :✴ http://developer.apple.com/networking/bonjour
/index.html✴ http://developer.apple.com/documentation/Dar
win/Reference/ManPages/man1/dns-sd.1.html
• Wikipédia :✴ http://en.wikipedia.org/wiki/ZeroConf✴ http://en.wikipedia.org/wiki/Bonjour_%28softw
are%29
• La documentation Ubuntu :✴ http://doc.ubuntu-fr.org/zeroconf?s=avahi
Johan BLEUZEN / 2121
Questions...