Распределенная база данных
🕛 10.01.2009, 14:47
Поскольку DNS использует иерархическое пространство имен, то достаточно просто сконфигурировать его как распределенную базу данных. Прежде чем в интернете была реализована доменная система имен, вся информация, необходимая для разрешения имен, хранилась в единственном файле. Поскольку количество хостов в интернете увеличилось до сотен тысяч компьютеров, то управление одним файлом стало непрактичным. Была разработана система DNS, использующая распределенную базу данных. Использование распределенной базы данных означает, что информация DNS хранится на многих компьютерах во всем мире (в случае интернета) и повсюду в вашей сети (в случае внутренней сети). Каждый DNS-сервер обслуживает только одну маленькую часть базы данных DNS. Вся база данных разделена на зонные файлы на основе имен доменов. Зонные файлы распределены между несколькими серверами. К примеру, существует около дюжины серверов, которые содержат зонные файлы для корневого домена. Они хранят информацию о DNS-cep-верах, которые несут зонную информацию для доменов высшего уровня. Корневые серверы не содержат всю информацию о доменах высшего уровня, но они знают, какие серверы имеют эту информацию.DNS-серверы, хранящие информацию о доменах высшего уровня, содержат также информацию о том, на каких серверах находятся зонные файлы для доменов следующего уровня. Например, сервер может содержать зонные файлы для домена сот, т.е. этот сервер знает обо всех доменах второго уровня, которые зарегистрированы с доменом сот, но он может не знать отдельные детали о домене второго уровня. Сервер домена высшего уровня знает, какой компьютер на следующем уровне содержит детали, касающиеся домена второго уровня, и так продолжается до самого низа пространства имен DNS. Сервер, ответственный за домен com, может иметь домен Contoso, зарегистрированный как домен второго уровня. Этот сервер может передавать любые запросы на информацию о домене Contoso на сервер, который содержит зонные файлы для Contoso.com.
Использование метода распределенной базы данных означает, что никакому серверу в интернете не требуется иметь всю информацию DNS. Большинство серверов хранят информацию о некоторой части дерева,
но когда приходит запрос, который они не могут выполнить, им известно, какой DNS-сервер хранит необходимую информацию. DNS-серверы используют делегированные записи, ретрансляторы (forwarders) и корневые ссылки для определения того, какой DNS-сервер имеет необходимую информацию. Эти темы будут обсуждаться далее в главе.