Un concurrent peu présent : le LLMNR

LLMNR, qui signifie Link-Local Multicast Name Resolution, est un protocole de résolution de noms. Tout comme mDNS, LLMNR, développé par Microsoft, s'est basé sur le travail du protocole Multicast Domain Name Service.

Le principe de fonctionnement de ce protocole différe très peu de mDNS. En effet, LLMNR s'appuie aussi sur le format standardisé des paquets DNS définis dans la RFC 1035. De plus, la similarité ne s'arrête pas là.

Le port utilisé pour envoyer les requêtes DNS est le port UDP 5355 (pour rappel, mDNS utilise le port UDP 5353) et permet ainsi à un serveur DNS la possibilité d'implémenter en supplément le protocole LLMNR.

L'adresse de multicast est elle aussi très ressemblante puisqu'il a été choisi de communiquer sur l'adresse 224.0.0.252 ou son équivalent IPv6 FF02::1:3 (mDNS : 224.0.0.251 ou FF02::FB).

La différence majeure entre les deux protocoles se situe au niveau de la gestion des noms de domaine. Là où mDNS n'autorise que des noms de domaine sur l'espace ".local.", LLMNR laisse la possiblité de choisir n'importe lequel. Ce qui, pour certains membres de l'IETF représente un grave problème de sécurité.

Dernier point de comparaison, le protocole LLMNR n'est pas compatible avec le protocole DNS-SD. Or, celui-ci est un élément essentiel du projet Zeroconf et l'incompatibilité avec DNS-SD a donc rendu LLMNR obsolète.

Pour finir, le protocole LLMNR n'a donc pas réussi à s'imposer comme standard de la résolution de noms sur un domaine local. Il dispose néanmoins d'une RFC informel : RFC 4795.







© Alexandre Cusin-Panit et Nicolas Duthilleul