Ist es möglich, mehrere mDNS-Responder (für DNS-SD) auf demselben Host auszuführen?

588
Bergi

Ich versuche, ein P2P-Protokoll zu entwerfen, bei dem sich mehrere Benutzeranwendungen in einem Heimnetzwerk gegenseitig erkennen können. Ich habe mir verschiedene Diensterkennungsprotokolle angesehen, insbesondere DNS-SD mit mDNS. Es scheint gut zu funktionieren, wenn ein Client mehrere Geräte erkennt und auch ein Gerät, das mehrere verschiedene Dienste anbietet, die als solche konfiguriert wurden.

Nach meinem Verständnis gibt es jedoch höchstens einen Client (der Anfragen sendet und die Ergebnisse zwischenspeichert) pro Host und höchstens einen Responder (der die Anfragen beantwortet) pro Host. Wenn also mehrere Anwendungen auf demselben Computer laufen, müssten sie den Client / den Responder gemeinsam nutzen. Dies scheint sehr umständlich zu sein, insbesondere unter Windows, das einen solchen Dienst nicht nativ bietet. Ist diese Interpretation korrekt?

Oder wäre es möglich, dass jede Anwendung unabhängig von den anderen Anwendungen ohne Konflikte ihren eigenen Client und Resolver ausführt?

Wenn die Antwort nein ist, welche Alternativen gibt es?

1
Nein, sie würden alle um Port 5353 / UDP konkurrieren. Windows 10 bietet native mDNS-Unterstützung. Bei veralteten Windows-Versionen könnte Ihr Installationsprogramm mDNSResponder installieren. Spiff vor 6 Jahren 0
@Spiff Danke, das habe ich mir gedacht (und ich glaube, mDNS kommt mit [mehreren Listenern am selben Port] nicht zurecht (https://stackoverflow.com/a/14388707)). Ist das nur ein Problem für Responder oder auch für Kunden? Bergi vor 6 Jahren 0
mDNS ist ein Peer-to-Peer-Protokoll, kein Client-Server. Es wird erwartet, dass der Besitzer von Port 5353 Anfragen stellt und beantwortet. Ich bin mir ziemlich sicher, dass es keinen Sinn machen würde, mDNS nur zu fragen oder nur zu beantworten. Sie möchten, dass ein einzelner Dämon auf jedem System das Gateway für Abfragen und Ankündigungen ist, sodass er Antworten zwischenspeichern kann, damit das Protokoll nicht zu gesprächig wird. Spiff vor 6 Jahren 0
@Spiff Oh, richtig. Ich hatte erwartet, dass es einen Daemon für Abfragen und einen für Anzeigen geben würde, von denen Sie nur die benötigten benötigen würden. Ein einzelner Dämon ist auch sinnvoll. Bergi vor 6 Jahren 0
@Spiff In Bezug auf mDNSResponder kann ich nur [dieses undokumentierte Apple-Projekt] (https://opensource.apple.com/source/mDNSResponder/mDNSResponder-878.1.1/mDNSWindows/) und [diese alte Readme] (https: //) finden. github.com/jevinskie/mDNSResponder) scheint zu vermuten, dass damit mehrere monolithische Anwendungen für Windows und nicht ein einzelner gemeinsam genutzter Dienst erstellt werden kann. Können Sie bitte detailliert beschreiben, wie Sie dies in einer Antwort verwenden können? Oder meinten Sie "Nein, das ist nicht möglich, * auch wenn * Sie mDNSResponder installieren"? Bergi vor 6 Jahren 0

0 Antworten auf die Frage