= DNS-SD (Service Discovery) über mDNS (Multicast DNS) an Schulen = DNS-SD nutzt mDNS, um Dienste in lokalen Netzwerken zu entdecken und zu bewerben. Es ermöglicht die automatische Entdeckung von Netzwerkdiensten ohne Konfiguration von Serveradressen oder Ports. DNS-SD über mDNS wird teilweise (vor allem historisch-bedingt) manchmal auch als Zeroconf oder Apple Bonjour bezeichnet. == mDNS (Multicast DNS) Eckdaten == * Multicast Address IPv6: `ff02::fb` * Multicast Address IPv4: `224.0.0.251` * Port: `5353` * https://en.wikipedia.org/wiki/Multicast_DNS mDNS ist ein Multicast-Protokoll. Das bedeutet, dass alle mDNS-Pakete eine TTL von 1 haben, was bedeutet, dass sie '''nicht geroutet werden können'''. Wenn die mDNS bzw. DNS-SD-Dienste auch in anderen Netzwerken verfügbar sein sollen, dann muss ein mDNS-Reflexionsdienst eingerichtet werden. == DNS-SD (DNS Service Discovery) == DNS-SD (''DNS Service Discovery'') nutzt normales DNS oder mDNS, um Dienste in einem lokalen Netzwerk zu entdecken und zu bewerben. Die Standard-Top-Level-Domain (TLD) ist '''.local'''. == Gängige DNS-SD-Dienste, die in Schulen verwendet werden == === Drucker === * ''_ipp._tcp'': IPP-Drucker * ''_ipps._tcp'': IPPS-Drucker * ''_printer._tcp'': Allgemeine Drucker, die nicht speziell auf das Internet Printing Protocol ausgerichtet sind. * ''_print._sub._ipp._tcp'': "_sub" gibt an, dass die Drucker in einer Subdomain organisiert sind. * ''_print._sub._ipps._tcp'': "_sub" gibt an, dass die Drucker in einer Subdomain organisiert sind. * https://ftp.pwg.org/pub/pwg/candidates/cs-ippeve11-20200515-5100.14.pdf === AirPlay (Apple Medien- und Bildschirmübertragung) === Nützliche Web-Ressourcen für AirPlay: * https://support.apple.com/de-de/guide/deployment/depf138dd79c/web * https://openairplay.github.io/airplay-spec/service_discovery.html * https://github.com/openairplay Dienste, welche von einem ''Apple TV'' beworben werden: * ''_airplay._tcp'' * + tcp Port '''7000''' öffnen * + tcp/udp Ports '''49152''' bis '''65535''' öffnen für Geräte, auf die gestreamt werden darf. * ''_raop._tcp'' === Googlecast (Android Medien- und Bildschirmübertragung) === * ''_googlecast._tcp'' * + tcp/udp Port '''8009''' öffnen == mDNS-Reflexionsdienst == * Typische FLOSS-Reflexionsdienstprogramme sind z. B. avahi-daemon und mdns-reflector. * Warum Reflexionsdienste? Ein typisches Beispiel wäre die ''gemeinsame Nutzung von Druckern und Smartboards in verschiedenen (Wlan-)Netzwerken''. * Beispiel: Lehrer dürfen Drucker finden und benutzen und Schüler nicht. * Beispiel: Lehrer + Schüler dürfen Bildschirmübertragung an ein Smartboard im Education-Netzwerk machen. * Dafür kann dann ein mDNS-Reflexionsdienst eingerichtet werden, um mDNS-Anfragen und -Antworten zwischen Netzwerke zu '''übertragen, regulieren und zu filtern'''. Dadurch wird es ermöglicht, dass Geräte in verschiedenen Netzwerken miteinander kommunizieren und Dienste wie gemeinsam genutzte Drucker für z. B. Lehrer zugänglich zu machen. * Der mDNS-Reflexionsdienst muss nicht unbedingt auf einem Router ausgeführt werden. Der Server, auf dem der Dienst läuft, benötigt jedoch eine Netzwerkschnittstelle für jedes Netzwerk, für das mDNS-Pakete reflektiert werden sollen. (Daher ist der Router naheliegend.)