4.3.3 Разрешение доменных имён

Процедура разрешения DNS-имени во многом аналогична процедуре
поиска файловой системой адреса файла по его символьному имени. Действительно,
в обоих случаях составное имя отражает иерархическую структуру организации
соответствующих справочников - каталогов файлов или таблиц DNS. Здесь домен и
доменный DNS-сервер являются аналогом каталога файловой системы. Процедура поиска адреса файла по
символьному имени заключается в последовательном просмотре каталогов, начиная с
корневого. При этом предварительно проверяется кэш и текущий каталог. Для
определения IP-адреса по доменному имени также необходимо просмотреть все
DNS-серверы, обслуживающие цепочку поддоменов, входящих в имя хоста, начиная с
корневого домена. Существенным же отличием является то, что файловая система
расположена на одном компьютере, а служба DNS по своей природе является
распределенной.
Различные типы именных серверов:
- Локальный именной сервер - именной сервер, адрес которого сконфигурирован в рабочей станции. К этому серверу обращается клиент вначале с запросом на разрешение DNS-имени.
- Корневой именной сервер (Root Name Server) - если же локальный сервер не знает ответ, то он выполняет итеративные запросы к корневому серверу и т. д. точно так же, как это делал клиент в первом варианте; получив ответ, он передает его клиенту, который все это время просто ждал его от своего локального DNS-сервера.
- Авторитетный сервер имен (Authoritative Name Server) - сервер, администрирующий определённую зону пространства имён. Другие серверы могут получить копию пространсва имён зоны, но не могут в него вносить изменения.
Разрешение доменных имён ведётся в соответствии с моделью клиент-сервер. Компьютер, желающий получить адрес, есть клиент, который посылает DNS запрос своему локальному серверу имён, используя протокол UDP.
В общем случае порядок разрешения имён следующий:
- Контроль клиентского буфера имён и файлов хостов: клиент проверяет находится ля искомое имя уже в буфере имён локального сервера или записан в файлы хостов
- Запрос DNS сервера: клиент обращается к локальному серверу на разрешение имени. DNS сервер сначала смотрит разрешение имени в своей зоне имён и в промежуточной памяти (кэш). Если имя не найдено, то посылается запрос дальше по специальным внешним адресам разрешения имён (Forwarders) и локальный DNS сервер выступает посредником. Если внешний сервер не имеет соответствующей конфигурации, то используются адреса корневых именных серверов для итеративного разрешения имени.
Рисунок 4‑9. DNS разрешение имени
Рисунок 4‑10. Разрешение имён путём
итераций запросов корневому серверу
(Источник: http://commons.wikimedia.org/wiki/File:Dns-wikipedia.gif)