Multicast DNS (mDNS) ist ein Service, der in kleineren Netzwerken bei der Namensauflösung helfen soll. Dabei geht mDNS einen anderen Weg als das bekannte DNS: Statt bei einem Nameserver anzufragen, werden alle Teilnehmer im Netzwerk direkt angesprochen. Der entsprechende Client sendet einen Multicast in das Netzwerk und fragt dabei, zu welchem Netzteilnehmer der Hostname passt. Ein Multicast ist eine spezielle Kommunikationsform, bei der eine einzelne Nachricht an eine Gruppe von Empfängern gerichtet ist. Die Gruppe kann beispielsweise aus dem kompletten Netzwerk bzw. Subnetwork bestehen.
So geht die Anfrage auch an den Gruppenteilnehmer, der den gesuchten Hostnamen besitzt. Dieser antwortet dem kompletten Netzwerk – ebenfalls per Multicast. So sind alle Teilnehmer über die Verbindung von Name und IP-Adresse informiert und können einen entsprechenden Eintrag in ihrem mDNS-Cache vornehmen. Solange dieser Vermerk gültig ist, braucht also niemand im Netzwerk nach diesem Hostnamen nachfragen.
Das Multicast DNS verursacht relativ viel Verkehr, versucht allerdings aktiv Netzwerkressourcen zu sparen: Hierfür sendet der anfragende Client die nach seiner Meinung (also dem aktuellen Cacheeintrag entsprechend) richtige Antwort mit. Nur wenn diese nicht mehr stimmt, oder der Eintrag kurz vor dem Ablauf steht, muss der Empfänger antworten. Auch die anderen Netzteilnehmer werden so bereits vor einer Antwort informiert. Der Verkehr innerhalb des Netzwerkes lässt sich mit dieser Methode also verringern.
Generell kommen beim Multicast DNS nur Hostnames mit der Endung .local in Frage. Das limitiert diese Form der Namensauflösung auf lokale Netzwerke. Hostnamen mit anderen Top-Level-Domains (TLD) – wie etwa .de oder .com – werden vom mDNS nicht verarbeitet. Webadressen lassen sich so also nicht auflösen.