Что такое mDNS? Действительно ли возможно сделать запрос mDNS без mdns сервисного выполнения?

Недавно я столкнулся avahi-daemon и mdns....

Мне нужен mDNS клиент в моей системе для соединения с mDNS сервером?

Или есть ли какой-либо другой способ подключить компьютер без mDNS клиента к mDNS серверу (hostname.local)?

Действительно ли возможно проверить с помощью ping-запросов от компьютера без mDNS сервисного выполнения.

4
задан 31 December 2018 в 22:14

1 ответ

1. Что такое mDNS?

Для получения общей картины необходимо посмотреть на что-то названное Zeroconf. Понятия Zeroconf были реализованы сначала и полностью Apple, но Apple использует маркетинговое имя Добрый день (первоначально Рандеву) для нее. mDNS (многоадресно передает DNS) является частью этого - посмотрите ниже.

Apple использует Добрый день для...

  • ... AirPrint (когда iOS мобильные клиенты ищут доступный принтер в LAN, которую они могут использовать для "беспилотной печати"), или для

  • ... Принтер CUPS совместно использует, чтобы быть опубликованным в LAN, или для

  • ... музыкальная библиотека iTunes, совместно использующая на LAN, и для

  • ... многие другие сервисы, которые должны работать без центрального сервера DNS, который будет установлен, настроили и поддержали.

В соответствии с Linux, эти те же понятия были реализованы проектом Avahi.

Bonjour/Zeroconf имеет 3 главных цели:

  1. Выделите IP-адреса без сервера DHCP.
  2. Переведите между именами хостов и IP-адресами без сервера DNS.
  3. Узнайте сервисы (как поставщики печати) без сервера каталогов как LDAP и помогите использовать их.

Полные технические понятия Zeroconf указаны в серии RFCs, главным образом:

  • IPv4LL / rfc3927 для присвоения Локальных для ссылки IP-адресов без сервера DHCP.
  • mDNS / rfc6762 для многоадресной передачи DNS для разрешения имен хостов без центрального сервера DNS.
  • DNS-SD / rfc6763 для основанного на DNS Сервисного Исследования без центрального сервера каталогов.

Одним из основных архитекторов Zeroconf был Stuart Cheshire. После записи его мыслей о то, как реализовать исходный Протокол Привязки Имени AppleTalk простоты использования Apple по TCP/IP, объединяющему Stuart в сеть, было нанято Apple, чтобы помочь реализовать понятие Zeroconf для устройств Mac. Он затем также был основным автором вышеупомянутых связанных документов RFC.

Apple Добрый день реализация также доступна для Windows и Linux (хотя на Linux существует также независимая реализация под названием Avahi) как Открытый исходный код в соответствии с лицензией Apache v2.0.

IANA выполняет сервис имена и реестр портов, где разработчики, которые хотят определить и разработать новые сервисные типы для их систем, могут зарезервировать и зарегистрировать имена их.

2. Действительно ли возможно сделать запрос mDNS без mdns сервисного выполнения?

Да, это.

Просто выполненный

avahi-browse -a

для получения непрерывно обновляемого списка сервисных объявлений от всех узлов на LAN и сервисах, они предлагают. Более подробный вывод перечислен

avahi-browse -v -a -t

-t здесь также завершает команду автоматически (и не делает автоматического обновления список) после того, как это, как может предполагаться, имеет все обнаруженные в настоящее время активные службы.

Можно просмотреть для IPP-поддерживающего (интернет-Протокол Печати) принтеры как это:

avahi-browse  _ipp._tcp  -r -t

-r "разрешит" найденные сервисы и покажет человекочитаемое имя их. _ipp._tcp (странное) кодирование имени для сервисов, необходимо привыкнуть к тому, если Вы изучаете эту тему более подробно. В этом случае это - точный синтаксис, который будет использоваться для сервисов IPP в LAN. Вывод в качестве примера для вышеупомянутой команды:

+  wlan1 IPv4 Officejet 6500 [F051B9]                       Internet Printer     local
=  wlan1 IPv4 Officejet 6500 [F051B9]                       Internet Printer     local
   hostname = [HPA0B3CCF051B9.local]
   address = [192.168.78.24]
   port = [631]
   txt = ["Scan=T" "Duplex=F" "Color=T" "UUID=1c852a4d-b800-1f08-abcd-a0b3ccf051b9" "note=" "adminurl=http://HPA0B3CCF051B9.local." "mac=a0:b3:cc:f0:51:b9" "priority=30" "usb_MDL=Officejet 6600" "usb_MFG=HP" "product=(HP Officejet 6600)" "ty=Officejet 6600" "URF=CP1,MT1-2-8-9-10-11,OB9,OFU0,PQ3-4-5,RS300-600,SRGB24,W8,DEVW8,DEVRGB24-48,ADOBERGB24-48,IS1" "rp=ipp/printer" "pdl=application/vnd.hp-PCL,image/jpeg,application/PCLm,image/urf" "qtotal=1" "txtvers=1"]

Можно также просмотреть для сервисов в другом домене, который выставляет их Интернету. Один домен в качестве примера был Вами, может успешно выполниться с этим (большую часть времени) dns-sd.org:

  avahi-browse --domain=dns-sd.org -a -v -r

Я скопировал часть этого ответа от Добрый день информация о теге в AskDifferent. Однако большая часть этой статьи информации о теге была написана мной так или иначе, таким образом, я не делаю вообще плохо себя чувствуют об этом....

6
ответ дан 1 December 2019 в 09:20

Другие вопросы по тегам:

Похожие вопросы: