Как связаны обнаружение службы DNS, многоадресный DNS и Bonjour?

11

Я немного потерян в терминологии. Я хотел начать использовать 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.

Итак, я немного запутался в данный момент. Кто-нибудь, пожалуйста, может немного прояснить ситуацию?

Роман
источник

Ответы:

8

Я только что ответил на ваш предыдущий вопрос здесь .

Я думаю, что ответ охватывает вопросы, которые вы задали здесь, но на всякий случай:

Bonjour состоит из 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.

Spiff
источник