Kurz gesagt, es handelt sich um eine sehr chaotische Mischung aus verschiedenen Namensauflösungsprotokollen, die von verschiedenen Betriebssystemen, Produkten, Apps, Services und APIs verwendet werden.
IETF ZeroConf definiert das mDNS-Protokoll (Multicast-DNS) sowie das DNS-SD-Protokoll (DNS Service Discovery). Bonjour (geb. Rendezvous, alias mDNSResponder) und Avahi sind zwei Implementierungen von ZeroConf. Ich habe gehört, dass es auch eine Implementierung der OpenWrt-Community gibt, die sich einfach "mDNS" nennt. Seit der Einführung von Apple haben sich Apple-Produkte darauf konzentriert, obwohl Macs auch NetBIOS Name Service und WINS für die Namensauflösung verwenden können, insbesondere wenn der SMB-Client von macOS für die Verbindung mit SMB-Dateiservern (Windows Server, Linux SaMBa-Server) verwendet wird.
Die proprietären Namensdienstprotokolle von Microsoft beginnen mit dem NetBIOS-Namensdienst, der auf lokalen LAN-Übertragungen (nicht routbar) basiert. Ich sage "proprietär von Microsoft", aber technisch stammt es von IBM als Teil der SMB-Protokolle (Server Message Block). Als der SMB-Dateidienst zu einem De-facto-Industriestandard wurde, mussten viele Betriebssysteme den NetBIOS-Namensdienst zumindest in ihren SMB-Clients und -Servern einsetzen. Später entwickelte Microsoft WINS, um eine serverbasierte Unicast-Lösung für diese Art von Microsoft-proprietärer Namensauflösung bereitzustellen. Als Apple mDNS unter dem Namen "Rendezvous" (später umbenannt in Bonjour) erstellte und es zur IETF brachte, um schließlich IETF ZeroConf zu werden, beschloss Microsoft verwirrend, ein etwas anderes, inkompatibles mDNS-ähnliches Denken zu machen, das sie als "
Linux, einschließlich Google Android, scheint sich jetzt für ZeroConf für die LAN-basierte serverlose Namensauflösung zu interessieren. Google portierte den POSIX-kompatiblen Open-Source-Dämon "mDNSResponder" von Apple für Linux zur Verwendung in Android. Dies ist, was die "Network Service Discovery" (NSD) APIs von Android implementiert.
Wie macOS verwendet Linux den NetBIOS-Namensdienst und WINS, um Verbindungen zu SMB-Servern herzustellen.
Es ist ein riesiges Durcheinander, und welche Protokolle für eine bestimmte Sache verwendet werden, hängt davon ab, auf welchem Betriebssystem Sie sich befinden, welche APIs Ihre Software aufruft und viele andere Dinge.