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!— регулярний вираз, який використовується для перетворення імені..— кінець запису.