Domain Name Service - Служба Доменных Имен


Практическая реализация DNS - часть 2


Для того, чтобы сервер не прибавлял суффикс достаточно в конце имени добавить точку. Кроме того, если запрос не содержит точки, например "user1", то выполняется добавление суффикса, а без него запроса не последует.

В настройках TCP/IP можно указать дополнительные суффиксы.

Стоит заметить, что полное имя ресурса должно заканчиваться точкой (www.yahoo.com.), но это правило только для пользователей, в самих сетевых пакетах финальная точка в явном виде отсутствует.

Начнем с общего формата пакета: он одинаков и для запросов, и для ответов.

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

Сервер должен скопировать идентификатор в ответ, без этого пакет просто будет отброшен клиентом.

Следующие два байта это флаги.

  Кол-во бит  
Тип сообщения 1 QR
Код операции 4 Opcode
Авторитетный ответ 1 AA
Фрагментация 1 TC
Требование рекурсии 1 RD
Возможность рекурсии 1 RA
Нулевое поле 3  
Код возврата 4 Rcode

Тип сообщения: 0 - запрос клиента, 1 - ответ сервера.

Код операции: это ноль для обычного запроса и 1 для инверсного.

Авторитетный ответ устанавливается сервером, ответственным за зону.

Фрагментация устанавливается, если информация не уместилась в 512 байт.

Требование рекурсии, как правило, всегда установлено, что переносит всю ответственность за разрешение с клиента на сервер.

Возможность рекурсии устанавливается сервером в ответе.

Код возврата ноль в случае успеха и 3 при ошибке имени.

Остальные варианты опций описаны в RFC 1035, но для реализации простой схемы диалога сервера с клиентом они не требуются.

Далее следуют четыре 2х байтовых поля, которые содержат количество значений в полях с переменными длинами. Вместе с байтами идентификации и флагами они составляют заголовок DNS пакета.

Схематично заголовок выглядит следующим образом:

0 15
Идентификация
Флаги
Количество вопросов
Количество ответов
Кол-во прав доступа
Кол-во дополнительной инф.
<


- Начало -  - Назад -  - Вперед -



Книжный магазин