Кроме этого, обратный поиск используется для служб пересылки файлов и WWW, которые создают регистрационные записи о системах, использующих эти службы. Некоторые службы отклоняют запросы клиентов, чьи IP-адреса не соответствуют одной из записей в базе данных имен доменов.
Вспомним, что адреса размещаются в специальном домене IN-ADDR.ARPA и дерево этого домена должно расширяться от наиболее общей части адреса к менее общей. При этом порядок номеров в каждом адресе становится обратным. Поэтому поддерево сети 172.66 называется 66.172.in-addr.arpa. На рис. 12.7 показан обратный поиск записи.
66.172.in-addr.arpa. IN SOA NS.FISHFOOD.COM. (
postmaster.FISHFOOD.COM.
94101101 ; serial
86400 ; refresh after 24 hours
7200 ; retry after 2 hours
2592000 ; expire after 30 days
345600 ; default TTL of 4 days
)
66.172.in-addr.arpa. IN NS NS.FISHFOOD.COM.
1.1 IN PTR NS.FISHFOOD.COM.
66.172.in-addr.arpa. IN NS NS2.FISHFOOD.COM.
100.1 IN PTR NS2.FISHFOOD.COM.
2.1 IN PTR MAIL-RELAY.FISHFOOD.COM.
Рис. 12.7. Таблица обратного просмотра
Элементы также будут обратными. Например, элементу 100.1 соответствует адрес 172.66.1.100.
12.16 Формат сообщений DNS
Обмен сообщениями запросов и ответов между клиентом и серверами DNS имеет простой формат. Сервер добавляет информацию ответа к исходному запросу и посылает полученное сообщение обратно. На рис. 12.8 показан полный формат сообщения.
Рис. 12.8. Общий формат сообщения DNS
12.16.1 Секция заголовка
Секция заголовка содержит поля, представленные в таблице 12.2.
Таблица 12.2 Поля заголовка сообщения DNS
| Поле | Описание |
|---|---|
| ID Идентификатор | Служит для согласования запроса и ответа. |
| Parameters Параметры: | Запрос или ответ. |
| Обычный или обратный просмотр. | |
| Является ли ответ авторитетным. | |
| Является ли ответ усеченным. | |
| Рекурсивно или нет сообщение. | |
| Допустима ли рекурсия в ответе. | |
| Для ответа — код ошибки. | |
| Number of queries Количество запросов | Присутствует в запросе и ответе. |
| Number of answers Количество ответов | Присутствует только в ответе. |
| Number of authority records Количество авторитетных записей | Присутствует в ответе. Информация в авторитетных записях включает имя сервера, хранящего авторитетные данные. |
| Number of additional records Количество дополнительных записей | Присутствует в ответе и содержит адреса авторитетных серверов. |
12.16.2 Секция запроса
Запрос имеет поля, перечисленные в таблице 12.3. Обычно сообщение содержит единственный запрос. Но можно в общей секции объединить несколько различных запросов.
Таблица 12.3 Поля запросов DNS
| Поле | Описание |
|---|---|
| Name (Имя) | Имя домена или IP-адрес в поддереве IN-ADDR.ARPA |
| Type (Тип) | Тип запроса, например А или NS |
| Class (Класс) | IN для Интернета записывается как 1 |
12.16.3 Секция ответа
Сам ответ, информация об авторитетности и дополнительные сведения структурированы так же, как и в запросе. Ответ состоит из последовательности записей о ресурсах, содержащих поля, показанные в таблице 12.4.
Таблица 12.4 Поля записей о ресурсах
| Поле | Описание |
|---|---|
| Name (Имя) | Имя узла для данной записи |
| Type (Тип) | Тип записи, например SOA или А, записанный числовым кодом |
| Class (Класс) | IN соответствует 1 |
| TTL | Время жизни 32-разрядное целое число со знаком, отражающее время кеширования записи |
| RDLENGTH Длина записи | Длина поля данных в записи о ресурсах |
| RDATA Данные записи | Например, для записи об адресе — значение IP-адреса. Запись SOA содержит обширные сведения. |
Секция информации об авторитетности указывает авторитетные серверы имен для домена. Секция дополнительной информации предоставляет сведения, подобные IP-адресам авторитетных серверов имен.
12.17 Используемый транспорт
Запросы и ответы DNS обычно пересылаются через UDP, но разрешается применять и TCP, который используется для переносов зон.
12.18 Примеры
Некоторые реализации программы nslookup позволяют рассмотреть сообщения более подробно. Ниже приводится результат запуска nslookup на хосте Йельского университета и указывается вывод детальной отладочной информации с помощью команды set d2.
Запрос требовал трансляции имени www.microsoft.com в адрес, а в ответе было получено два адреса. Дело в том, что два различных компьютера работают как сервер WWW компании Microsoft и разделяют между собой трафик от клиентов. Если клиент не получает ответа по первому адресу (возможно, при сильной загруженности этой системы), он может обратиться ко второму компьютеру.