DNS-SD verwendet Multicast DNS (MDNS), die durch das Senden DNS-Pakete über UDP an eine bestimmte Multicast-Adresse funktioniert. Alle mdns-fähigen Hosts im Netzwerk hören ebenfalls diese Adresse. Es verwendet UDP also, es ist ziemlich wenig Overhead. Außerdem sind die Clients so konzipiert, dass die Anzahl der Gespräche im Netzwerk auf ein Minimum reduziert wird, indem extensives Caching verwendet wird.
Service Discovery ist ein zweistufiger Prozess. Der erste Schritt besteht darin, die Namen aller Hosts zu finden, die einen bestimmten Dienst bereitstellen (z. B. Drucken). Dies gibt Ihnen noch nicht die IP-Adresse, sondern gibt Ihnen den mdns-Namen (endend mit .local
). Dies liegt daran, dass die IP möglicherweise geändert werden kann, während der Name nicht ändert.
Der zweite Schritt bei der Serviceerkennung besteht darin, den .local
Namen des Hosts über mdns aufzulösen. Sie fragen über Multicast wer foo.local
ist, foo.local
wird dieses Paket sehen und per Broadcast mit seiner IP-Adresse, Portnummer und anderen Informationen antworten.
Bitte helfen Sie mit dieser Abfrage http://stackoverflow.com/questions/40662608/service-discovery-using-dns-sd – Daemon