Ce RFC aura connu un parcours exceptionnellement long et
difficile. Il normalise un protocole permettant à deux machines du
même réseau local de se trouver par leur nom,
sans nécessiter de serveur.
Ce problème est connu sous le nom de « bureau du dentiste ». Il
concerne les réseaux « non gérés », c'est-à-dire où il n'y a pas
d'informaticien pour administrer un serveur, distribuer des adresses,
etc. Ce problème était bien résolu par le protocole NBP d'AppleTalk mais pas encore par les protocoles de
la famille TCP/IP. Pour allouer les adresses,
nous avions le (qui a un auteur en
commun avec notre RFC) en IPv4 et
l'autoconfiguration des
adresses link-local (Stateless Address
Autoconfiguration, ) qui fait partie
d'IPv6 depuis le début. Mais pour les noms ?
La seule solution normalisée, le DNS
nécessite un ensemble de serveurs de noms, administrés par des
professionnels. Cela ne convient pas au petit réseau local
du particulier, de l'association ou de la PME. C'est ce
créneau qu'occupe LLMNR.
LLMNR fonctionne donc par diffusion (restreinte au réseau local)
des requêtes. Une machine qui veut contacter
copain.example.org va donc envoyer à tout le
réseau local (à 224.0.0.252, en IPv4) une requête LLMNR. Celle-ci utilise le même format de
paquet que le
DNS mais un protocole très différent. En effet,
il n'y a pas de serveur dédié : chaque « requêrant » LLMNR est en même
temps « répondant ». Lorsqu'une machine qui a été configurée pour le
nom copain.example.org se reconnait, elle répond
à la requête.
LLMNR a connu une histoire longue et
compliquée (rappelons que le protocole NBP d'Apple faisait la même chose que LLMNR il y a
quinze ans). L'Internet-Draft a connu pas moins
de 47 versions, un record absolu à
l'IETF. Parmi
les raisons de ce retard, les divergences avec le projet mDNS
d'Apple, part de leur
technologie Bonjour (finalement normalisé dans le ). Le
débat, puisque Apple avait déjà déployé Bonjour, a porté sur un
problème de fond : l'IETF doit-elle simplement
mettre un coup de tampon sur les protocoles élaborés dans des cercles
fermés, au nom du déploiement effectif ? Ou bien doit-elle avoir un
réel travail technique, au risque que la norme ouverte ne soit pas
intéropérable avec ce qu'a développé l'entreprise privée ?
C'est cette polémique, parfois virulente, qui a fini par coûter sa
place sur le chemin des normes à LLMNR. Et qui l'a relégué au rang de
« Pour information ».
Nous avons donc désormais deux protocoles différents (pas la même
adresse multicast, pas le même nommage, mDNS
utilisant le TLD
.local, etc).