Wie geht Service Discovery in einem Layer-3 Netz? ====== DNS-SD ====== DNS-SD ist ein Standart zu Service Discovery über DNS. Grob: Die Clients machen bestimmte DNS-Abfragen, basierend auf der DHCP-Option Search-Domain und finden darüber besondere DNS-Einträge, die Services repräsentieren. Vorteile: * bereits implementiert (iOS/macOS, Linux: avahi) * kein Platzverbrauch auf Router Nachteile: * Zentral * (halb-)Statisch ====== mDNS ====== mDNS, auch Zeroconf oder Bounjour, ist DNS-SD über Multicast. Vorteile: * fast null Softwareaufwand, da Clientbasiert Nachteile: * Multicast ist im Mesh schlecht abbildbar, wird zu Broadcast ====== Hybridansatz: ====== Lokal in der Broadcastdomäne (Lokales Netz des nodes): Discovery per mDNS. Caching auf dem Node durch Hybridproxy. Netzweites verfügbarmachen per DNS-Delegation zum Hybridproxy auf dem einzelnen Node. Implementation [[https://github.com/sbyx/ohybridproxy| ohybridproxy]]. [[https://datatracker.ietf.org/doc/draft-ietf-dnssd-hybrid/| Standartisierungsstand]]. Alternativ könnte man auch analog zum DDHCPD den Standart auf Basis von Babel messages/einer dezentralen DB implementieren. ===== Todo ===== * [[https://github.com/openwrt-routing/packages/tree/master/ohybridproxy| Ohybridproxypackage]] Dependency auf mdnsd (mDNSResponder) duch umdns ersetzen * umDNS erweitern * ohybridproxy an umDNS anpassen * Roaming * DNS ist hierachisch, wenn der Client roamt, verändert sich sein Hostname und die Services zeigen ins leere.