В большинстве операций просмотра DNS-клиенты обычно выполняют прямой просмотр, т. е. поиск, основанный на имени DNS другого компьютера, сохраненного в записи ресурса адреса (A). В этом типе запроса в качестве данных для ответа на запрос ожидается IP-адрес. DNS также обеспечивает возможность обратного просмотра, в котором клиенты используют известный IP-адрес для поиска имени компьютера по этому адресу. Обратный просмотр фактически является формой вопроса типа «Можете ли вы сказать мне имя DNS компьютера, который использует IP-адрес 192.168.1.20?».
Система DNS не разрабатывалась изначально для поддержки запросов этого типа. Одной из проблем при поддержке запросов обратного просмотра является различие в способах организации и индексации пространства имен DNS и способов назначения IP-адресов. Если бы единственным таким способом был бы поиск во всех доменах пространства имен DNS, то для обработки обратного запроса потребовалось бы слишком много времени и такой запрос оказался бы бесполезным.
Чтобы разрешить эту проблему, в стандартах DNS был определен и зарезервирован специальный домен в пространстве имен DNS Интернета, in-addr.arpa, обеспечивающий практичный и надежный способ выполнения обратных запросов. Чтобы создать обратное пространство имен, поддомены в домене in-addr.arpa формируются с помощью обратного упорядочения чисел в точечно-десятичной нотации IP-адресов. Такое обратное упорядочение доменов для каждого октета необходимо, поскольку в отличие от имен DNS, для которых IP-адреса читаются слева направо, здесь интерпретация выполняется в обратном порядке. Когда IP-адрес читается слева направо, информация анализируется от наиболее общей (IP-адрес сети в левой части адреса) до наиболее конкретной (IP-адрес узла в последнем октете). По этой причине порядок октетов IP-адреса должен быть обращен при построении дерева домена in-addr.arpa. IP-адреса дерева DNS in-addr.arpa могут делегироваться организациям, которым назначается ограниченный набор IP-адресов в границах определенных для Интернета классов адресов. И, наконец, для дерева домена in-addr.arpa, встроенного в DNS, требуется определение дополнительного типа записей ресурсов — запись ресурса указателя (PTR). Такая запись ресурса используется для сопоставления в зоне обратного просмотра, обычно соответствующего записи ресурса именованного узла (A) для имени DNS компьютера в зоне прямого просмотра.
Следующий рисунок иллюстрирует обратный запрос, инициируемый DNS-клиентом (host-b), которому требуется узнать имя другого узла (host-a) по его IP-адресу 192.168.1.20.
Рисунок 3. Обратный запрос.
Как показано на рисунке, обратный запрос включает следующие этапы.
Клиент «host-b» запрашивает DNS-сервер о записи ресурса указателя (PTR), сопоставляющей IP-адрес 192.168.1.20 для имени «host-a». Поскольку запрос относится к записям PTR, система сопоставления имен обращает адрес и добавляет имя домена «in-addr.arpa» в конец обращенного адреса. В результате образуется полное доменное имя узла («20.1.168.192.in-addr.arpa.»), для которого будет проводиться поиск в зоне обратного просмотра.
После обнаружения имени удостоверяющий DNS-сервер для имени «20.1.168.192.in-addr.arpa» может возвратить ответ с информацией записи PTR. В этой информации содержится доменное имя DNS узла «host-a», что приводит к завершению процесса обратного просмотра. Необходимо помнить, что если запрошенное обратное имя не может быть возвращено DNS-сервером, можно использовать сопоставление имен DNS (либо рекурсию, либо итерации) для обнаружения DNS-сервера, который является удостоверяющим для зоны обратного просмотра и содержит запрашиваемое имя. В этом смысле процесс сопоставления имен при обратном просмотре аналогичен процессу прямого просмотра