
- •Глава 9
- •В.Г.Олифер, н.А.Олифер. Сетевые операционные системы. Учебное пособие.-сПб.:бхв-Петербург, 2006.-536с.
- •В.А.Шеховцов. Операційні системи. Підручник .-к.:Виканавча група внv. 2005. 576с.
- •Столлингс в. Операционные системы. М.: Вильямс, 2001. -672с.
- •Глава 9 Сетевые средства операционных систем
- •9.1 Сетевые файловые системы
- •9.1.1 Принципы построения
- •9.1.2 Модель сетевой файловой системы
- •9.1.3 Интерфейс сетевой файловой службы
- •9.2 Вопросы реализации сетевой файловой системы
- •9.2.1 Размещение клиентов и серверов
- •9.2.2 Файловые серверы типа stateful и stateless
- •9.2.3 Кэширование
- •9.2.4 Репликация
- •9.2.5 Примеры сетевых файловых служб: ftp и nfs Протокол передачи файлов ftp
- •9.3 Служба каталогов
- •9.3.1 Назначение и принципы организации
- •9.3.2 Служба каталогов nds
- •9.4 Межсетевое взаимодействие
- •9.4.1 Основные подходы к организации межсетевого взаимодействия
- •9.4.2 Трансляция
- •9.4.3 Мультиплексирование стеков протоколов
- •9.4.4 Инкапсуляция протоколов
- •Задачи и упражнения
9.3.2 Служба каталогов nds
Служба NDS (NetWare Directory Services) — это глобальная справочная служба, опирающаяся на распределенную объектно-ориентированную базу данных сетевых ресурсов.
База данных NDS содержит информацию обо всех сетевых ресурсах, включая информацию о пользователях, группах пользователей, принтерах, томах и компьютерах. ОС NetWare (а также другие клиенты NDS, работающие на других платформах) использует информацию NDS для обеспечения доступа к этим ресурсам.
База данных NDS заменила в свое время справочник bindery предыдущих версий NetWare. Справочник bindery — это «плоская», или одноуровневая база данных, разработанная для поддержки одного сервера. В ней также использовалось понятие «объект» для сетевого ресурса, но трактовка этого термина отличалась от общепринятой. Объекты bindery идентифицировались простыми числовыми значениями и имели определенные атрибуты. Однако для этих объектов не определялись явные взаимоотношения наследования классов объектов, поэтому взаимоотношения между объектами bindery устанавливались администратором произвольно, что часто приводило к нарушению целостности данных.
База данных службы NDS представляет собой многоуровневую базу данных, поддерживающую информацию о ресурсах всех серверов сети. Для совместимости с предыдущими версиями NetWare в службе NDS предусмотрен механизм эмуляции базы bindery.
Служба NDS — это значительный шаг вперед по сравнению с предыдущими версиями за счет:
-
распределенности;
-
реплицируемости;
-
прозрачности;
-
глобальности.
Распределенность заключается в том, что информация не хранится на одном сервере, а разделена на части, называемые разделами (partitions). NetWare хранит эти разделы на нескольких серверах сети (рис. 10.8). Это свойство значительно упрощает администрирование и управление большой сетью, так как она представляется администратору единой системой. Кроме того, обеспечивается более быстрый доступ к базе данных сетевых ресурсов за счет обращения к ближайшему серверу.
Реплика — это копия информации раздела NDS. Можно создать неограниченное количество реплик каждого раздела и хранить их на разных серверах. Если один сервер останавливается, то копии этой информации могут быть получены с другого сервера. Это увеличивает отказоустойчивость системы, так как ни один из серверов не отвечает за всю информацию базы данных NDS.
Прозрачность заключается в том, что NDS автоматически создает связи между программными и аппаратными компонентами, которые обеспечивают пользователю доступ к сетевым ресурсам. NDS при этом не требует от пользователя знаний физиче-' ского расположения этих ресурсов. Задавая сетевой ресурс по имени, вы получите к нему корректный доступ даже в случае изменения его сетевого адреса или места расположения.
Глобальность NDS заключается в том, что после входа вы получаете доступ к ресурсам всей сети, а не только одного сервера, как было в предыдущих версиях. Это достигается за счет процедуры глобального логического входа (global login). Вместо входа в отдельный сервер пользователь NDS входит в сеть, после чего он получает доступ к разрешенным для него ресурсам сети. Информация, предоставляемая во время логического входа, используется для идентификации пользователя. Позже, при попытке пользователя получить доступ к ресурсам, таким как серверы, тома или принтеры, фоновый процесс идентификации проверяет, имеет ли пользователь право на данный ресурс.
Объектно-ориентированный подход
В NDS информация о сетевых ресурсах организована с помощью объектов. Каждый объект представляет собой ресурс, такой как принтер, том, пользователь или сервер.
Объекты организованы в иерархическую структуру, соответствующую структуре организации, отражающую реальные информационные потоки и потребности разделения ресурсов. Одни объекты представляют физические сущности, например объект-пользователь представляет пользователя, а объект-принтер представляет принтер. Другие объекты представляют логические понятия, такие как группы или очереди к принтерам.
Еще одна категория объектов, в которую входят, например, объекты типа отдела предприятия, помогают организовывать и упорядочивать другие объекты.
Объекты имеют атрибуты, в которых хранится индивидуальная для данного объекта информация, например имя и телефон пользователя или место расположения факса и т. п.
Дерево каталогов
NDS использует для хранения информации логическую структуру, называемую деревом каталогов (Directory Tree, DT). Эта иерархическая структура имеет корневой элемент (root) и ветви (рис. 10.9). Администратору сети NetWare 4.x предоставляется удобная графическая утилита NetWare Administrator, работающая в среде Windows, наглядно представляющая каждый объект дерева каталогов NDS в виде значка и отражающая связи между объектами. Пользователи также получают удобства прозрачного доступа к ресурсам всей сети, если они пользуются оболочкой NetWare для Windows, которая поддерживает диалог с NDS и представляет доступные пользователю ресурсы в виде вложенных значков.
Дерево каталогов содержит объекты двух типов:
-
объекты-контейнеры,
-
объекты-листья.
Объекты-контейнеры содержат или включают другие объекты. Они используются для логического упорядочивания и организации других объектов дерева.
NDS содержит объекты-контейнеры трех типов, которые можно использовать для организации дерева объектов.
-
страна (Country) — необязательный объект, который можно использовать в сетях, охватывающих несколько стран;
-
организация (Organization) — располагается уровнем ниже, чем объекты-страны (если они используются);
-
отдел или подразделение организации (Organizational Unit) — располагается уровнем ниже, чем объекты-организации, помогает в дальнейшем упорядочивании остальных объектов.
Объекты-листья не содержат других объектов, они используются для представления конечных сетевых ресурсов, таких как компьютеры, тома, принтеры, пользователи и группы пользователей. В NDS определены еще и такие типы объектов-листьев, как:
-
организатор — идентифицирует руководящих лиц фирмы (руководитель группы или вице-президент);
-
сервер;
-
сервер печати;
-
очередь печати;
О карта каталогов на томе;
U псевдоним — идентифицирует оригинальное местонахождение объекта в дереве (любой объект можно расположить в нескольких местах дерева посредством назначения ему псевдонимов, что делает использование NDS более гибким и удобным).
Служба NDS и файловая система
Служба NDS предназначена для управления такими сетевыми ресурсами, как серверы и тома NetWare, но она не обеспечивает управление файловой системой. Файлы и каталоги не являются объектами службы NDS. Одним из атрибутов объекта-тома является месторасположение физического тома, который содержит файлы и каталоги. Таким образом, объект-том представляет собой связь между NDS и файловой системой.
Служба NDS предоставляет средства для поиска объектов в ее базе данных сетевых ресурсов. Можно делать запросы, типичные для баз данных, например поиск пользователей, живущих на одной улице, и т. п. Можно также сделать запрос о значениях всех атрибутов какого-либо конкретного объекта. NDS также поддерживает синхронизацию часов между всеми серверами сети для обеспечения правильного порядка событий в сети.
Имена и контексты
Именование объектов службы NDS организовано по тем же принципам, что и в файловых системах с иерархической организацией каталогов. Эти же принципы построения составных имен используются в стандартах Х.500, LDAP, а также в службе DNS.
Объект-лист имеет краткое имя, называемое Common Name (CN). Оно может состоять максимум из 64 символов, включая пробелы. Поэтому имя принтера «Быстрый, но часто ломающийся Epson» является законным. Аналогом полного имени файловой системы является так называемое «различимое имя» — Distinguished Name. Различимое имя представляет собой конкатенацию всех имен объектов, расположенных на пути этого объекта к корню дерева. Составляющие различимого имени отделяются друг от друга точкой. В отличие от полных имен файлов крайней левой составляющей различимого имени является краткое имя объекта, а крайней правой составляющей — имя корневого объекта. Например, следующая запись представляет собой различимое имя объекта-пользователя с сетевым именем Vova S, работающего в сетевом отделе фирмы BestFirm, расположенной в России:
Vova S.NetProgrammers.BestFirm.RU
Возможен и другой вариант записи различимого имени с указанием типов объектов:
CN=Vova s.Ou=NetProgranmers. O=BestFirm:C=RU
Такой вид записи более содержателен.
Средства защиты объектов в NDS
Служба NDS определяет права доступа одних сетевых объектов к другим. Различаются права доступа к объекту в целом и права доступа к его атрибутам.
По отношению к объектам существует следующий набор прав:
-
Browse — просмотр;
-
Add — добавление;
-
Delete — удаление;
-
Rename — переименование;
-
Supervisor — обеспечивает все перечисленные выше права.
По отношению к атрибутам объектов используются такие права:
-
Compare — сравнение значения атрибута;
-
Read — чтение значения атрибута;
-
Write — запись нового значения атрибута;
-
Self — присвоение себя в качестве значения атрибута другого объекта, например, если объект-группа разрешает право Self для объекта User, то последний может сделать себя членом этой группы;
-
Supervi sor — все права по доступу к атрибутам.
С каждым объектом связан список управления доступом (ACL), в котором определяются права доступа к данному объекту со стороны других объектов.
Права доступа наследуются в дереве объектов сверху вниз, поэтому права объекта-контейнера наследуются входящими в него объектами. Для достижения необходимой гибкости в наделении объекта правами используется маска наследования (Inheritance Mask), с помощью которой можно заблокировать некоторые наследуемые права. С помощью механизма наследования прав доступа главный администратор дерева, имеющий доступ ко всем его объектам, может назначить администратора поддерева, который получит права доступа ко всем объектам данного поддерева. Если поддерево соответствует какой-либо структурной единице предприятия (что и подразумевается), например отделу, то это будет администратор отдела, управляющий пользователями и ресурсами данного отдела.
После подробного рассмотрения свойств дерева каталогов NDS можно уточнить понятия раздела (partition) и реплики (replica).
Раздел представляет собой поддерево общего дерева сети. Для определения раздела необходимо выбрать объект-контейнер в общем дереве, который будет корневым объектом данного раздела. Создание раздела уменьшает объем хранимой на сервере информации базы данных NDS за счет исключения редко используемой информации и делает доступ к локальным объектам более быстрым, хотя объекты, находящиеся в других разделах, также доступны всем клиентам сети.
Реплика — это точная копия определенного раздела, хранящаяся на различных серверах. Наличие нескольких реплик обеспечивает отказоустойчивость службы NDS, а также ускоряет доступ к информации при перенесении реплики с подключенного через глобальную сеть сервера на локальный сервер.
Существуют три типа реплик: главная реплика (master replica), вторичная реплика (read/write replica) и реплика только для чтения (read-only replica).
Главная реплика позволяет проводить над ней такие операции, как создание нового раздела, слияние разделов и удаление раздела. Вторичная реплика разрешает обновлять информацию об объектах, добавлять новые объекты, но не разрешает создавать новые разделы. Реплика только для чтения позволяет только читать информацию из ее базы и проводить операции поиска. В сети может существовать произвольное количество реплик. При изменении информации в какой-либо реплике автоматически запускается процесс обновления всех остальных реплик. Этот процесс называется процессом синхронизации службы чсаталогов.