Warum verwendet mDNS (Bonjour, Avahi usw.) UDP?

7

Es scheint mir, dass viele der Probleme mit DNS, insbesondere Sicherheitsprobleme, die Ursache dafür haben, dass DNS über UDP implementiert wird; zum Beispiel muss der Responder nicht derjenige sein, von dem er sagt, dass er ist.

Ich kenne die Details des mDNS-Protokolls nicht (von denen ich annehme, dass es viel neuer ist als DNS), vielleicht kümmert es sich um diese Probleme in seiner Anwendungsebene. Kann mir das jemand etwas näher bringen?

    
Chad 30.09.2009, 17:18
quelle

2 Antworten

15

Das "m" in mDNS steht für "Multicast". Eine mDNS-Abfrage ist eine normale DNS-Abfrage Multicast (alias Broadcast) an das lokale Subnetz. Jeder Host im Subnetz empfängt alle mDNS-Abfragepakete und antwortet auf die für seinen Hostnamen. Da es nicht möglich ist, eine TCP-Übertragung durchzuführen, konnten Sie mDNS nicht über TCP implementieren.

Es gibt jedoch einen grundlegenderen Punkt, mDNS ist bereits völlig unsicher. Wie Sie darauf hinweisen, kann jeder auf jede Anfrage antworten, so dass Sie ziemlich genau allen Hosts im Netzwerk vertrauen müssen. Das Wechseln zu TCP (wenn Sie könnten) würde dieses Problem nicht beheben.

    
joegester 27.09.2011, 14:49
quelle
5

Zeroconf geht es nicht um Sicherheit; Sicherheit sollte in der darüber liegenden Schicht implementiert werden.

TCP würde sich nicht viel ändern. Diese Probleme müssen kryptografisch gelöst werden.

    
hatfinch 02.10.2009 15:24
quelle

Tags und Links