3.1.5.11. NAPTR
NAPTR (Naming Authority Pointer Record) — это специальная DNS-запись, которая содержит информацию о том, как установить соединение с определённым доменом или ресурсом.
Особенностью записи NAPTR является то, что она позволяет указать несколько альтернативных способов обработки запроса на соединение с доменом. Это может быть полезно, например, когда несколько услуг предоставляют один и тот же домен, но с разными протоколами или условиями доступа. Запись NAPTR обычно используется в комбинации с ресурсными записями A, AAAA и SRV.
Принцип работы
Запись NAPTR содержит несколько полей с информацией о том, как осуществлять преобразование имени. Она используется в голосовой и видеосвязи, например, для определения, какой сервер обработки вызовов следует использовать для конкретного номера телефона или SIP-адреса.
Работа NAPTR основывается на процессе поиска наиболее подходящей записи NAPTR для заданного имени. Когда запрос приходит к DNS-серверу, сервер начинает искать записи NAPTR, которые соответствуют указанному имени и сопоставляются с заданными правилами преобразования. Записи NAPTR пронумерованы по порядку и отсортированы по приоритету и весу, чтобы определить наиболее подходящую запись. Затем сервер проводит соответствующие преобразования, указанные в найденных записях NAPTR, чтобы преобразовать имя (например, URL) в необходимую форму. Если первая запись NAPTR не даёт желаемого результата, сервер продолжает проверку в порядке приоритета, пока не найдёт подходящую запись или не достигнет конца списка.
Каждая запись NAPTR содержит следующую информацию:
- Порядок (order) — приоритет обработки записи, меньшее значение означает более высокий приоритет.
- Вес (preference) — позволяет уточнить порядок обработки записи с одинаковым приоритетом, меньшее значение означает более высокий приоритет.
- Флаги (flags) — определяют, каким образом будет обработан запрос, например, указывают на использование шаблонов.
- Схема (service) — протокол или условия доступа (например, SIP или E2U+sip).
- Запись обработчика (regexp) — информация о том, как именно обработать запрос к домену или ресурсу, указывается в виде регулярного выражения.
Пример записи
100 10 "u" "E2U+sip" "!^.*$!sip:user@example.com!" .
100— приоритет.10— вес.u— флаг, указывающий на то, как будут использоваться следующие поля (в данном случае, они будут интерпретироваться как URN).E2U+sip— шаблон преобразования, указывает на тип данных и порядок выполнения (в данном случае, преобразование E.164 в SIP URI).!^.*$!sip:user@example.com!— регулярное выражение, которое используется для преобразования имени..— конец записи.