Лекция №

Служба каталогов

Понятие. Назначение

Большая компьютерная сеть нуждается в централизованном хранении как можно более полной справочной информации

Перечислим наиболее важные задачи, требующие наличия в сети централизованной базы справочной информации:

  1. Аутентификация пользователей (в сети должны храниться учетные записи пользователей, содержащие имена и пароли);
  2. Поддержка прозрачности доступа ко многим сетевым ресурсам (должны храниться имена ресурсов и отображения имен на числовые идентификаторы, позволяющие найти ресурс в сети (например, IP-адреса).
  3. Электронная почта. (Для этой службы желательна единая для сети справочная служба, хранящая почтовые имена пользователей).
  4. Поддержка средств управления качеством обслуживания трафиком (требуются сведения обо всех пользователях и приложениях системы, их требованиях к параметрам качества обслуживания трафика, сведения обо всех сетевых устройствах (маршрутизаторах, коммутаторах, шлюзах и т.п.).
  5. Организация распределенных приложений существенно упрощается, если имеется база с информацией об имеющихся программных модулях-объектах и их расположении на серверах сети.
  6. Идентификация сообщений об аварийных событиях и поиск причин в системе автоматизированного управления сетью (в базе хранятся информация о составе сети и ее связях: топология сети, характеристики сетевых элементов таких как маршрутизаторы, коммутаторы, серверы, клиенты).

В сетевых операционных системах для хранения справочной информации используется Централизованная база справочной информации - так называемая служба каталогов (Directory Services).

Служба каталогов

Обычно над службой каталогов строятся различные сетевые приложения, которые используют информацию службы для решения конкретных задач.

Долгое время сети работали (а многие сети и сейчас работают) без централизованной базы справочной информации.

При этом работа сети достаточно эффективно организовывается на основе частных (локальных) баз справочной информации. Они обычно представлены текстовыми файлами либо таблицами, хранящимися в теле приложения. Например, в ОС UNIX для хранения данных об именах и паролях пользователей одного компьютера традиционно используется файл passwd. Имена адресатов электронной почты также можно хранить в локальном файле клиентского компьютера.

Однако это эффективно только для небольших сетей и средних размеров.

Для крупных сетей отдельные локальные базы справочной информации неэффективны, так как большое число справочных служб приводит к дублированию больших объемов информации и усложняет администрирование и управление сетью.

Например, в Windows NT имеется пять различных типов справочных баз данных.

Главный справочник домена хранит информацию о пользователях для организации логического входа в сеть.

Существует справочник электронной почты, который, кстати, может содержать информацию о тех же пользователях.

Еще три базы поддерживают разрешение адресов.

Очевидно, что разнообразие справочных служб усложняет жизнь администратора (учетные данные необходимо вводить в несколько баз данных), приводит к дополнительным ошибкам.

В Windows 2000 большая часть справочной информации о системе может храниться службой Active Directory - единой централизованной службой, использующей распределенную базу данных и интегрированной со службой имен DNS.

Принципы организации

Служба каталогов обычно строится на основе модели клиент-сервер: серверы хранят базу справочной информации. Клиенты используют эту информацию.

Большинство хороших служб каталогов имеют распределенную структуру, включающую большое количество серверов. Для клиентов такая структура, как правило, прозрачна.

Реализация справочной службы как локальной базы данных, хранящейся в виде одной копии на одном из серверов сети неприемлема для большой системы, в первую очередь, по причине низкой производительности (большое количество запросов к одному серверу) и низкой надежности (единственная копия данных) такого решения.

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

Существуют два популярных стандарта для служб каталогов.

  1. Стандарт Х.500. Определяет функции, организацию справочной службы и протокол доступа к ней.
  2. Стандарт LDAP (Light-weight Directory Access Protocol). Определяет упрощенный по сравнению с первым стандартом протокол доступа к службе каталогов. Является стандартом де-факто в качестве протокола доступа клиентов к ресурсам справочной службы.

Существует также несколько реализаций служб каталогов для сетевых ОС.

Наибольшее распространение получила служба NDS компании Novell (была разработана в 1993 г. для сетевой ОС NetWare 4.0, сегодня реализована также и для Windows NT/2000).

Компанией Microsoft разработана служба Active Directory для Windows 2000.

Обе службы поддерживают протокол доступа LDAP. Могут работать в очень крупных сетях благодаря своей распределенности.

Служба каталогов NDS

Служба каталогов NDS (NetWare Directory Services) - это глобальная справочная служба, опирающаяся на распределенную объектно-ориентированную базу данных сетевых ресурсов. Многоуровневая база данных содержит информацию обо всех пользователях, группах пользователей, принтерах, томах и компьютерах. ОС использует информацию NDS для обеспечения доступа к этим ресурсам.

Служба NDS характеризуется:

Для хранения информации используется логическая структура, называемая деревом каталогов (корень и ветви), которая содержит объекты двух типов:

Заметим, что служба NDS не обеспечивает управление файловой системой. Файлы и каталоги не являются объектами службы. Для связи между файловой системой и NDS используется объект-том.

Служба NDS предоставляет средства для поиска объектом в базе. Можно делать запросы, типичные для баз данных.

Служба NDS определяет права доступа одних объектов к другим. С каждым объектом связан список управления доступом, в котором определяются права доступа к данному объекту со стороны других объектов.