Das Domain Name System (DNS) kann man sich wie ein sehr großes Te­le­fon­buch vor­stel­len: Über den Dienst können Nutzer Web­adres­sen in ihren Browser eingeben, woraufhin das System die korrekte IP-Adresse dazu ermittelt. Diese Na­mens­auf­lö­sung funk­tio­niert, indem der eigene Rechner bei einem ent­spre­chen­den DNS-Server anfragt. Dort ist eine Liste hin­ter­legt, in der jedem Hostnamen (also der Web­adres­se) die korrekte IP-Adresse zu­ge­ord­net ist. Multicast DNS geht al­ler­dings einen anderen Weg. Wie funk­tio­niert diese Al­ter­na­ti­ve zum klas­si­schen DNS?

Wie funk­tio­niert Multicast DNS?

Multicast DNS (mDNS) ist ein Service, der in kleineren Netz­wer­ken bei der Na­mens­auf­lö­sung helfen soll. Dabei geht mDNS einen anderen Weg als das bekannte DNS: Statt bei einem Name­ser­ver an­zu­fra­gen, werden alle Teil­neh­mer im Netzwerk direkt an­ge­spro­chen. Der ent­spre­chen­de Client sendet einen Multicast in das Netzwerk und fragt dabei, zu welchem Netz­teil­neh­mer der Hostname passt. Ein Multicast ist eine spezielle Kom­mu­ni­ka­ti­ons­form, bei der eine einzelne Nachricht an eine Gruppe von Emp­fän­gern gerichtet ist. Die Gruppe kann bei­spiels­wei­se aus dem kom­plet­ten Netzwerk bzw. Sub­net­work bestehen.

So geht die Anfrage auch an den Grup­pen­teil­neh­mer, der den gesuchten Hostnamen besitzt. Dieser antwortet dem kom­plet­ten Netzwerk – ebenfalls per Multicast. So sind alle Teil­neh­mer über die Ver­bin­dung von Name und IP-Adresse in­for­miert und können einen ent­spre­chen­den Eintrag in ihrem mDNS-Cache vornehmen. Solange dieser Vermerk gültig ist, braucht also niemand im Netzwerk nach diesem Hostnamen nach­fra­gen.

Das Multicast DNS ver­ur­sacht relativ viel Verkehr, versucht al­ler­dings aktiv Netz­werk­res­sour­cen zu sparen: Hierfür sendet der an­fra­gen­de Client die nach seiner Meinung (also dem aktuellen Cache­ein­trag ent­spre­chend) 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 Netz­teil­neh­mer werden so bereits vor einer Antwort in­for­miert. Der Verkehr innerhalb des Netz­wer­kes lässt sich mit dieser Methode also ver­rin­gern.

Generell kommen beim Multicast DNS nur Hostnames mit der Endung .local in Frage. Das limitiert diese Form der Na­mens­auf­lö­sung auf lokale Netzwerke. Hostnamen mit anderen Top-Level-Domains (TLD) – wie etwa .de oder .com – werden vom mDNS nicht ver­ar­bei­tet. Web­adres­sen lassen sich so also nicht auflösen.

Hinweis

Multicast DNS wurde Anfang der 2010er-Jahre ent­wi­ckelt und ist in "Of­fi­zi­el­les RFC für Multicast DNS" be­schrie­ben.

mDNS wurde im Kontext von Zeroconf (Zero Con­fi­gu­ra­ti­on Net­wor­king) ent­wi­ckelt. Die Idee hinter Zero Con­fi­gu­ra­ti­on Net­wor­king sieht vor, dass Computer ohne vor­he­ri­gen Ein­stel­lungs­auf­wand durch Menschen mit­ein­an­der kom­mu­ni­zie­ren können. Multicast DNS ent­spricht diesen Auflagen: Das Multicast-Verfahren ist Teil von TCP/IP und kann daher auch ohne ent­spre­chen­de Kon­fi­gu­ra­tio­nen funk­tio­nie­ren.

Vorteile von mDNS

Multicast DNS ist für kleine Netzwerke kon­zi­piert und soll dort die Be­nut­zer­freund­lich­keit steigern. Die Idee ist, dass Nutzer Geräte im hei­mi­schen LAN ohne Probleme mit­ein­an­der verbinden können. Da sich alle Geräte gemeinsam über ihre IP-Adressen aus­tau­schen, muss kein Server oder Ver­zeich­nis ein­ge­rich­tet werden. So lassen sich sehr dynamisch und schnell weitere Geräte ein­brin­gen.

Eine populäre Im­ple­men­tie­rung von mDNS ist Apples Bonjour. Der Dienst ist vor allem dafür gedacht, Netz­werk­dru­cker leicht mit dem PC bzw. Mac zu verbinden. Da sich die Geräte un­ter­ein­an­der über ihre IP-Adressen in­for­mie­ren, muss der Nutzer die Ver­bin­dung nicht selbst­stän­dig kon­fi­gu­rie­ren. Neben dem Dienst von Apple ist in­zwi­schen auch die Open-Source-Software Avahi als mDNS-Service ein­setz­bar. Auch hiermit ist es möglich, ver­schie­de­ne Geräte mit­ein­an­der zu ver­knüp­fen, ohne vorher Kon­fi­gu­ra­ti­ons­ar­beit leisten zu müssen. Seit Windows 10 ist mDNS auch im Be­triebs­sys­tem von Microsoft verfügbar.

Nachteile und Gefahren von Multicast DNS

Die leichte Hand­ha­bung geht al­ler­dings mit einigen Nach­tei­len einher. Ein Problem liegt im Multicast-Verfahren an sich. Zwar versucht das Protokoll den Network Traffic gering zu halten, dafür müssen die be­tei­lig­ten Rechner aber auch ständig das Netzwerk über­wa­chen und die ein­ge­hen­den Nach­rich­ten ver­ar­bei­ten. Das kostet Re­chen­leis­tung.

Des Weiteren ist die Vergabe der Hostnamen pro­ble­ma­tisch: Prin­zi­pi­ell kann man für jedes Gerät einen Namen frei wählen, vor­aus­ge­setzt, dieser endet auf .local. Das kann (zumindest theo­re­tisch) dazu führen, dass zwei Netz­teil­neh­mer mit dem gleichen Hostnamen vertreten sind. Die Ent­wick­ler von mDNS haben für ein solches Szenario bewusst keine Lösung im­ple­men­tiert. Zum einen gehen sie davon aus, dass der Fall selten eintreten dürfte, zum anderen kann die doppelte Benennung auch gewollt sein.

Ein anderes Problem stellt aber sogar eine Ge­fah­ren­quel­le da. In manchen Fällen ist das mDNS offen. Das bedeutet, dass es auch auf Anfragen von außerhalb (über das Internet) reagiert. Cy­ber­kri­mi­nel­le können solche offenen Dienste finden und für DDoS-Attacken verwenden. Die Geräte des Netzwerks werden dann dafür miss­braucht, einen Ziel­ser­ver mit Anfragen zu bom­bar­die­ren. Außerdem lassen sich sensible Daten über ein offenes Multicast DNS her­aus­fin­den. Angreifer können auf diese Weise bei­spiels­wei­se die MAC-Adressen von ver­bun­de­nen Geräten auslesen und diese In­for­ma­tio­nen dann für weitere Attacken verwenden.

Zum Hauptmenü