СРВ-запись
Запись службы ( запись SRV ) — это спецификация данных в системе доменных имен, определяющая местоположение, т. е. имя хоста и номер порта, серверов для определенных служб. Он определен в RFC 2782 , а его код типа — 33. Некоторые интернет-протоколы, такие как протокол инициации сеанса (SIP) и расширяемый протокол обмена сообщениями и присутствия (XMPP), часто требуют поддержки SRV со стороны сетевых элементов.
Формат записи
[ редактировать ]Запись SRV имеет вид:
_service._proto.name. ttl IN SRV priority weight port target.
- сервис : символическое имя желаемого сервиса.
- proto : транспортный протокол желаемой службы; обычно это TCP или UDP .
- name : имя домена, для которого действительна эта запись, оканчивающееся точкой.
- ttl : стандартное поле времени жизни DNS .
- IN : стандартное поле класса DNS (всегда IN ).
- SRV : Тип записи (всегда SRV ).
- Priority : приоритет целевого хоста, более низкое значение означает более предпочтительный.
- вес : относительный вес для записей с одинаковым приоритетом. Более высокое значение означает более высокую вероятность выбора.
- порт : порт TCP или UDP, на котором должна быть найдена служба.
- target : каноническое имя хоста машины, предоставляющей услугу, оканчивающееся точкой.
Пример записи SRV в текстовой форме, которую можно найти в файле зоны, может быть следующим:
_sip._tcp.example.com. 86400 IN SRV 0 5 5060 sipserver.example.com.
Это указывает на сервер с именем sipserver.example.com
прослушивание TCP-порта 5060 для служб протокола Session Initiation Protocol (SIP). Приоритет, заданный здесь, равен 0, а вес равен 5.
Как и в записях MX , цель в записях SRV должна указывать на имя хоста с записью адреса ( запись A или AAAA ). Указание имени хоста с помощью записи CNAME не является допустимой конфигурацией. [1]
Обеспечение высокой доступности услуг
[ редактировать ]Поле приоритета определяет приоритет использования данных записи. Клиенты должны сначала использовать записи SRV с наименьшим значением приоритета и возвращаться к записям с более высоким значением в случае сбоя соединения. Если служба имеет несколько записей SRV с одинаковым значением приоритета, клиенты должны балансировать их нагрузку пропорционально значениям их весовых полей. В следующем примере поля приоритета и веса используются для обеспечения комбинации службы балансировки нагрузки и резервного копирования.
; _service._proto.name. TTL class SRV priority weight port target.
_sip._tcp.example.com. 86400 IN SRV 10 60 5060 bigbox.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 20 5060 smallbox1.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 20 5060 smallbox2.example.com.
_sip._tcp.example.com. 86400 IN SRV 20 0 5060 backupbox.example.com.
Первые три записи имеют общий приоритет 10, поэтому значение поля веса будет использоваться клиентами для определения того, к какому серверу (комбинация хоста и порта) обращаться. Сумма всех трех весовых значений равна 100, поэтому bigbox.example.com
будет использоваться 60% времени. Два хозяина, smallbox1
и smallbox2
будет использоваться для 40% общего количества запросов, причем половина из них будет отправлена на smallbox1
, а другая половина smallbox2
. Если bigbox
недоступен, эти две оставшиеся машины будут распределять нагрузку поровну, поскольку каждая из них будет выбрана в 50% случаев.
Если все три сервера с приоритетом 10 недоступны, будет выбрана запись со следующим наименьшим значением приоритета, то есть backupbox.example.com
. Это может быть машина, находящаяся в другом физическом месте, предположительно неуязвимая ни для чего, что могло бы привести к недоступности первых трех хостов.
Балансировка нагрузки, обеспечиваемая записями SRV, по своей сути ограничена, поскольку информация по существу статична. Текущая загрузка серверов не учитывается, если значения TTL не являются достаточно низкими (около минуты или меньше), чтобы значения приоритета (или веса) можно было быстро обновить.
Использование
[ редактировать ]Записи SRV обычно используются в сочетании со следующими стандартизированными протоколами связи : [ нужны разъяснения ]
- АПТ [2]
- CalDAV и CardDAV [3]
- Цеф [4]
- ДЕЙН
- Обнаружение службы DNS (DNS-SD)
- Факторио [5] [6] [7]
- Протокол идентификации хоста
- Керберос [8]
- ЛДАП [9]
- SMTP Отправка , POP и IMAP [10]
- Matrix.org [11]
- Шахтерское ремесло [12]
- МонгоБД [13]
- Мамбл [14]
- ИМПС [15]
- Кукольный [16]
- Протокол инициации сеанса
- Оглушение
- Тимспик 3 [17] [18]
- XMPP [19]
В Microsoft Windows 2000 клиенты запрашивают записи SRV, чтобы определить контроллер домена для данной службы. Записи SRV также используются почтой Outlook 2007, 2010 и Macintosh 10.6 для обнаружения службы автообнаружения Exchange. [20] В сетях Microsoft Windows контроллеры домена регистрируют свои типы сетевых служб для Active Directory в DNS.
Более старая версия Интернет-проекта каталога веб-ключей OpenPGP использует записи SRV для обнаружения ключей OpenPGP через веб-серверы. [21] Использование записей SRV больше не является частью Интернет-проекта в более поздних версиях. [22]
Реестр имен служб для записей и протоколов SRV поддерживается Управлением по присвоению номеров Интернета (IANA), как определено в RFC 6335. [23]
См. также
[ редактировать ]- Список типов записей DNS
- Запись MX — тип DNS RR, используемый для обнаружения SMTP-сервера.
Ссылки
[ редактировать ]- ^ Гулбрандсен, А.; Викси, П.; Есибов, Л. (февраль 2000 г.). «Формат СРВ РР». DNS RR для указания местоположения служб (DNS SRV) . дои : 10.17487/RFC2782 . РФК 2782 . Проверено 3 декабря 2021 г.
Для этого имени ДОЛЖНА быть одна или несколько адресных записей, имя НЕ ДОЛЖНО быть псевдонимом (в смысле RFC 1034 или RFC 2181).
- ^ «Поддержка записей DNS SRV в apt» . Дебиан . 4 мая 2018 г. Архивировано из оригинала 17 ноября 2019 г. . Проверено 17 ноября 2019 г.
- ^ «RFC6764: Поиск служб для расширений календаря для WebDAV (CalDAV) и расширений vCard для WebDAV (CardDAV)» .
- ^ «Поиск мониторов через DNS – Документация Ceph» . Документация Ceph . Архивировано из оригинала 5 декабря 2017 года . Проверено 4 декабря 2017 г.
- ^ «Версия 1.1.62 — Форумы Factorio» . Форум Факторио . Архивировано из оригинала 16 сентября 2022 года . Проверено 16 сентября 2022 г.
- ^ «Версия 1.1.67 — Форумы Factorio» . Форум Факторио . Архивировано из оригинала 20 августа 2022 года . Проверено 16 сентября 2022 г.
- ^ «Добавить поддержку записи SRV - Страница 4 - Форумы Factorio» . Форум Факторио . Архивировано из оригинала 16 сентября 2022 года . Проверено 16 сентября 2022 г.
- ^ «Имена хостов для главных и подчиненных KDC» . Массачусетский технологический институт . Архивировано из оригинала 21 октября 2012 года . Проверено 23 мая 2012 г.
- ^ Зейленга, К. (апрель 2001 г.). OpenLDAP Root Service — экспериментальная справочная служба LDAP . IETF . дои : 10.17487/RFC3088 . РФК 3088 . Архивировано из оригинала 16 января 2020 года . Проверено 5 июля 2020 г.
- ^ Дабу, К. (март 2011 г.). Использование записей SRV для поиска служб отправки электронной почты/доступа . IETF . дои : 10.17487/RFC6186 . РФК 6186 . Архивировано из оригинала 17 апреля 2013 года . Проверено 17 апреля 2013 г.
- ^ «API Федерации» . Матрица.org . Архивировано из оригинала 5 июля 2020 года . Проверено 5 января 2018 г.
- ^ «Java-версия 1.3.1» . Майнкрафт вики . Проверено 24 сентября 2023 г.
- ^ «Формат URI строки подключения MongoDB» . МонгоБД . Архивировано из оригинала 10 декабря 2022 года . Проверено 14 декабря 2022 г.
- ^ «Добавить поддержку записей DNS SRV — mumble-voip/mumble» . Гитхаб . Архивировано из оригинала 5 июля 2020 года . Проверено 5 июля 2020 г.
- ^ «Бараза - Руководство пользователя» . Архивировано из оригинала 22 августа 2008 года.
- ^ «Документация Puppet: масштабирование Puppet с помощью мастеров компиляции, использование записей DNS SRV» . Кукольные лаборатории . Архивировано из оригинала 11 октября 2019 года . Проверено 17 декабря 2019 г.
- ^ «[Предложение] TS DNS» . Тимспик форум . Архивировано из оригинала 14 ноября 2016 года . Проверено 25 октября 2013 г.
- ^ «Выпущена версия клиента TeamSpeak 3 3.0.8» . Тимспик форум . Архивировано из оригинала 27 сентября 2016 года . Проверено 5 июля 2020 г.
- ^ «XEP-0156: Обнаружение альтернативных методов подключения XMPP» . XMPP.org . Архивировано из оригинала 7 мая 2012 года . Проверено 23 мая 2012 г.
- ^ «Доступна новая функция, которая позволяет Outlook 2007 использовать записи местоположения службы DNS (SRV) для обнаружения службы автообнаружения Exchange» . Поддержка Майкрософт . 13 мая 2010 года. Архивировано из оригинала 20 апреля 2012 года . Проверено 23 мая 2012 г.
- ^ Кох, Вернер. «Каталог веб-ключей OpenPGP Draft-koch-openpgp-webkey-service-06» . Трекер данных IETF . Рабочая группа по интернет-инжинирингу . Проверено 5 июня 2021 г.
- ^ Кох, Вернер. «Каталог веб-ключей OpenPGP Draft-koch-openpgp-webkey-service-12» . Трекер данных IETF . Рабочая группа по интернет-инжинирингу . Проверено 5 июня 2021 г.
- ^ Коттон, М.; Эггерт, Л.; Тач, Дж.; Вестерлунд, М.; Чешир, С. (август 2011 г.). Процедуры Управления по присвоению номеров Интернета (IANA) для управления реестром названий служб и номеров портов транспортных протоколов . IETF . дои : 10.17487/RFC6335 . РФК 6335 . Архивировано из оригинала 6 июля 2020 года . Проверено 6 июля 2020 г.
Внешние ссылки
[ редактировать ]- RFC 2782 - Определение записи ресурса SRV . Архивировано 6 июля 2020 г. на Wayback Machine.
- RFC 6186 - Использование записей SRV для поиска служб отправки электронной почты и доступа к ним - Архивировано 6 июля 2020 г. на Wayback Machine.
- Использование записей DNS SRV для поиска whois-серверов (Интернет-черновик) - Архивировано 6 июля 2020 г. на Wayback Machine.
- Использование записей SRV в сочетании с HTTP и URI (Интернет-черновик) — архивировано 6 июля 2020 г. на Wayback Machine.
- Реестр имен служб и номеров портов транспортных протоколов — архивировано 6 июля 2020 г. на Wayback Machine.