Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Пространство имен

Пространство имен (namespace) справочной службы — это множество имен, однозначно соответствующих всем объектам и их атрибутам, хранящимся в данной справочной службе.

Пространство имен является необходимым компонентом любой справочной системы, позволяя по имени объекта (здесь мы используем слово «объект» в широком смысле) находить информацию, связанную с этим объектом. Напри­мер, в адресных или телефонных справочниках, в которых информацию об ад­ресе или телефоне человека можно найти, зная имя этого человека, пространством имен является множество фамилий. Этот пример является не совсем точным, так как в реальной жизни существуют однофамильцы, а, значит, соответствие между фамилиями и персонами, информация о которых представлена в справочнике, является неоднозначной. В компьютерных системах, в которых поиск информации выполняется автоматически, однозначность необходима. Так, множество имен файлов, сгенерированных на основе принятых в файловой системе правил, однозначно определяет существующие в системе файлы. Другим примером является система DNS, используемая для именования узлов в IР-сети, она также включает в себя пространство DNS-имен, однозначно соответствую­щих IР-адресам.

Рассмотрим, как формируется пространство имен Active Directory. В Active Directory поддерживается несколько форм записи имени объекта. Мы остановимся на системе записи имен, принятой в стандарте LDAP. Согласно требованиям протокола LDAP, имя объекта должно представлять собой последовательность имен всех компонентов иерархии, лежащих на пути от объекта до корня дерева.

В Active Directory, как и в любой иерархической системе, имеющей древовидную структуру, имеется единственный путь от корня дерева до его конечного элемента (листа). Уникальность путей ко всем листьям в древовидных структурах делает уникальными имена, полученные путем перечисления имен транзитных узлов, лежащих на этих путях. Такие имена, однозначно определяющие объекты в пределах всего дерева, часто называют полными (составными) именами. Ааналогом полного имени в Active Directory служит уже упоминавшееся отличительное имя1 объекта, которое описывает путь от данного объекта до корневого домена.

Другой тип имени, используемый в Active Directory, называется относительным отличительным именем2 (Relative Distinguished Name, RDN). Это имя представляет собой компонент отличительного имени объекта, однозначно определяющий объект в пределах контейнера. Это имя подобно краткому имени каталога или файла и представляет собой значение одного атрибута (очень редко нескольких атрибутов) данного объекта, обеспечивающего уникальность этого объекта в контейнере. Из всего этого следует, что отличительное имя объекта есть цепочка относительных отличительных имен объектов, находящихся на пути от объекта до корня.

Компактность относительного имени делает его удобным для применения в пользовательском интерфейсе, хотя в LDAP-пакетах всегда указывается отличительное имя.

Особенность именования объектов в Active Directory, отличающая ее, например, от именования файлов, состоит в неоднородности узлов дерева объектов. Действительно, в то время как в дереве файловой системы все транзитные узлы на пути от корневого каталога к файлу имеют единую природу — все они являются каталогами, в Active Directory путь, соединяющий объекте корневым каталогом, делится на две части: одна часть пролегает по дереву доменов, а другая проходит по дереву организационных единиц, находящемуся «внутри домена» (рис. 11.18). То есть компоненты полного имени объекта имеют разную природу. Этот факт отражается в синтаксисе имен Active Directory — имя строится путем приписывания соответствующих префиксов к компонентам имени. К числу основных префиксов1 относятся:

  • DC (Domain Component) — компонент является относительным именем домена;

  • OU (Organizational Unit) — компонент является относительным именем орга­низационной единицы;

  • CN (Common Name) — компонент относится к объекту любого типа, не являющемуся ни организационной единицей, ни доменом.

Рис. 11.18. Именование объектов в стандарте ШАР

Посмотрим, как будет выглядеть отличительное имя в стандарте LDAP для объекта, представляющего, например, пользователя Данилу Голика, который был помещен администратором в организационную единицу, имеющую относительное имя users. Эта организационная единица относится к домену, DNS-имя которого acad.research.comp.ru. В соответствии с принятым синтаксисом перечисление компонентов начинается от листа OU-дерева, которым является объект-пользователь, до корня дерева доменов. Каждое относительное имя предва­ряется соответствующим префиксом. В результате получаем:

CN = Danila Golik, OU = users. DC = acad. DC = research, DC = comp, DC = ru

Как уже было сказано, в Active Directory поддерживается несколько форм записи имени объекта, например, для приведенного имени альтернативой может служить одно из следующих имен:

acad.research.comp.ru/users/Dan1la Gollk

DС=ru/DC=comp/DС=research/DС=acad/OU=users/CN=Danila Golik

Получив от клиента отличительное имя, справочная служба должна установить контакт с контроллером того домена, где находится интересующий клиента объект. Из имени объекта легко определяется DNS-имя контроллера, а для определения IP-адреса Active Directory использует систему доменных имен (DNS).

Контроллеры доменов Active Directory могут отличаться друг от друга набором предоставляемых услуг. Для того чтобы пользователи и приложения могли находить именно те контроллеры, на которых установлены необходимые им сервисные программные модули, контроллеры регистрируют имена своих сервисов в системе DNS, которая по запросам клиентов сообщает им о местонахождении (IP-адресах) серверов и сервисных программ Active Directory. В некоторых случаях система DNS может вернуть IP-адреса нескольких контроллеров, пре­доставляющих эту услугу. Используя дополнительную информацию о месте расположения контроллеров, клиентская станция выбирает ближайший к ней контроллер.