Короче говоря, это очень запутанная смесь различных наборов протоколов разрешения имен, используемых различными ОС, продуктами, приложениями, сервисами и API.
IETF ZeroConf определяет протокол mDNS (многоадресная DNS), а также протокол DNS-SD (обнаружение службы DNS). Bonjour (урожденная встреча, он же mDNSResponder) и Avahi - две реализации ZeroConf. Я слышал, что есть также реализация сообщества OpenWrt, которая просто называет себя "mDNS". С тех пор, как Apple создала это, продукты Apple фокусируются на этом, хотя Mac могут также использовать NetBIOS Name Service и WINS для разрешения имен, особенно при использовании SMB-клиента macOS для подключения к файловым серверам SMB (Windows Server, Linux SaMBa-сервера).
Собственные протоколы службы имен Microsoft начинаются с NetBIOS Name Service, основанной на локальных (не маршрутизируемых) широковещательных рассылках. Я говорю «проприетарный Microsoft», но технически он возник с IBM как часть протоколов Server Message Block (SMB). Поскольку файловая служба SMB стала фактическим отраслевым стандартом, многим операционным системам пришлось по меньшей мере использовать службу имен NetBIOS в своих клиентах и серверах SMB. Позже Microsoft создала WINS для предоставления одноадресного решения на основе сервера для такого же разрешения имен, принадлежащих Microsoft. Когда Apple создала mDNS под названием «Rendezvous» (позже переименованная в Bonjour) и взяла его в IETF, чтобы в итоге стать IETF ZeroConf, Microsoft с недоумением решила сделать свое собственное немного другое, несовместимое mDNS-подобное мышление, которое они называли «
Linux, в том числе Google Android, похоже, в настоящее время тяготеет к ZeroConf для безлимитного разрешения имен на основе локальной сети. Google перенес Apple-совместимый POSIX-совместимый демон mDNSResponder с открытым исходным кодом на Linux для использования в Android; это то, что реализует API Android «Network Service Discovery» (NSD).
Как и macOS, Linux использует NetBIOS Name Service и WINS для подключения к SMB-серверам.
Это большой беспорядок, и какой протокол (-ы) используется для конкретной вещи, зависит от того, на какой ОС вы работаете, какие API-интерфейсы вызывает ваше программное обеспечение и многое другое.