SRV возвращает цель и порт конкретного имени. DNS-SD добавляет этап перечисления экземпляров и их свойства; наличие SRV не означает наличие полного просмотра служб.
Поиск экземпляров служб — DNS-SD
Определение
DNS-SD — это соглашение о поиске служб обычными записями DNS: PTR перечисляет имена экземпляров, SRV даёт цель и порт экземпляра, а TXT — его дополнительные свойства. Найденный экземпляр — лишь опубликованный кандидат: доступность проверяют отдельно.
Также ищут: DNS-SD · обнаружение сервисов через DNS · DNS-Based Service Discovery
Зачем это знать
Название найденного экземпляра удобно пользователю, но ещё не является адресом готового соединения. Нужно пройти записи поиска и затем проверить реальное поведение выбранной службы.
Карта понятия
Что подтверждено
DNS-SD использует PTR для перечисления имён экземпляров, SRV — для цели и порта, TXT — для дополнительных свойств экземпляра.
Граница применимости: Поиск служб через DNS по RFC 6763.
В приёмке предлагаем считать найденный через DNS-SD экземпляр опубликованным кандидатом для подключения. Текущую доступность и полезную операцию проверяют отдельно: чтение записей DNS само по себе этих действий не выполняет.
Граница применимости: Редакторский вывод из модели публикации и обнаружения RFC 6763 и модели данных DNS RFC 1034; стандарты не объявляются источником измерения текущей доступности конкретной службы.
DNS-SD может использоваться как с обычным одноадресным DNS, так и с многоадресным DNS. Само название DNS-SD не требует, чтобы любой такой поиск выполнялся через локальную многоадресную рассылку.
Граница применимости: Варианты применения DNS-SD по RFC 6763; правила отдельного протокола многоадресного DNS здесь не пересказываются.
Ответ PTR на запрос перечисления указывает имена экземпляров. Для соединения затем получают SRV выбранного экземпляра и адреса его цели; PTR сам по себе не содержит всю эту цепочку.
Граница применимости: Последовательность поиска и разрешения экземпляра по RFC 6763.
Человекочитаемая метка экземпляра и имя его целевого узла выполняют разные роли. Отображаемое пользователю имя службы не следует автоматически подставлять как имя узла для соединения.
Граница применимости: Имена экземпляров, типов служб и целей DNS-SD по RFC 6763; интерфейс конкретного клиента может показывать их по-разному.
TXT передаёт дополнительные свойства экземпляра по соглашению соответствующей службы. Произвольная пара ключа и значения не становится универсальной командой настройки или разрешением доступа.
Граница применимости: Свойства экземпляров в DNS-SD по RFC 6763; смысл ключей определяет профиль службы, а не один факт наличия TXT.
При снятии экземпляра с публикации предлагаем проверить PTR, SRV, TXT и ещё действующие кэши. Удаление одной строки не доказывает, что клиент уже перестал видеть все данные прежнего экземпляра.
Граница применимости: Редакторская процедура из нескольких наборов DNS-SD и правил RRset; она не описывает автоматическое закрытие уже установленных соединений.
Не путать
DNS-SD перечисляет именованные экземпляры через PTR, SRV и TXT. SVCB описывает привязку известной службы к возможным конечным точкам и параметрам; это другой договор поиска.
Что проверить
- Уточните тип службы и домен, в котором клиент выполняет поиск.
- Определите, используется обычный или многоадресный DNS.
- Разберите PTR как список имён экземпляров.
- Для выбранного экземпляра получите SRV, TXT и адреса цели.
- Сверьте смысл TXT с профилем именно этой службы.
- При снятии публикации проверьте связанные наборы и их кэширование.
- После обнаружения проверьте соединение, подлинность и полезную операцию.
Первоисточники
- A DNS RR for Specifying the Location of Services
Определяет SRV target, port, priority и relative weight для service location.
Утверждения: 01
- Domain Names — Concepts and Facilities
Определяет иерархию DNS, zones, authoritative data, referrals и resolver algorithm.
Утверждения: 02
- Clarifications to the DNS Specification
Уточняет RRset, TTL, authoritative ranking и canonical-name semantics.
Утверждения: 07
- Service Binding and Parameter Specification via the DNS
Определяет SVCB и HTTPS records, alternative endpoints и extensible service parameters.