Как связаны обнаружение службы DNS, многоадресный DNS и Bonjour?
Я немного потерян в терминологии. Я хотел начать использовать Bonjour. В качестве первого шага я попытался найти простой способ его использования. И я подумал, что я, вероятно, могу позвонить в Bonjour из командной строки, чтобы зарегистрироваться и обнаружить сервисы.
Когда я спросил других людей, как это сделать, мне сказали о mDNS (который работает для Mac и Linux, но не для Windows). Люди также сказали мне, что я могу использовать "dns-sd" (который работает в Windows). Мне сказали, что "dns-sd" это просто псевдоним для mDNS.
Но! Позже я узнал, что DNS Service Discovery и DNS Multicast - это две разные вещи (которые совместимы и работают особенно хорошо, когда используются вместе, но не требуют друг друга).
Более того, мне кажется, что mDNS и DNS-SD являются двумя из трех основных компонентов Bonjour. Это правильно? Могу ли я использовать их без Bonjour? На моем Windows 7 я установил Bonjour и смог запустить "dns-sd" в командной строке. Но я не могу запустить mDNS.
Итак, я немного запутался в данный момент. Кто-нибудь, пожалуйста, может немного прояснить ситуацию?
1 ответ
Я только что ответил на ваш предыдущий вопрос здесь.
Я думаю, что ответ охватывает вопросы, которые вы задали здесь, но на всякий случай:
Бонжур состоит из 3 частей:
1. Локальная адресация IPv4 (и IPv6) (169.254.0.0/16 адресов в IPv4).
2. Разрешение многоадресного имени (через протокол mDNS). Это позволяет хостам в одноранговой или изолированной локальной сети автоматически сопоставлять имена хостов с IP-адресами друг для друга путем многоадресной рассылки DNS-запросов и ответов между собой без необходимости использования традиционного одноадресного DNS-сервера.
3. Обнаружение службы DNS, которая позволяет обнаруживать имена и подробности служб определенного типа. В локальной сети обнаружение службы DNS обычно также выполняется с помощью mDNS, но с помощью "Области широкого доступа" вы фактически можете выполнить обнаружение службы DNS для всего домена через одноадресный DNS-сервер.
Инструмент dns-sd позволяет вам выполнять все запросы / поиски, необходимые для частей 2 и 3, примеры которых я привел в своем ответе на другой ваш вопрос.
Я думаю, что часть вашего замешательства связана с тем, что существуют инструменты командной строки с такими же именами, что и у протоколов. mDNS - это имя протокола службы доменных имен многоадресной рассылки, но это также старое имя обычного инструмента командной строки для отправки запросов протокола mDNS и получения ответов. "dns-sd" - это текущее имя наиболее распространенного инструмента командной строки для обнаружения служб DNS, а также для поиска разрешения имен в многоадресной рассылке. Оба эти инструмента командной строки обычно вызывают API-интерфейсы, которые обрабатываются фоновым процессом / сервисом / демоном mDNSResponder.