Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 3:

Система доменных имен

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >

DNS-сообщения

DNS имеет два типа сообщения: запрос и отклик. Оба типа имеют один и тот же формат. Сообщение запроса содержит заголовок, запись запроса, ответную запись, запись полномочий и дополнительные записи (рис. 3.1).

Сообщение запроса и записи

Рис. 3.1. Сообщение запроса и записи

Заголовок

Оба сообщения, запрос и отклик, имеют один и тот же формат заголовка с несколькими полями с установленными нулями для сообщений отклика. Заголовок 12 байт и его формат показан в (табл. 3.2).

Таблица 3.2. Формат заголовка
Идентификатор Флаг
Номер записи запроса Номер записи ответа (Все нули в сообщении отклика)
Номер записи полномочий (Все нули в сообщении отклика) Номер записи ответа (Все нули в сообщении отклика)

Поля заголовков – следующие:

  • Идентификация. Это 16-битовое поле применяется клиентом для того, чтобы сравнить отклик с запросом. Клиент использует различный номер идентификации каждый раз, когда он посылает запрос. Сервер дублирует этот номер в соответствующем отклике.
  • Флаги. Это 16-битовое поле, содержащее субполя, показано на (рис. 3.2).
Поле флагов

Рис. 3.2. Поле флагов

Короткое описание субполей каждого флага дано ниже.

  1. QR (query/response) — запрос/ответ. Это однобитовое субполе, которое определяет тип сообщения. Если оно равно 0, сообщение является запросом. Если оно равно 1, то сообщение — ответ.
  2. OpCode (код операции). Это 4-битовое субполе, которое определяет тип запроса или ответа (0 — тип стандартный, 1 — тип инверсный и 2 — сервер запрашивает состояние).
  3. AA (authoritative answer — авторитетный ответ). Это однобитовое поле. Когда оно установлено (значение 1), это означает, что имя сервера является полномочным сервером. Используется только в ответном сообщении.
  4. TC (truncated — усеченное). Это однобитовое поле. Когда оно установлено (значение 1), это означает, что ответ был более чем 512 байт и усечен до 512. Применяется, когда DNS пользуется услугой UDP.
  5. RD (recursiondesired – желательна рекурсия). Это однобитовое субполе. Когда оно установлено (значение 1), это означает, что клиенту желателен рекурсивный ответ. Он устанавливается в сообщении запроса и повторяется в ответном сообщении.
  6. RA (recursion available — рекурсия возможна). Однобитовое субполе. Когда оно установлено в ответе, это означает, что возможен рекурсивный ответ. Устанавливается только в ответном сообщении.
  7. Reserved (резервные). Это трехбитовое субполе с установленными нулями.
  8. rCode (r-код). Это 4-битовое поле, которое показывает состояние ошибки в ответе. Конечно, только полномочный сервер может сделать такую оценку. Таблица 3.2. показывает возможные значения этого поля.
    Таблица 3.3. Значения rCode
    Значение Комментарий
    0 Нет ошибки
    1 Ошибка формат
    2 Проблема имени сервера
    3 Проблема ссылки на домен
    4 Тип запроса не поддерживается
    5 Административный запрет
    6-15 Резервные
  9. Поле записи запроса. Это 16-битовое поле, содержащее номер запроса в секции сообщения запроса.
  10. Поле записи ответа. Это 16-битовое поле, содержащее номер записи ответа в секции сообщения отклика. Его значение равно нулю в секции запроса.
  11. Поле записи полномочий. Это 16-битовое поле, содержащее номер записи полномочий в секции полномочий. Его значение равно нулю в секции запроса.
  12. Поле дополнительной записи. Это 16-битовое поле, содержащее номер дополнительной записи в дополнительной секции сообщения отклика. Его значение равно нулю в секции запроса.

Имеются следующие типы секций.

Секция запроса

Это секция, содержащая одну или более записей. Она содержит оба сообщения: и запрос, и ответ. Мы обсудим вопрос записи в следующем разделе.

Секция ответа

Это секция, содержащая одну или более записей. Она представляет только сообщения ответа. Секция включает ответ от сервера к клиенту (сообщение распознавателя).

Секция полномочий

Это секция, содержащая одно или более сообщений источника. Она представлена только в ответном сообщении. Секция дает информацию (имя домена) об одном или более полномочном сервере для запроса.

Секция дополнительной информации

Это секция, содержащая одну или более записей источников. Она представляет только ответные сообщения. Секция обеспечивает дополнительной информацией, которая может помочь распознавателю. Например, сервер может дать имя домена полномочного сервера распознавателю в полномочной секции и включать IP-адрес для того же самого полномочного сервера в секции дополнительной информации.

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Илья Сидоркин
Илья Сидоркин
Как получить диплом?
Наталья Шульга
Наталья Шульга
Здравствуйте. Актуален ли данный курс?
Владимир Лютиков
Владимир Лютиков
Россия