Multicast DNS (mDNS) est un service conçu pour aider à la résolution de noms dans les petits réseaux. Toutefois, le mDNS utilise une méthode différente de celle du DNS traditionnel : au lieu de solliciter un serveur de noms, tous les participants au réseau sont directement adressés. Le client correspondant envoie un multicast dans le réseau et demande à quel participant du réseau le nom d’hôte correspond. Le multicast est une forme de communication spécifique dans laquelle un seul message est adressé à un groupe de destinataires. Le groupe peut par exemple être constitué de l’ensemble du réseau ou d’un sous-réseau.
De cette façon, la requête est également envoyée au membre du groupe qui possède le nom d’hôte recherché. Il répond alors à l’ensemble du réseau également via le Multicast. De cette façon, tous les participants sont informés de la connexion entre le nom et l’adresse IP et peuvent effectuer une entrée correspondante dans leur cache mDNS. Ainsi, tant que cette entrée est valable, personne dans le réseau n’a besoin de demander ce nom d’hôte.
Le Multicast DNS génère un trafic relativement important, mais il permet d’économiser activement les ressources du réseau : pour ce faire, le client demandeur envoie la réponse correcte en fonction de son état (c’est-à-dire en fonction de l’entrée actuelle du cache). Le destinataire ne doit répondre que si cela n’est plus correct, ou si cette entrée est sur le point d’expirer. Les autres participants au réseau sont également informés de cette manière avant l’envoi d’une réponse. Cette méthode permet donc de réduire le trafic sur le réseau.
En général, seuls les noms d’hôtes avec la terminaison .local peuvent être utilisés avec le Multicast DNS. Cela limite cette forme de résolution de noms aux réseaux locaux. Les noms d’hôtes avec d’autres domaines de premier niveau (TLD), tels que .fr ou .com ne sont pas traités par le mDNS. Les adresses Web ne peuvent pas être résolues de cette manière.