Система доменных имен в двух словах

 в раздел Оглавление

«DNS и BIND»

Руководство для системных администраторов

1. Основы

Система доменных имен в двух словах

DNS - это распределенная база данных. Такая структура дает возможность локально управлять отдельными сегментами общей базы, а также позволяет сделать данные каждого сегмента доступными всей сети посредством использования механизма «клиент-сервер». Надежность и адекватная производительность основаны на репликации и кэшировании.

Серверная часть клиент-серверного механизма DNS представлена программами, которые называются DNS-серверами (name servers, дословно - серверами имен). DNS-cерверы владеют информацией о некоторых сегментах базы данных и делают ее доступной клиентам, которые называются поисковыми анализаторами (resolvers).2 Как правило, DNS-клиент - это просто набор библиотечных функций, которые создают запросы и посылают их по сети серверу имен.

Структура базы данных DNS очень похожа на структуру файловой системы UNIX (рис.1.1). Вся база данных (или файловая система) представлена в виде перевернутого дерева, корень (корневой узел) которого расположен на самом верху. Каждый узел дерева имеет прикрепленную текстовую метку, которая идентифицирует его относительно родительского узла по аналогии с «относительным путевым именем» в файловой системе (например, bin). Одна из меток, пустая, (она обозначается как " " ) закреплена за корневым узлом дерева. В тексте корневой узел обозначается точкой (.). В файловой системе UNIX корень обозначается символом «слэш» ( / ) .

Каждый узел является корнем новой ветви дерева. Каждая из ветвей (поддеревьев) является разделом базы данных - «каталогом» в интерпретации файловой системы UNIX, или доменом в интерпретации системы доменных имен. Каждый домен или каталог может быть разбит на еще более мелкие подразделы, которые в DNS называются под- доменами, а в файловых системах - «подкаталогами». Поддомены, как и подкаталоги, изображаются как потомки соответствующих родительских доменов.

База данных DNS и файловая система UNIX
Рис.1.1. База данных DNS и файловая система UNIX

Имя домена, как и имя любого каталога, уникально. Имя домена определяет его расположение в базе данных, так же как «абсолютный путь к каталогу» однозначно определяет его расположение в файловой системе. Имя домена в DNS - это последовательность меток от узла, корневого для данного домена, до корня всего дерева; метки в имени домена разделяются точками. В файловой системе UNIX абсолютное путевое имя каталога - это последовательность относительных имен, начиная от корня дерева до конкретного узла (то есть чтение происходит в направлении, противоположном направлению чтения имен DNS; рис.1.2), при этом имена разделяются символом «прямая наклонная черта» ( « слэш » ).

В DNS каждый домен может быть разбит на поддомены, и ответственность за эти поддомены может распределяться между различными организациями. Допустим, организация EDUCAUSE сопровождает домен edu (educational, то есть образовательный), но делегирует ответственность за поддомен berkeley.edu Калифорнийскому университету Беркли (рис.1.3). Это похоже на удаленное монтирование файловой системы: определенные каталоги файловой системы могут в действительности являться файловыми системами, расположенными на других узлах и смонтированными удаленно. К примеру, администратор узла winken (рис.1.3) отвечает за файловую систему, которая на локальном узле выглядит как содержимое каталога /usr/nfs/winken.

Чтение имен DNS и файловой системы UNIX
Рис.1.2. Чтение имен DNS и файловой системы UNIX

Делегирование управления поддоменом berkeley.edu Калифорнийскому университету Беркли приводит к созданию новой зоны - независимо администрируемой части пространства имен. Зона berkeley.edu теперь не зависит от edu и содержит все доменные имена, которые заканчиваются на berkeley.edu. С другой стороны, зона edu содержит только доменные имена, оканчивающиеся на edu, но не входящие в делегированные зоны, такие, например, как berkeley.edu. berkeley.edu может быть поделен на поддомены с именами вроде cs.berkeley.edu, и некоторые из этих поддоменов могут быть выделены в самостоятельные зоны, если администраторы berkeley.edu делегируют ответственность за них другим организациям. Если cs.berkeley.edu является самостоятельной зоной, зона berkeley.edu не содержит доменные имена, которые заканчиваются на cs.berkeley.edu (рис.1.4).

Доменные имена используются в качестве индексов базы данных DNS. Данные DNS можно считать «привязанными» к доменному имени. В файловой системе каталоги содержат файлы и подкаталоги. Аналогичным образом домены могут содержать узлы и поддомены. Домен включает в себя те узлы и поддомены, доменные имена которых расположены в принадлежащей этому домену части иерархии имен.

Удаленное управление доменами разных уровней и файловыми  системами
Рис.1.3. Удаленное управление доменами разных уровней и файловыми системами

У каждого узла в сети есть доменное имя, которое является указателем на информацию об узле (рис.1.5). Эта информация может включать IP-адреса, информацию о маршрутизации почтовых сообщений и другие данные. Узел может также иметь один или несколько псевдонимов доменного имени, которые являются просто указателями на основное (официальное, или каноническое) доменное имя. На рис.1.5 mailhub.nv... - псевдоним канонического имени rincon.ba.ca...

Зоны edu, berkeley.edu и cs.berkeley.edu
Рис.1.4. Зоны edu, berkeley.edu и cs.berkeley.edu

Для чего нужна столь сложная структура? Чтобы решить проблемы, существовавшие при использовании HOSTS.TXT. К примеру, строгая иерархичность доменных имен устраняет угрозу конфликтов имен.

Псевдоним в DNS, ссылающийся на каноническое имя
Рис.1.5. Псевдоним в DNS, ссылающийся на каноническое имя

Решение проблемы конфликтов имен
Рис. 1.6. Решение проблемы конфликтов имен

Имя каждого домена уникально, так что организация, управляющая доменом, вольна придумывать имена поддоменов, входящих в этот домен, самостоятельно. Независимо от выбранных имен, имена эти не будут конфликтовать с доменными именами других организаций, поскольку заканчиваются уникальным именем домена, сопровождаемого только этой организацией. Так, организация, ответственная за домен hic.com, может дать узлу имя puella (рис.1.6), поскольку известно, что доменное имя узла будет заканчиваться уникальным доменным именем hic.com.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.