ZeroConf et l’implémentation “Bonjour”

Post on 17-Jan-2016

53 views 0 download

description

ZeroConf et l’implémentation “Bonjour”. Exposé IR3. Sommaire. ZeroConf et Apple “Bonjour” ZeroConf Principes de bases Apple “Bonjour” Utilisations de “Bonjour” Les services de “Bonjour” IPv4 Lien-Local multicastDNS DNS Service Discovery Pour aller plus loin... - PowerPoint PPT Presentation

Transcript of ZeroConf et l’implémentation “Bonjour”

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...