stringtranslate.com

Многоадресный DNS

В компьютерных сетях протокол многоадресной DNS ( mDNS ) преобразует имена хостов в IP-адреса в небольших сетях, которые не включают локальный сервер имен . Это служба с нулевой конфигурацией , использующая по существу те же программные интерфейсы, форматы пакетов и операционную семантику, что и одноадресная система доменных имен (DNS). Он был разработан для работы либо как автономный протокол, либо для совместимости со стандартными DNS-серверами. [1] Он использует пакеты протокола многоадресной передачи пользовательских датаграмм IP (UDP) и реализуется с помощью Apple Bonjour и пакетов программного обеспечения Avahi с открытым исходным кодом , включенных в большинство дистрибутивов Linux. Хотя реализация Windows 10 ограничивалась обнаружением сетевых принтеров, в последующих выпусках также разрешались имена хостов. [2] mDNS может работать в сочетании с обнаружением служб DNS (DNS-SD), сопутствующим сетевым методом с нулевой конфигурацией , указанным отдельно в RFC  6763. [3]

История

Многоадресная DNS была впервые предложена Биллом Вудкоком и Биллом Мэннингом в IETF в 2000 году и в конечном итоге была опубликована как стандарт RFC  6762 Стюартом Чеширом и Марком Крохмалем тринадцать лет спустя. [1] [4]

Обзор протокола

Когда клиенту mDNS необходимо разрешить имя хоста, он отправляет сообщение запроса многоадресной IP-адресации , которое просит хост, имеющий это имя, идентифицировать себя. Затем эта целевая машина рассылает многоадресное сообщение, включающее ее IP-адрес. Все машины в этой подсети смогут затем использовать эту информацию для обновления своих кешей mDNS. Любой хост может отказаться от своих претензий на имя, отправив ответный пакет со временем жизни (TTL), равным нулю.

По умолчанию mDNS разрешает исключительно имена хостов, оканчивающиеся на .localдомен верхнего уровня. Это может вызвать проблемы, если .localв него входят хосты, которые не поддерживают mDNS, но которые можно найти через обычный DNS-сервер одноадресной рассылки. Разрешение таких конфликтов требует изменений конфигурации сети, которых mDNS был разработан, чтобы избежать.

Структура пакета

Сообщение mDNS — это многоадресный UDP-пакет, отправленный с использованием следующей адресации:

Структура полезной нагрузки основана на формате одноадресного DNS-пакета , состоящего из двух частей — заголовка и данных. [5]

Заголовок идентичен заголовку одноадресного DNS, как и подразделы части данных: запросы, ответы, авторитетные серверы имен и дополнительные записи. Количество записей в каждом подразделе соответствует значению соответствующего поля *COUNT в заголовке.

Запросы

Формат проводной передачи записей в разделе запроса немного изменен по сравнению с форматом одноадресной DNS, добавлено однобитовое поле UNICAST-RESPONSE. [1]

Как и в одноадресном DNS, поле QNAME состоит из серии подполей длины/значения, называемых «метками». Каждая метка представляет собой одну из подстрок, разделенных точками, в полном доменном имени (FQDN). Список завершается либо одним нулевым байтом, представляющим «корень» DNS, либо байтом с двумя установленными старшими битами (значение 192), обозначающими косвенный указатель на другое место в сообщении. В RFC 6762 это называется сжатием имен.

Поле UNICAST-RESPONSE используется для минимизации ненужных широковещательных рассылок в сети: если бит установлен, ответчики ДОЛЖНЫ отправлять направленный одноадресный ответ непосредственно запрашивающему узлу, а не транслировать ответ по всей сети.

Поле QCLASS идентично полю в одноадресной DNS.

Ресурсные записи

Все записи в разделах ответов, авторитетных серверов имен и дополнительных записей имеют одинаковый формат и называются записями ресурсов (RR).

Записи ресурсов в mDNS также имеют немного измененный общий формат по сравнению с одноадресным DNS:

Бит CACHE-FLUSH используется для указания соседним узлам, что запись должна перезаписывать, а не добавляться к любым существующим кэшированным записям для этих RRNAME и RRTYPE.

Форматы полей RDATA такие же, как и в одноадресной DNS. Однако обнаружение служб DNS (DNS-SD), наиболее распространенный вариант использования mDNS, предусматривает небольшие изменения в некоторых их форматах (особенно в записях TXT).

Смотрите также

Рекомендации

  1. ^ abc Многоадресный DNS. Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC6762 . РФК 6762.
  2. ^ mDNS и DNS-SD медленно проникают в Windows 10, блог Ctrl, 21 октября 2015 г. , получено 30 августа 2017 г.
  3. ^ Обнаружение службы DNS. IETF . дои : 10.17487/RFC6763 . РФК 6763.
  4. ^ Мэннинг, Билл; Вудкок, Билл (август 2000 г.), «Служба многоадресных доменных имен», Ietf Datatracker , IETF
  5. ^ П. Мокапетрис (ноябрь 1987 г.). ДОМЕННЫЕ ИМЕНА – РЕАЛИЗАЦИЯ И СПЕЦИФИКАЦИЯ. Сетевая рабочая группа, IETF . дои : 10.17487/RFC1035 . РФК 1035..

Внешние ссылки