Состав и основные элементы DNS
DNS имеет три основные компоненты:
Пространство имен домена (domain name space) и записи базы данных DNS (resource records). Они определяют структуру организации "дерева" имен и данных, ассоциированных с этими именами. Каждая запись (или иначе "лист дерева") пространства имен содержит определенную информацию, ассоциированную с данным именем. Информация описывает определенный ресурс или характеристики ресурса системы. По запросу возвращается определенная часть этой информации. Например, в Internet имена используются для идентификации адресов хостов; запрос по данному имени возвратит IP-адрес хоста. |
Серверы имен (name servers). Серверы имен — это серверные программы, обрабатывающие информацию "дерева" имен и данных домена. Сервер имен управляет всей информацией подчиненной ему области имен и данных домена. При обращении за информацией, которую данный сервер не обслуживает, он должен переправить запрос или серверу, обслуживающему эту информацию, или серверу, стоящему на следующей ступени иерархии. Если сервер имен четко определяет границу подчиненной им информации, тогда говорят, что сервер имен является владельцем (authority) какой-либо части "дерева" данных и имен домена. Такая единица организации пространства имен называется зоной (zone). Зоны строятся не основе принадлежности какой-либо части данных к определенной сетевой структуре, например, домену или целой организации. Зоны автоматически распределяются серверам имен, которые обеспечивают полный сервис содержащейся в них информации. |
Программы разрешения имен (resolves). Эти программы возвращают информацию, хранящуюся в базе данных имен домена по запросу пользователя. Программы разрешения должны иметь доступ по крайней мере к одному серверу имен и либо использовать полученную от него информацию для формирования ответа на запрос, либо, если данный сервер не может предоставить нужную информацию, переправить запрос на другой сервер имен. Как правило, программы разрешения реализуются в виде системного модуля, напрямую связанного с пользовательской программой, поэтому для их работы не требуется никакого дополнительного протокола обмена. |
/p>
Работа системы DNS в целом может представляться по-разному:
С точки зрения пользователя, к системе имен и данных домена можно получить доступ, вызвав простейшую процедуру или функцию операционной системы для работы с сервисом разрешения имен. При этом пространство имен представляется в виде единого дерева, к любой части которого пользователь может обратиться. |
С точки зрения программы разрешения имен, система имен и данных домена состоит из множества серверов имен. Каждый их этих серверов может обращаться за получением необходимой информации к одной или нескольким базам данных. Программа разрешения "видит" каждую из этих баз данных в статическом виде. |
С точки зрения сервера разрешения имен, система имен и данных домена состоит из множества отдельных компонент, называемых зонами. Сервер имен имеет локальные копии некоторых из этих зон. Сервер имен должен периодически обновлять содержание зон из собственных файлов архива или других серверов имен. Кроме того, сервер имен должен немедленно обработать любой запрос от программы разрешения имен. |
Примечание
В целях увеличения производительности, сервер имен и программы разрешения имен на одной машине могут частично выполнять функции друг друга и разделять доступ к базе данных.
Основным предназначением системы имен домена является обеспечение работы механизма именования ресурсов. Этот механизм должен работать с различными хостами, сетями, семействами протоколов и типами организаций. Описанная выше функциональная структура DNS позволяет изолировать проблемы отдельных модулей системы, и, тем самым, создает универсальную модульную архитектуру, пригодную для работы в гетерогенных средах.
Хост может участвовать в работе системы доменов различными способами, в зависимости от типа программного обеспечения и требуемой информации,
Пользователь взаимодействует с пространством имен через программы разрешения. Запросы пользователя представляют собой вызовы функций программы разрешения (или системных функций, если программа разрешения составляет часть операционной системы) с соответствующими параметрами.
Программа разрешения отвечает на запросы пользователей на основании имеющейся у нее в кэше информации или переадресовывает запросы на Другие серверы имен. Программа разрешения может отправить несколько запросов на несколько серверов имен одновременно.
Простейший и наиболее распространенный способ работы с серверами имен показан на рис. 1.
Рис. 1. Простейший способ работы с серверами имен
Сервер имен может работать как отдельная программа (процесс) на выделенной машине, которая специально для этого предназначена.
Представленный на рис.2 сервер имен обрабатывает запросы на основании информации из файлов главного архива локальной системы.
Рис.2. Схема работы сервера имен с локальной базой имен
Система DNS требует, чтобы доступ к информации определенной зоны мог быть осуществлен с нескольких серверов имен. Серверы, имеющие доступ к данной зоне, должны синхронизировать информацию, используя механизм перемещения зон DNS.
На схеме, приведенной на рис.3, сервер имен периодически устанавливает виртуальное соединение с другим сервером и синхронизирует информацию общих зон. Протокол синхронизации почти такой же, что используется при запросах пользователей.
Рис.3. Схема взаимодействия двух серверов имен
Показанная на схеме (рис.4) разделяемая база данных хранит данные пространства имен,
которые состоят из записей, поступающих с операциями обновления и кэшированных данных запросов.
Рис.4. Схема полной функциональности DNS