RFC: 3403
Оригинал: Dynamic Delegation Discovery System - Part Three: The Domain Name System (DNS) Database
Предыдущие версии: RFC 2168, RFC 2915
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

RFC 3403, Страница 3 из 10

4. Формат NAPTR RR

4.1. Формат пакета

Формат пакетов NAPTR RR показан на рисунке. Код типа DNS для NAPTR имеет значение 35.

                                1  1  1  1  1  1
  0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     ORDER                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   PREFERENCE                  |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                     FLAGS                     /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                   SERVICES                    /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                    REGEXP                     /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                  REPLACEMENT                  /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Определения <character-string> (строка символов) и <domainname> (доменное имя) приведены в RFC 1035 [7].

  • ORDER
  • 16-битовое целое число без знака, задающее порядок, в котором должны обрабатываться записи NAPTR для точного представления упорядоченного списка Правил. Упорядочивание идет от меньших значений к большим. Если две записи имеют одинаковое значение порядка, считается, что они являются одним правилом и выбор следует делать на основе комбинации значений Preference и Services
  • PREFERENCE
  • Хотя это поле и носит название «предпочтение» в соответствии с принятой в DNS терминологией, в Алгоритме DDDS оно является эквивалентом значения Priority. Это 16-битовое целое число без знака, которое задает порядок, в котором следует обрабатывать записи NAPTR с одинаковыми значениями поля Order (младшие номера обрабатываются раньше старших). Это похоже на поле Preference в записи MX и используется так, чтобы администратор домена мог направить клиентов на более подходящие хосты или менее отягощенные протоколы. Клиент может обращаться к записям с более высокими значениями поля Preference, если у клиента есть достаточные основания для этого (например, отсутствие поддержки некоторых протоколов или служб).

    Важное различие между полями Order и Preference заключается в том, что после того, как найдено соответствие, для клиента недопустимо обращаться к записям с другими значениями поля Order, но можно обрабатывать записи с одинаковыми значениями Order и различными значениями Preferences. Единственное исключение из этого правила указано в Примечании к спецификации алгоритма DDDS по части разрешения клиенту использовать более сложное определение сервиса между п. 3 и п. 4 в алгоритме. Значение Preference используется для обозначения более высокого качества сервиса в правилах, которые рассматриваются как одинаковые с точки зрения передачи полномочий, но не с точки зрения распределения нагрузки.

    Важно отметить, что DNS поддерживает несколько механизмов распределения нагрузки и если распределение нагрузки требуется как сервис, для распределения нагрузки следует использовать такие средства, как записи SRV или множественные записи типа A.

  • FLAGS
  • Строка символов (<character-string>), содержащая флаги для контроля деталей перезаписи и интерпретации полей записи. Флаги представляют собой одиночные буквы от A до Z или цифры от 0 до 9. регистр букв во внимание не принимается. Поле флагов может быть пустым.

    Приложение само задает, как оно использует эту Базу данных для определения флагов в этом поле. Приложение должно определить, какие из флагов трактуются как завершающие.

  • SERVICES
  • Строка символов (<character-string>), задающая Параметры сервиса (Service Parameters), применимые к данному пути передачи полномочий. Значения этого поля определяются спецификацией Приложения.
  • REGEXP
  • Строка символов (<character-string>), содержащая выражение для замены, которое применяется к исходной строке, сохраняемой клиентом для конструирования следующего искомого доменного имени. Синтаксис этого поля описан в спецификации Алгоритма DDDS.

    Как указано в алгоритме DDDS, регулярные выражения недопустимо использовать в кумулятивной манере — они должны применяться исключительно к исходной строке, сохраняемой клиентом, а не к доменным именам, созданным предыдущей перезаписью NAPTR. Второй вариант представляется заманчивым для некоторых приложений, но опыт показывает что такой вариант подвержен отказам, склонен к возникновению ошибок и очень сложен в отладке.

  • REPLACEMENT
  • Строка <domain-name>, которая является следующим доменным именем для запроса в зависимости от возможных значений поля флагов. Это поле используется в тех случаях, когда регулярное выражение представляет собой простую операцию замены. Любое значение в этом поле должно быть полным доменным именем. Сокращение имен для этого поля не применяется.

    Это поле вместе с полем REGEXP создают Выражение для замены в Алгоритме DDDS. Существование этого поля обусловлено историческими причинами, связанными с возможностью сокращения имен в DNS. Упомянутые поля являются взаимоисключающими. Если возвращена запись, имеющая значения для обоих полей, это рассматривается как ошибка и следует игнорировать результат или возвращать сообщение об ошибке.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.