Слайд 1Операционные системы
5.1. Недостатки сосредоточенных и изолированных систем
5.2. Понятие компьютерной
сети. Преимущества объединения
5.3. Терминология компьютерных сетей
5.4. Сетевые и распределенные операционные
системы
5.5. Сетевые службы и сетевые сервисы
5.6. Одноранговые и серверные операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
5.7.2. Архитектура Active Directory
5.7.3. Контроллеры домена
Тема 5. Распределенные операционные системы и среды
Слайд 2Операционные системы
5.7.4. Управление объектами Active Directory
5.8. Концепции распределенной
обработки в сетевых ОС
5.8.1. Модели распределенных приложений
5.8.2. Передача сообщений в распределенных системах
5.8.3. Вызов удаленных процедур
5.8.4. Сетевые файловые системы
Тема 5. Распределенные операционные системы и среды
Слайд 3Операционные системы
5.1. Недостатки сосредоточенных и изолированных систем
Мэйнфреймы как достижение технической
мысли (60 – 80 гг.): 1) высокая производительность
и точность вычислений; 2) универсальный режим работы; 3) обслуживание больших коллективов пользователей (через терминалы); 4) возможность удаленного доступа.
Недостатки: 1) большая стоимость; 2) опасность “универсального” краха системы (при поломке ЭВМ прекращается работа всех пользователей); 3)Необходимость высококвалифицированного обслуживающего персонала большой численности
Система изолированных персональных компьютеров: 1) повышение отказоустойчивости; 2) вычислительный потенциал у каждого пользователя, 3) высокое удобство индивидуальной работы.
Недостатки: 1) проблема обмена информацией; 2) неудобства в организации коллективной работы; 3) дополнительные затраты труда; 4) высокая стоимость организации использования периферийных устройств.
Слайд 4Операционные системы
5.1. Недостатки сосредоточенных и изолированных систем
Недостатки: 4)Например для того,
чтобы организовать печать можно было использовать три варианта:
подключение принтера к
каждому ПК;
перенос информации на дискете с компьютера на компьютер с подключенным принтером;
перенос принтера с компьютера на компьютер.
Слайд 5Операционные системы
5.2. Понятие компьютерной сети. Преимущества объединения
Компьютерная сеть – это
два или более компьютеров, связанных коммуникационной системой и программным обеспечением,
позволяющим пользователям получать доступ к ресурсам этих компьютеров.
Сеть могут образовывать компьютеры разных типов. Компьютерная система, объединяющая компьютеры, может включать кабели (коаксиальные, витую пару, волоконно-оптические и др.), повторители, коммутаторы, маршрутизаторы и другие устройства, обеспечивающие передачу информации между любой парой компьютеров сети.
Слайд 6Операционные системы
5.2. Понятие компьютерной сети. Преимущества объединения
Преимущества объединения:
1. Совместное использование дорогостоящих
устройств ввода-вывода (цветные принтеры, плоттеры, цифровые камеры и т. п.) 2. Совместное использование устройств хранения информации. 3. Совместное использование модемов и подключений к Интернет (возможность подключения к Интернет целой локальной сети). 4. Совместное использование файлов данных и приложений. 5. Возможность организации электронной почты и аудио- и видеоконференций. 6. Упрощение и удешевление технического обслуживания, модернизации, замены и установки программного обеспечения.
Слайд 7Операционные системы
5.3. Терминология компьютерных сетей
Топология сети. Различают физическую и логическую
топологии сети.
Физическая топология сети отражает распределение компонентов сети в пространстве
и способ их соединения между собой. Наиболее часто используемыми топологиями являются:
общая шина - все компьютеры подключаются к одной общей шине,
кольцевая - компьютеры объединяются в кольцо,
звездная топологии - все компьютеры соединены с одним концентратором.
Возможны гибридные топологии на базе трех рассмотренных. Существует еще одна - произвольная - топология, часто называемая сетевой, предполагающая наличие многих избыточных соединений между всеми (или почти всеми) компьютерами.
Слайд 8Операционные системы
5.3. Терминология компьютерных сетей
1. Физическая топология сети
Слайд 9Операционные системы
2. Логическая топология сети определяет путь прохождения сигналов от
одного компьютера к другому. Логическая топология тесно связана с физической,
но не всегда ее повторяет. Например, физическая топология сети может быть звездообразной, однако внутри концентратора данные могут передаваться по кругу, образуя логическое кольцо
3. Область действия сети:
локальные сети - развернутые на небольшой площади (комната, этаж, здание, несколько рядом расположенных зданий);
территориальные - (городские, областные и т. п.) - сети, состоящие из некоторого количества локальных сетей;
корпоративные (частные виртуальные сети) - сети крупных предприятий, содержащие достаточно большое количество локальных сетей, распределенных на большой территории и часто (но не обязательно) использующих для связи между собой глобальные сети, в частности Интернет. В этом случае корпоративные сети - это частные виртуальные сети
национальные – сети в пределах государств;
глобальные - сети, состоящие из массы локальных сетей и отдельных компьютеров с производительными связями и практически неограниченными территориями (в пределах стран и даже континентов).
Слайд 10Операционные системы
4. Компьютеры сети
Серверы – компьютеры, предоставляющие свои ресурсы (данные,
программное обеспечение, периферийное оборудование, услуги – печать, электронная почта и
др.) пользователям сети. В больших сетях серверы специализируются, т.е. выполняют одну определенную функцию.
Виды серверов:
файловые серверы - серверы, на котором хранятся фалы данных, доступные для пользователей сети;
серверы печати - компьютеры, управляющие одним или несколькими принтерами, которые могут использоваться пользователями сети;
серверы приложений - это компьютеры, на которых установлены сетевые приложения. Пользователи могут выполнять эти приложения, например обработку текстов или программы баз данных;
регистрационные серверы (контроллеры доменов) предназначены для обеспечения безопасности работы в сети. Такие серверы проверяют права пользователей и управляют доступом к сети и ее ресурсам;
интернет-серверы (WEB-серверы) обеспечивают создание Web-узлов и управление ими;
почтовые серверы предназначены для организации электронной почты и коллективной работы в интрасети и Интернете;
Слайд 11Операционные системы
4. Компьютеры сети
Виды серверов:
терминальные серверы предназначены для выполнения клиентских
приложений. С их помощью компьютеры таких клиентов (недорогих малопроизводительных компьютеров)
могут функционировать как терминалы, а не как независимые системы;
серверы удаленного доступа предоставляют коммутированное соединение. С их помощью пользователи удаленных компьютеров могут получить доступ к сети (серверу) по телефонной линии;
прокси-серверы служат промежуточным звеном между рабочими станциями локальной сети и Интернет, обеспечивая защиту путем агрегирования IP-адресов, т. е. использование одного IP-адреса для всех сеансов доступа в Интернет (например, MS Proxy Server);
факс-серверы предназначены для приема и отправки факсов и для распределения поступивших факсов соответствующим пользователям сети;
кластерные серверы обеспечивают объединение многих серверов в кластеры, т. е. группы независимых компьютерных систем, работающих вместе как одна система (например, MS Windows 2000 Cluster Server), это делается для выполнения особо ответственных задач.
Слайд 12Операционные системы
Клиенты сети – компьютеры и другие сетевые
устройства (например, принтеры), имеющие доступ к ресурсам сети, также программы,
имеющие доступ к программам сервера. Чаще всего клиент – компьютер пользователя сети. Клиенты-компьютеры могут быть “тонкими” и “толстыми” клиентами. В первом случае основная работа по выполнению задачи пользователя производится на сервере, на клиентский компьютер возлагается в основном логика представления (графический интерфейс) задачи. Во втором случае практически все обработки можно осуществлять на машине клиента, которая должна быть достаточно мощной и содержать эффективные программные инструменты разработки приложений.
Рабочая станция: 1. Клиентский (пользовательский) компьютер, на котором установлена клиентская операционная система – клиент, имеющий доступ к серверу. 2. Высокопроизводительный компьютер, интенсивно использующий локальные и сетевые ресурсы (графическая рабочая станция, рабочая станция системы автоматизированного проектирования).
5. Клиенты, рабочие станции, хосты, узлы
Слайд 13Операционные системы
Хост – компьютер или другое устройство сети,
имеющее IP-адрес.
Узел – точка соединения в сети – компьютер
или другое устройство, предназначенное для распознавания и обработки запросов на передачу информации другим узлам сети.
5. Клиенты, рабочие станции, хосты, узлы
Слайд 14Операционные системы
6. Сетевая коммуникационная аппаратура
Простые соединительные устройства – разъемы для
подключения коаксиальных кабелей (BNC T- разъемы и цилиндрические), телефонных линий
(RJ-11), витой пары (RJ-45), разъемы волоконно-оптических кабелей, коммутационные панели и пассивные концентраторы. Не имеют электронных составляющих, служат лишь для соединения.
Сложные соединительные устройства:
преобразователи - для соединения сегментов носителей разных типов, например витой пары с волоконно-оптическим кабелем;
повторители - для соединения двух сегментов сети или двух участков кабеля, регенерируют сигнал;
активные концентраторы - многопортовые повторители;
интеллектуальные концентраторы – активные концентраторы со встроенным микропроцессором, регенерируют сигналы и диагностируют порты.
Слайд 15Операционные системы
6. Сетевая коммуникационная аппаратура
Устройства сегментации и создания подсетей:
мосты –
компьютеры или специализированные устройства, объединяющие два сегмента сети, выполняют фильтрацию
данных на основе MAC-адресов (физический адрес сетевой карты) – передают сообщение в смежный сегмент только в том случае, если адресат получателя принадлежитданному сегменту;
маршрутизаторы - компьютеры или специализированные устройства для соединения отдельных сетей или подсетей, используют логические сетевые адреса (IP – или IPX - адреса), выбирают оптимальный маршрут передачи пакета данных;
коммутаторы, работающие на различных уровнях модели OSI.
Сегментация - это деление сети на части с целью снижения загрузки сегментов (частей) сети. Создание подсетей - это деление сети на отдельные сети - подсети на основе адресной информации.
Слайд 16Операционные системы
Модель OSI (Open System Interconnection)
Модель OSI (Open System Interconnection)
Слайд 17Операционные системы
Модель OSI (Open System Interconnection)
Модель OSI состоит из семи
уровней, каждый из которых представляет собой определенный этап процесса сетевой
коммуникации. Каждый уровень выполняет определенную задачу процесса коммуникации, а затем передает данные вверх или вниз на следующий уровень.
Прикладной уровень обеспечивает взаимодействие между пользовательским приложением и сетью: FTP , Telnet , SMTP , HTTP (передача гипертекста) и др.
Уровень представления (сжатие данных, шифрование, трансляция протоколов). На этом уровне работают шлюзы для соединения различных сетей и Редиректоры – программы, определяющая, чем должен быть обработан запрос – локальным компьютером или устройством сети.
Сеансовый уровень – устанавливает и разрывает диалоги приложений разных компьютеров сети в дуплексном или полудуплексном режиме по установленным правилам обмена, обеспечивает безопасность и распознавание имен.
Транспортный уровень – обеспечение целостности и последовательности пакетов данных. На этом уровне работает DNS, организуются порты и Сокеты приложений.
Сетевой уровень – маршрутизация пакетов. Устройства этого уровня – маршрутизаторы и коммутаторы сетевого уровня.
Канальный уровень: MAC – управление доступом к сети (48-разрядный двоичный адрес сетевой карты) и LLC – управление логическими связями (определяет логическую топологию сети). На этом уровне работают мосты и коммутаторы уровня 2
Физический уровень – формирование аналоговых, цифровых, модулированных и других сигналов, синхронная и асинхронная передача и др.
Слайд 18Операционные системы
Коммутаторы – устройства объединения подсетей (сетей) на различных уровнях
модели OSI:
1. Коммутатор второго уровня – коммутирующий концентратор
– передает пакет только на требуемый порт (к портам подключены компьютеры). (Концентратор передает на все порты) 2. Коммутатор второго уровня – сегментный коммутатор, к его портам подключены сегменты сети. 3. Коммутатор третьего уровня (сетевого) является маршрутизатором специального типа. 4. Коммутатор четвертого уровня – использует информацию, содержащуюся в заголовках протоколов TCP и UDP c целью повышения безопасности данных путем фильтрации списка контроля доступа.
Маршрутизаторы – устройства объединения подсетей (сетей) с выбором оптимального маршрута передачи пакета данных (используют IP и IPX-адресацию).
Слайд 19Операционные системы
5.4. Сетевые и распределенные операционные системы
Сетевая ОС предоставляет
пользователю виртуальную вычислительную систему, работать с которой проще, чем с
реальной сетевой аппаратурой. В то же время эта виртуальная система не полностью скрывает распределенную природу своего реального прототипа.
Термин “сетевая операционная система” используется в двух значениях: 1. Совокупность взаимодействующих ОС всех компьютеров сети. 2. Операционная система отдельного компьютера, позволяющая ему работать в сети.
В идеальном случае сетевая ОС должна предоставлять пользователю сетевые ресурсы в виде ресурсов единой централизованной виртуальной машины. В этом случае сетевая ОС является распределенной ОС. Распределенная операционная система существует как единая ОС в масштабах всей вычислительной системы.
Степень автономности каждого компьютера сети, работающего под управлением сетевой ОС, значительно выше по сравнению с компьютерами, работающими под управлением распределенной ОС.
Слайд 20Операционные системы
5.4. Сетевые и распределенные операционные системы
Сетевая ОС предоставляет
пользователю ресурсы компьютеров сети, для доступа к которым нужно выполнить
некоторые особые операции, например отобразить удаленный разделяемый каталог на вымышленную букву локального дисковода (подключить сетевой диск) или поставить перед именем каталога еще и имя компьютера, на котором тот расположен.
Пользователи сетевой ОС обычно должны быть в курсе того, где хранятся их файлы, и должны использовать явные команды передачи файлов для перемещения файлов с одной машины на другую.
Работая в среде сетевой ОС, пользователь, хотя и может запустить задание на любой машине сети, всегда знает, на какой машине выполняется его задание. По умолчанию пользовательское задание выполняется на той машине, на которой пользователь сделал логический вход.
Слайд 21Операционные системы
5.4. Сетевые и распределенные операционные системы
Если же
он хочет выполнить задание на другой машине, то ему нужно
либо выполнить логический вход в эту машину, используя команду типа remote login, либо ввести специальную команду удаленного выполнения, в которой он должен указать информацию, идентифицирующую удаленный компьютер.
Распределенная ОС, динамически и автоматически распределяя работы по различным машинам сети для обработки, заставляет набор машин работать как виртуальный универсальный процессор. Пользователь распределенной ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.
Распределенная ОС существует как единая операционная система в масштабах вычислительной системы. Каждый компьютер сети, работающий под управлением распределенной ОС, выполняет часть функций этой глобальной ОС, которая объединяет все компьютеры сети для эффективного использования всех сетевых ресурсов.
Слайд 22Операционные системы
Средства управления локальными ресурсами
Сетевые средства
Серверная часть
Клиентская часть
Транспортные средства
Редиректор
МД
Принтер
МЛ
DVD
В сеть
Сетевая
операционная система
Сетевые операционные системы
Сетевая служба: серверная и клиентская части
(сетевые службы)
Слайд 23Операционные системы
5.4. Сетевые и распределенные операционные системы
В структуре сетевой
ОС можно выделить следующие основные функциональные компоненты:
1. Средства управления локальными
ресурсами компьютера, реализующие все функции ОС автономного компьютера (интерфейс с пользователем, создание, планирование и диспетчеризацию процессов, распределение памяти, управление внешней памятью, устройствами ввода-вывода и т. д.).
2. Сетевые средства, содержащие три основных компонента:
средства предоставления локальных ресурсов и услуг в общее пользование -серверная часть ОС;
средства запроса доступа к удаленным ресурсам и услугам - клиентская часть ОС;
транспортные средства ОС, которые совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.
Слайд 24Операционные системы
5.4. Сетевые и распределенные операционные системы
Упрощенно работа сетевой
ОС происходит следующим образом.
Если пользователь компьютера А решил разместить свой
файл на диске компьютера В, то он набирает на клавиатуре некоторую команду и нажимает клавишу Enter.
Программный модуль ОС, отвечающий за интерфейс с пользователем, принимает эту команду и передает ее клиентской части ОС компьютера А.
Клиентская часть ОС не может получить непосредственный доступ к ресурсам компьютера В. Она может только «попросить» об этом серверную часть компьютера В, которому принадлежат требуемые ресурсы.
Слайд 25Операционные системы
5.4. Сетевые и распределенные операционные системы
Упрощенно работа сетевой
ОС происходит следующим образом.
Эта просьба выражается в виде сообщения, передаваемого
по сети с помощью транспортных средств ОС. Эти средства выполняют такие функции, как формирование сообщений, разбиение их на части (пакеты, кадры), преобразование имен компьютеров в числовые адреса (IP-адреса, например определение маршрута передачи сообщения в сложной сети и т. д.).
Правила взаимодействия компьютеров при передаче сообщений по сети заложены в коммуникационные протоколы (Ethernet, Token Ring, IP, IPX и пр.), которые должны быть общими для всех компьютеров сети.
Слайд 26Операционные системы
5.4. Сетевые и распределенные операционные системы
Упрощенно работа сетевой
ОС происходит следующим образом.
Сами протоколы представляют собой набор особым образом
организованных программ, которые выполняют все необходимые функции по переносу сообщений клиентских и серверных частей ОС по сети, не вникая в их содержание.
На стороне компьютера В, на диске которого пользователь хочет разместить свой файл, должна работать серверная часть ОС, постоянно ожидающая прихода запросов из сети на удаленный доступ к ресурсам этого компьютера.
Серверная часть, приняв запрос из сети, обращается к локальному диску и записывает в один из его каталогов указанный файл.
Слайд 27Операционные системы
5.4. Сетевые и распределенные операционные системы
Упрощенно работа сетевой
ОС происходит следующим образом.
Клиентская часть ОС умеет отличить запрос к
удаленному файлу от запроса к локальному файлу, поэтому приложениям не надо заботиться о том, с локальным или удаленным файлом они работают. Клиентская программа сама распознает и перенаправляет (redirect) запрос к удаленной машине.
Отсюда название, часто используемое для клиентской части сетевой ОС, - редиректор. Иногда функции распознавания выделяются в отдельный программный модуль, в этом случае редиректором называют не всю клиентскую часть, а только этот модуль.
Слайд 28Операционные системы
5.5. Сетевые службы и сетевые сервисы
Совокупность серверной и клиентской
частей ОС, предоставляющих доступ к конкретному типу сетевого ресурса, называется
сетевой службой.
Сетевой сервис – это набор услуг, предоставляемых сетевой службой.
Сетевые службы ориентированы на пользователя и администратора сети.
Наиболее важными для пользователей сети являются файловая служба и служба печати. Спектр служб может включать: почтовую службу, удаленный доступ (по телефонным линиям связи), удаленный терминальный доступ, передачу файлов, видеоконференции и др.
К службам, ориентированным на администратора относятся: служба мониторинга сети, служба безопасности, резервного копирования, архивирования и др.
Сетевые службы имеют клиент-серверную архитектуру.
Слайд 29Операционные системы
5.5. Сетевые службы и сетевые сервисы
Поскольку при реализации любого
сетевого сервиса позволяются источник запросов (клиент) и исполнитель запросов (сервер),
то и любая сетевая служба содержит в своем составе две несимметричные части - клиентскую и серверную.
На практике сложилось несколько подходов к построению сетевых ОС, различающихся глубиной внедрения сетевых служб в операционную систему:
сетевые службы глубоко встроены в ОС;
сетевые службы объединены в виде некоторого набора – оболочки. Одна и та же оболочка может предназначаться для работы над разными ОС. Сетевые оболочки подразделяются на клиентские, ориентированные на выполнение функций клиента, и серверные, ориентированные на выполнение функций сервера;
сетевые службы производятся и поставляются в виде отдельного продукта.
Слайд 30Операционные системы
Сетевые службы отдельные продукты (WinFrame – для работы в
среде Windows NT, NetWare Connect – для работы в среде
NetWare)
Встроенные сетевые службы (UNIX, Windows 2000,NetWare)
Операционная система
Операционная система
Сетевая оболочка (набор сетевых служб) – LAN Manager, LAN Server
Операционная
система
Серверная оболочка
Клиентская оболочка
ОС: VAX VMS, VM, OS/400, OS/2, AIX
1
2
3
Слайд 31Операционные системы
В зависимости от распределения функций между компьютерами сети они
могут выступать в трех разных ролях:
компьютер, занимающийся исключительно обслуживанием
запросов других компьютеров, играет роль выделенного сервера сети;
компьютер, обращающийся с запросами к ресурсам другой машины, исполняет роль клиентского узла;
компьютер, совмещающий функции клиента и сервера, является одноранговым узлом.
Сеть не может состоять только из клиентских или только из серверных узлов, поэтому может быть построена по одной из трех следующих схем:
сеть на основе одноранговых узлов - одноранговая сеть;
сеть на основе клиентов и серверов - сеть с выделенными серверами;
сеть, включающая узлы всех типов, - гибридная сеть.
5.6. Одноранговые и серверные операционные системы
Слайд 32Операционные системы
В одноранговых сетях все компьютеры равны в возможностях доступа
к ресурсам друг друга. На всех компьютерах устанавливается такая ОС,
которая предоставляет всем компьютерам сети потенциально равные возможности. Сетевые операционные системы такого типа называются одноранговыми ОС, соответственно компьютерная сеть - тоже одноранговая.
Одноранговые сети проще в организации и эксплуатации, по этой схеме организуется работа в небольших сетях (10-20 компьютеров).
В этом случае нет необходимости в применении централизованных средств администрирования - нескольким пользователям не трудно договориться о перечне разделяемых ресурсов и паролях доступа к ним.
5.6. Одноранговые и серверные операционные системы
Слайд 33Операционные системы
В сетях с выделенными серверами используются специальные варианты сетевых
ОС, которые оптимизированы для работы в роли серверов и называются
серверными ОС. Пользовательские компьютеры в этих сетях работают под управлением клиентских ОС.
5.6. Одноранговые и серверные операционные системы
Многие компании, разрабатывающие сетевые ОС, выпускают два варианта одной и той же ОС. Один вариант предназначен для работы в качестве серверной ОС, другой - в качестве клиентской. Эти варианты чаще всего основаны на одном и том же базовом коде, но отличаются набором служб и утилит, а также параметрами конфигурации, некоторые из них устанавливаются по умолчанию и не поддаются изменению.
Слайд 34Операционные системы
Одноранговая сеть
Локальная часть
Локальная часть
Локальная часть
Локальная часть
К
К
К
К
С
С
С
С
Транспорт
Транспорт
Транспорт
Транспорт
5.6. Одноранговые и серверные
операционные системы
Слайд 35Операционные системы
Сеть с выделенными серверами
Сервер
Сервер
Рабочие станции
Рабочие станции
Особенности серверных ОС:
поддержка мощных
аппаратных платформ, в том числе мультипроцессорных;
поддержка большого числа одновременно выполняемых процессов и сетевых соединений; включение в состав ОС компонентов централизованного администрирования сети (например, службы аутентификации и авторизации пользователей сети); более широкий набор сетевых служб.
Рабочие станции
Слайд 36Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Служба каталогов (Directory Services) представляет собой базу данных и совокупность служб для именования, хранения и выборки информации в распределенной среде, доступных клиентам и администраторам этой среды.
Причины, требующие в сети централизованной базы справочной информации: 1. Появление корпоративных информационных систем. Усложнение задач управления пользователями. Централизованное хранение учетных записей пользователей. 2. Управление сетевыми ресурсами, прозрачность доступа к сетевым ресурсам. 3. Управление сетью на основе БД о топологии сети и характеристик ее компонентов. 4. Организация управления распределенными приложениями. 5. Предоставление справочной информации для работы сетевых служб и сервисов. 6. Управления качеством обслуживания сетевого трафика.
Примеры реализации службы каталогов : Novell Directory Service, Banyan Street Talk, Microsoft windows NT Directory Service, X500 (Consultative Committee for International Telephone and Telegraph, CCITT совместно с ISO).
Способы реализации: 1. Локальные базы справочных служб узкого (специализированного) назначения. 2. Единая централизованная справочная служба на основе распределенной базы данных
Слайд 37Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Особенности первоначальной реализации фирмой Microsoft в Windows NT (NTDS) службы каталогов:
вся инфраструктура корпораций представлялась как одноуровневая модель доменов (см. ниже), связанных между собой односторонними доверительными отношениями;
каждый домен мог иметь только один основной контроллер домена, на котором размещалась база данных, содержащая информацию обо всех пользователях домена;
в целях обеспечения отказа устойчивости можно было установить резервные контроллеры домена;
наличие в домене всего лишь одного основного контроллера накладывало достаточно жесткие ограничения на размер домена (можно было определить до 40 000 пользователей);
для обеспечить возможность присутствия в сети большого количества пользователей, приходилось реализовывать модель с несколькими доменами.
Слайд 38Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Особенности первоначальной реализации фирмой Microsoft в Windows NT (NTDS) службы каталогов:
При этом администрирование такой сети было сопряжено с множеством трудностей в части управления ресурсами и пользователями.
Слайд 39Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Служба Active Directory, реализованная в Windows 2000, позволяет организовать централизованное управление всеми объектами сети, скрывая от пользователей физическую организацию сети. Чтобы получить доступ к объекту, пользователю совершенно не нужно знать, где этот объект физически находится. При этом проверка прав доступа пользователя происходит лишь один раз - в момент входа в систему. Администраторы получают в свое распоряжение средства для организации объектов и последующего управлениями ими.
Служба каталогов Windows 2000/2003 упорядочивает сетевые ресурсы и упрощает к ним доступ, используя два типа сетей: рабочие группы и домены.
Слайд 40Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Рабочая группа (Workgroup) - это логическая группировка объединенных в сеть компьютеров, предоставляющих доступ к некоторым ресурсам, например принтерам или файлам.
Рабочую группу можно сравнить с одноранговой сетью, так как в ней все компьютеры могут совместно обращаться к ресурсам без выделенного сервера.
Каждый компьютер рабочей группы ведет свою базу данных безопасности, администрирования учетных записей пользователей и децентрализованный доступ к ресурсам.
Пользователь должен иметь учетную запись на каждом компьютере, к которому ему нужен доступ. Любые изменения учетных записей пользователя, например смену пароля или добавление новой учетной записи, нужно проделывать на каждом компьютере (представьте работу администратора!).
Слайд 41Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Поэтому рабочие группы удобны для небольшого количества (до 10) рядом расположенных компьютеров, эксплуатируемых опытными пользователями.
В противном случае более удобна другая логическая группировка компьютеров - домен.
В домене организуется общая база данных каталога, содержащая учетные записи пользователей и правила безопасности домена.
Каталог (Active Directory) хранится на контроллерах домена - серверах, управляющих всеми действиями пользователей, связанных с безопасностью в домене, и обеспечивающих централизацию администрирования.
Домен не относится к конкретному расположению или конфигурации сети.
Слайд 42Операционные системы
5.7. Служба каталогов сетевых серверных ОС
5.7.1. Понятие службы каталогов
Компьютеры могут находиться как близко друг к другу в малой ЛВС, так и быть разбросаны по всему миру, имея между собой линии связи, аналоговые или цифровые.
Все сетевые объекты существуют в пределах домена и отражены в его каталоге, который теоретически может содержать более 10 млн. объектов.
На практике проверен работающий каталог с 1 млн. объектов.
Слайд 43Операционные системы
Рабочая группа
Локальная БД
Локальная БД
Локальная БД
Локальная БД
Windows 2000 Server
Windows 2000
Professional
Windows 2000 Professional
Достоинства: простота, не требуется Windows Server, удобство при
небольшом количестве компьютеров при наличии опытных пользователей.
Репликация
Контроллер домена
Контроллер домена
Клиентский компьютер
Клиентский компьютер
Рядовой сервер
Службы Active Directory
Службы Active Directory
Домен
Достоинства: централизованное администрирование, однократный вход в систему, удобство работы, обеспечивают масштабирование.
Слайд 44Операционные системы
5.7.2. Архитектура Active Directory
Возможности, предоставляемые службой каталогов:
централизованное управление, позволяющее администраторам
удобно управлять всеми корпоративными ресурсами.
масштабируемость - способность службы охватывать как один домен, так и множество доменов, один контроллер домена или множество контроллеров домена. Несколько доменов можно объединить в дерево доменов, а несколько деревьев доменов можно связать в лес;
расширяемость каталога, обеспечивающая администраторам возможность добавления в схему каталога новых классов объектов или добавлять новые атрибуты к существующим классам;
Слайд 45Операционные системы
5.7.2. Архитектура Active Directory
Возможности, предоставляемые службой каталогов:
интеграция с DNS
(Domain Name Service), позволяющая именовать объекты Active Directory в соответствии с соглашением о доменных именах. Это обеспечивает автоматическое преобразование доменных имен объектов в IP-адреса;
администрирование с использованием групповых политик, представляющих собой некоторую совокупность настроек, которые применяются к определенной группе компьютера, пользователей, доменов или сайтов;
единая регистрация в сети, позволяющая пользователям получать доступ ко всем сетевым ресурсам (серверам, принтерам, файлам и т. д.) независимо от их расположения в сети;
Слайд 46Операционные системы
5.7.2. Архитектура Active Directory
Возможности, предоставляемые службой каталогов:
безопасность информации, достигаемая
централизованной защитой сети за счет средств аутентификации и управления доступом к ресурсам, встроенным в службу Active Directory. Права доступа можно определять не только для каждого объекта, но и для каждого свойства (атрибута) объекта;
гибкость изменений в службе каталогов в соответствии с изменениями в структуре предприятия;
репликация информации по схеме со многими ведущими (multi-master), позволяющая модифицировать каталог на любом контроллере домена. При наличии в домене нескольких контроллеров это обеспечивает высокую отказоустойчивость и возможность распределения сетевой нагрузки.
Слайд 47Операционные системы
5.7.2. Архитектура Active Directory
Технологии, положенные в основу архитектуры Active
Directory:
Стандарты X.500 и X.509, определяющие информационную модель данных, синтаксис и
формат цифровых сертификатов, используемых для аутентификации пользователей.
Стандартный протокол доступа к каталогам LDAP (Lightweight Directory Access Protocol).
Стек протоколов TCP/IP, являющийся основным при построении сети масштаба корпорации.
Служба DNS (Domain Name Service), используемая для разрешения доменных имен в IP-адреса.
Протокол динамической конфигурации клиента DHCP (Dynamic Host Configuration Protocol).
Система Kerberos – протокол аутентификации пользователей.
Слайд 48Операционные системы
LDAP
REPL
SAM
MAPI
Клиенты LDAP/ADSI/Outlook
Транспорты репликации (RPC поверх IP, SMTP)
Сетевые API- интерфейсы
Windows NT 4
Репликация резервного контроллера домена домена Windows NT 4
Клиенты
Outlook
Системный агент каталога (Directory System Agent, DSA)
Уровень базы данных
Расширяемое ядро хранилища
Файл базы данных Ntds.dit
Архитектура Active Directory
DSA предоставляет API-интерфейсы для выполнения запросов доступа к каталогу. Уровень базы данных обеспечивает объектное представление информации БД путем применения семантики схемы к записям БД и изолирования верхних уровней службы каталога от исходной СУБД. Расширяемое ядро хранилища – файл базы данных Ntds.dit – обрабатывается только ядром хранилища. Администрирование этого файла осуществляется утилитой Ntdsutil .
Слайд 49Операционные системы
В многоуровневой архитектуре Active Directory каждый уровень соответствует серверному
процессу, предоставляющему службу каталога клиентским приложениям.
Архитектура AD включает три уровня
служб, несколько интерфейсов и протоколов.
Уровни служб (системный агент каталога, уровень базы данных и расширяемое ядро хранилища) обрабатывают данные, необходимые для поиска записей в базе данных (БД) каталога.
Над уровнями служб в этой архитектуре расположены протоколы и интерфейсы, обеспечивающие взаимодействие клиентов со службой каталогов.
Высшим уровнем AD является системный агент каталога (Directory System Agent, DSA), предоставляющий API-интерфейсы для доступа к каталогу.
Архитектура Active Directory
Слайд 50Операционные системы
DSA поддерживает несколько интерфейсов. Основной клиентский интерфейс - ADSI
(Active Directory Service Interlaces) - является средством абстрагирования от API-интерфейса
протокола LDAP, используемого в AD.
Интерфейс REPL используется службой репликации для копирования сведений из AD через RPC (Remote Procedure Call - вызов удаленных процедур) поверх протоколов IP или SMTP из стека протоколов TCP/IP.
SMTP (Simple Mail Transport Protocol) применяется только для межсайтовой репликации.
Вызов удаленных процедур RPC поверх IP используется как для внутрисайтовых, так и для межсайтовых репликации.
Архитектура Active Directory
Слайд 51Операционные системы
Еще два поддерживаемых интерфейса - SAM и MAPI применяются
для взаимодействия с клиентами, использующими программное обеспечение более ранних версий.
В
частности, SAM (Security Accounts Manager - диспетчер учетных записей) обеспечивает низкоуровневую совместимость для связи доменов Windows 2000/2003 и Windows NT 4.0. Репликация информации с резервных контроллеров доменов в домен смешанного режима также осуществляется через интерфейс SAM.
«Устаревшие» клиенты MAPI, например клиент MS Outlook, для обмена сообщениями подключаются к DSA посредством MAPI (Messaging Application Programming Interface).
Архитектура Active Directory
Слайд 52Операционные системы
Следующий уровень архитектуры AD - уровень базы данных -
обеспечивает объектное предоставление информации базы данных путем применения семантики схемы
к записям БД и изолирования верхних уровней службы каталога от исходной СУБД. Уровень БД является скрытым внутренним интерфейсом.
Основной функцией базы данных является перевод каждого различного относительного составного имени объекта, который запрашивается клиентом в целое число - тег, применяемый для всех внутренних операций доступа.
Уровень БД гарантирует уникальность тега DN (distinguished паше - составное имя) для каждой записи в базе.
Архитектура Active Directory
Слайд 53Операционные системы
Все данные, описывающие объект, содержатся в виде набора атрибутов,
хранимых в форме полей записи БД. Уровень БД отвечает за
создание, извлечение и удаление индивидуальных записей, полей записей и значений полей.
Нижний уровень архитектуры AD представлен расширяемым ядром хранилища. Службы АР реализованы поверх диспетчера таблиц ISAM (Indexed Sequential Access Method - метод индексно-последовательного доступа).
В Windows 2000/2003 действует улучшенная версия диспетчера таблиц ESE (Extensible Storage Engine). Последний реализует транзакционную БД, применяющую файлы журнала для подтверждения корректного выполнения транзакции.
ESE отвечает за хранение всех объектов AD и поддерживает БД объемом до 16 Тбайт, теоретически способную содержать несколько миллионов объектов для каждого домена.
Архитектура Active Directory
Слайд 54Операционные системы
ESE удовлетворяет потребности AD по хранению информации:
выполняет операции
обновления в виде транзакции для поддержания устойчивости и целостности системы
на случай системных сбоев;
эффективно обрабатывает разреженные записи, в которых многим полям не присвоены значения свойств объектов.
При установке AD создается стандартная схема, определяющая все необходимые и допустимые атрибуты для данного объекта.
ESE оставляет место только для назначенных объекту атрибутов, а не для всех возможных атрибутов. Если в дальнейшем будут добавлены новые атрибуты, для их размещения будет выделен дополнительный объем.
Каталог Active Directory предусматривает выделение в сети двух структур - логической и физической.
Архитектура Active Directory
Слайд 55Операционные системы
Логическая структура:
объект – конкретная сущность (пользователь, принтер, папка, компьютер
и т.д.) с отличительным набором атрибутов;
контейнер – логическое объединение,
группирующее объекты или контейнеры по некоторому признаку;
организационное подразделение – некоторый контейнерный объект, организующий объекты в логические административные группы в рамках домена;
домен – группа компьютеров, совместно использующих общую БД каталога;
дерево доменов – группировка одного или нескольких доменов со смежной структурой имен, предоставляющая совместный доступ к ресурсам;
лес доменов – объединение одного или более деревьев, совместно использующих информацию каталога.
Компоненты Active Directory
Слайд 56Операционные системы
Физическая структура:
контроллер домена – компьютер с серверной ОС Windows
Server, хранящий раздел каталога (локальную БД домена) и отвечающий за
аутентификацию пользователей;
подсеть – сетевая группа с заданной областью IP-адресов и сетевой маской, которая имеет определенное географическое положение;
сайт – одна или несколько подсетей со своим множеством IP-адресов. Компьютеры приписываются сайтом в зависимости от местоположения в подсети или в наборе подсетей. В идеале сайты состоят из хорошо связанных подсетей и компьютеров.
Компоненты Active Directory
Слайд 57Операционные системы
Active Directory
Разделы Active Directory
Локальные БД доменов
Глобальный каталог
Схема каталога Directory
Schema
Class Schema
Attribute Schema
Схема каталога – определения всех объектов и правила,
описывающие структуру каталога, объявления, синтаксис объектных классов и типы атрибутов, входящих в каталог.
Слайд 58Операционные системы
Схема хранится в каталоге в виде двух классов объектов:
объектов Class Schema и объектов Attribute Schema.
Глобальный каталог (Global catalog)
выполняет функции поискового механизма.
Множество объектов, содержащихся во множестве вложенных контейнеров, образуют иерархию - дерево (tree) AD.
Листьями этого дерева являются объекты, а узлами - контейнеры.
В общем случае сеть корпоративного предприятия представляется доменным деревом или доменным лесом.
Каждый домен является разделом каталога AD.
В корне при помощи доверительных отношений связаны дочерние домены. Каждый из них также может быть связан с доменами-потомками. Полное имя домена, входящего в состав дерева, включает в себя по стандартам DNS имена всех его предков, разделенные символом точки.
Компоненты Active Directory
Слайд 59Операционные системы
Домены, использующие одинаковую схему именования, образуют дерево доменов. В
этом случае говорят, что домены используют смежную структуру имен.
Компоненты Active
Directory
Слайд 60Операционные системы
Общий глобальный каталог
microsoft.com
product.microsoft.com
dev.microsoft.com
Доверяет
Доверяет
Доверяет
Дерево доменов
Деревья различают по :
- иерархии доменов; - непрерывности пространства имен; - доверительным отношениям между доменами; - общей схеме; - способности отображать любой объект в списке глобального каталога.
Пространство имен – набор правил именования, обеспечивающих иерархическую структуру, или путь в дереве. По стандартам DNS имя дочернего домена дополняется именем родительского.
clerc1.dev.microsoft.com
clerc2.dev.microsoft.com
Слайд 61Операционные системы
Однако смежная структура имен необязательна. В этом случае, если
у корпорации есть подразделения, работающие независимо друг от друга и
использующие различные схемы именования, их доменные деревья могут быть объединены в лес.
Деревья в лесу обеспечивают доступ к одинаковой схеме и правилам совместной работы объектов. Все домены леса имеют единый глобальный каталог и конфигурационный контроллер.
Домены в дереве связываются друг с другом, используя двусторонние транзитивные доверительные отношения по протоколу Kerberos. Транзитивное доверие означает, что если домен А доверяет домену В и домен В доверяет домену С, то домен А доверяет домену С. Поэтому присоединенный к дереву домен сразу вступает в доверительные отношения с каждым деревом домена.
Компоненты Active Directory
Слайд 62Операционные системы
Пользовательские учетные записи и группы, определенные в доверяемом
домене, могут получать права и полномочия в доверяющем домене, даже
если их нет в его каталоге.
Каждый домен включает один или несколько контроллеров, на которых хранится полная реплика (копия) каталога домена.
Для упрощения администрирования все контроллеры домена равноправны. Поэтому изменения, выполненные на любом контроллере домена, можно реплицировать на другие контроллеры.
Компоненты Active Directory
Слайд 63Операционные системы
Общий глобальный каталог
microsoft.com
seattle.microsoft.com
miami.microsoft.com
msnbc.com
ns.msnbc.com
ms.msnbc.com
доверие
доверие
доверие
Лес доменов
Леса различаются по:
- одному или более набору деревьев; - несвязанному пространству имен между деревьями; - доверительным отношениям между этими деревьями; - общей схеме; - способности отображать любой объект в списке глобального каталога.
доверие
доверие
доверие
Доверительные отношения: - односторонние (явное доверие); - двусторонние - транзитивные (полное доверие).
Слайд 64Операционные системы
Управление доменами, ОП, пользователями и компьютерами
Для доступа к доменным
структурам в ОС Windows 2000/2003 предназначена консоль Active Directory -
домены и доверие. Для каждого корневого домена отображаются отдельные записи.
Слайд 65Операционные системы
Управление доменами, ОП, пользователями и компьютерами
В доменах корпораций выделяются
организационные подразделения (ОП) - это подгруппы, которые часто отображают функциональную
структуру организации.
ОП являются своего рода логическими контейнерами, в которых размещаются учетные записи, общие ресурсы и другие ОП (дочерние).
Для каждого ОП можно определить свою групповую политику, не применяя ее ко всему домену.
Кроме того, ОП позволяет делегировать административные полномочия пользователям, ответственным за использование ресурсов данного ОП.
Организационные подразделения представлены в виде папок в консоли Active Directory - пользователи и компьютеры.
Слайд 66Операционные системы
Управление доменами, ОП, пользователями и компьютерами
Слайд 67Операционные системы
Управление доменами, ОП, пользователями и компьютерами
Планирование сайта производится независимо
от логической структуры домена. AD позволяет создать множество сайтов в
одном домене или один сайт, охватывающий множество доменов.
Нет также связи между диапазоном IP-адресов сайта и пространством имени домена. Компьютеры приписываются к сайтам в зависимости от местоположения в подсети или в наборе подсетей.
Если компьютеры в подсетях способны взаимодействовать на достаточно высоких скоростях, их называют хорошо связанными.
В идеале сайты состоят из хорошо связанных подсетей и компьютеров. Если скорость обмена между подсетями и компьютерами низка, может потребоваться создать несколько сайтов. Хорошая связь дает сайтам некоторые преимущества.
Слайд 68Операционные системы
Управление доменами, ОП, пользователями и компьютерами
Когда клиент входит в
домен, в процессе аутентификации сначала производится поиск локального контроллера домена
в сайте клиента, т. е. по возможности первыми опрашиваются локальные контроллеры, что ограничивает сетевой трафик и ускоряет аутентификацию.
Информация каталога реплицируется чаще внутри сайтов, чем между сайтами. Это снижает межсетевой трафик, вызванный репликацией, и гарантирует, что локальные контроллеры доменов быстро получат обновленную информацию.
Имеется возможность настройки порядка репликации данных каталога, используя связи сайтов.
Например, определить сервер-плацдарм для репликации между сайтами. Основная часть нагрузки от репликации между сайтами ляжет на этот специализированный сервер, а не на любой доступный сервер сайта.
Слайд 69Операционные системы
Управление доменами, ОП, пользователями и компьютерами
Сайты и подсети настраиваются
в консоли Active Directory - сайты и службы.
Слайд 70Операционные системы
5.7.3. Контроллеры домена и сайты
DNS - сервер
LDAP - сервер
Рабочая
станция
1. Поиск контроллера домена через DNS
2. Адрес контроллера домена
3. Доступ
к данным каталога при помощи LDAP
4. Данные каталога
Контроллер домена
Хранилище данных (data stores) - файл NTDS.DIT и глобальные каталоги (global catalogs)
NTDS.DIT СОДЕРЖИТ: 1. Данные домена – информация об объектах домена (учетные записи, общие ресурсы, ОП, групповые политики). 2. Данные конфигурации (топология каталога, список лесов, деревьев, контроллеров и серверов ГК). 3. Данные схемы - информация об объектах и типов данных, которые могут храниться в каталоге.
Слайд 71Операционные системы
5.7.3. Контроллеры домена и сайты
В роли контроллера домена в
среде Windows 2000/2003 выступает компьютер, отвечающий за аутентификацию пользователей и
содержащий полную копию базы данных AD этого домена.
В каждом домене один или несколько компьютеров должны выполнять функции контроллеров доменов.
Для поиска контроллера домена клиент обращается к протоколу, описанному в DNS, - стандартной службе каталогов, применяемой в настоящее время для сетей TCP/IP. Главное назначение службы DNS - преобразовать простые для запоминания имена (DNS-имена) в IP-адреса.
Каждый DNS-сервер «знает» свое место в глобальном пространстве DNS-имен, что позволяет передавать неразрешенные запросы другим серверам.
Поэтому - пусть и не сразу - каждый клиентский запрос находит нужный контроллер домена.
Слайд 72Операционные системы
5.7.3. Контроллеры домена и сайты
После этого для доступа к
данным AD используется протокол LDAP.
Протокол LDAP работает поверх TCP/IP и
определяет способы доступа к каталогу со стороны клиентов.
Кроме механизма доступа протокол реализует соглашение по именованию информации в каталоге, в явном виде описывая структуру этой информации.
Для получения информации о некотором элементе клиент должен указать уникальное имя этого элемента, которое называется отличительным, или различающимся, именем (distinguished name, DN).
Отличительное имя - это набор имен, отражающих путь от корня дерева домена до интересующего элемента.
В передаваемых LDAP-пакетах всегда указывается отличительное имя, однако в пользовательском интерфейсе можно применять более удобную и простую форму имени.
Слайд 73Операционные системы
5.7.3. Контроллеры домена и сайты
Помимо отличительного имени каждый объект
каталога имеет относительное отличительное имя (relative distinguished name, RDN), которое
является атрибутом самого этого объекта, а не образуется как цепочка имен от корня дерева до объекта.
В AD имеется несколько контекстов имен, которые представляют собой законченные, непрерывные поддеревья каталога и являются объектами репликации (копирования). Каждый контроллер домена имеет по меньшей мере три контекста имен:
схема (Schema), описывающая классы объектов и их атрибуты, хранящиеся в AD;
конфигурация (Configuration) - топология репликации и связанные с ней метаданные (например, сведения о контроллерах домена);
Слайд 74Операционные системы
5.7.3. Контроллеры домена и сайты
один или несколько пользовательских,
или доменных, контекстов имен, т. е. контекстов, содержащих реальные рабочие
объекты каталога. При этом контроллеры домена хранят реальные объекты только своего домена.
При помощи протокола LDAP несложно получить доступ к некоторому элементу, если клиенту известны имя домена, к которому этот объект относится, и отличительное имя объекта.
Однако в AD можно осуществлять поиск, зная только значение атрибута. Для ускорения поиска AD позволяет индексировать атрибуты заданных типов.
В более сложных случаях на помощь приходит глобальный каталог (Global Catalog, GC).
Все домены, входящие в некоторое дерево или лес доменов, используют общий, единый глобальный каталог, в котором имеется копия каждого элемента этих доменов.
Слайд 75Операционные системы
5.7.3. Контроллеры домена и сайты
В GC входят только некоторые
из атрибутов каждого элемента - те, которые могут представлять интерес
в масштабах леса.
Сервером глобального каталога можно назначить любой контроллер домена с учетом требований сетевой среды к операциям поиска и обслуживанию запросов на регистрацию.
По умолчанию GC создается автоматически на первом контроллере домена в лесе.
Кроме поиска GC реализует единую регистрацию в сети. Глобальный каталог хранит информацию об универсальных группах, в которую могут входить члены разных доменов.
Репликация (replication, дублирование) данных в каталоге, т. е. хранение копий каталога на других компьютерах, повышает производительность и надежность работы сети.
Слайд 76Операционные системы
5.7.3. Контроллеры домена и сайты
В AD используется так называемая
multi-master replication - репликация со многими основными контроллерами доменов.
Клиент может
изменить любую копию, после чего изменения распространяются по всем другим копиям, хранящимся на других компьютерах данного домена. При этом копируются только измененные атрибуты элементов каталога.
Репликация не создает большого трафика в сети именно потому, что пересылаются не объекты целиком, а только их измененные атрибуты. Поэтому репликация данных AD на нескольких контроллерах домена вполне оправданна.
Для доменов, занимающих большие территории, является разумным обращение клиента к службе каталогов ближайшего контроллера.
Слайд 77Операционные системы
5.7.3. Контроллеры домена и сайты
С этой целью администратор может
разделить домен на несколько сайтов (site).
Сайт - это одна или
несколько IP-подсетей, входящих в ту часть сети, где соединения между компьютерами выполняются быстро и надежно.
По сути, сайты отражают физическую топологию коммуникационных каналов всей сети. Правильно спланированные сайты не перегружают сетевые каналы связи графиком репликации, и репликация между компьютерами, входящими в сайт, выполняются чаще, чем между компьютерами различных сайтов.
Однако некоторые изменения в каталоге эффективнее выполнить с одним основным контроллером (single-master), называемым основным контроллером операций. Он отвечает за выполнение определенных функций, которые называются ролями контроллера операций.
Слайд 78Операционные системы
5.7.3. Контроллеры домена и сайты
Эти роли могут назначаться разным
контроллерам домена внутри домена или леса и передаваться от одного
контроллера к другому.
Слайд 79Операционные системы
Один домен с несколькими сайтами
Несколько сайтов с несколькими доменами
Сайт
1
Сайт 2
Сайт 3
Сайт 1
Сайт 2
Сайт 3
Медленный или ненадежный канал
связи
Слайд 80Операционные системы
Доступ и распространение данных Active Directory. Протоколы и репликация
Хозяин
схемы (Schema Master) – управляет обновлениями и изменениями схемы каталога.
Хозяин
именования доменов (Domain Naming Master) – управляет добавлением и удалением доменов в лесу.
В каждом лесе Active Directory должны существовать следующие роли, которые можно назначить только одному контроллеру в пределах леса:
Эти роли, общие для всего леса в целом, должны быть в нем уникальными. Другими словами, можно настроить только одного хозяина схемы и одного хозяина именования доменов.
Слайд 81Операционные системы
Доступ и распространение данных Active Directory. Протоколы и репликация
Следующие
три роли можно назначать только одному контроллеру в рамках домена:
хозяин
относительных идентификаторов (RID - Relative ID Master) выделяет относительные идентификаторы для всех контроллеров своего домена. При создании на некотором контроллере объектов типа «пользователь», «группа» или «компьютер», этому объекту назначается уникальный идентификатор безопасности (SID - Security Identifier), состоящий из идентификатора безопасности домена и уникального идентификатора, который был выделен хозяином RID.
Эмулятор PDC (Primary Domain Controller Emulator), предназначенный для выполнения функций главного контроллера домена Windows NT, если в домен входят компьютеры, не имеющие клиента для Windows 2000/2003, или резервные контроллеры домена (BDC).
хозяин инфраструктуры (Infrastructure Master), обновляющий ссылки на объекты других доменов при изменении этих объектов.
Слайд 82Операционные системы
Доступ и распространение данных Active Directory. Протоколы и репликация
Если
в домене несколько контроллеров домена, то не следует назначать роль
хозяина инфраструктуры контроллеру, на котором находится глобальный каталог, так как в этом случае хозяин инфраструктуры функционировать не будет, поскольку при изменениях объектов не будут обновляться междоменные ссылки на эти объекты.
Если в домене только один контроллер, он выполняет все роли хозяев операций.
Слайд 83Операционные системы
5.7.4. Управление объектами Active Directory
Задачи управления:
поиск объектов, их создание, изменение,
перемещение и уничтожение.
Для решения этих задач нужно обладать соответствующими полномочиями.
Слайд 84Операционные системы
5.7.4. Управление объектами Active Directory
Если после запуска Active
Directory нужный объект не виден, следует связаться с контроллером другого
домена, чтобы проверить, нет ли там этого объекта.
Если у пользователя есть соответствующие права доступа, в консоли Active Directory - пользователи и компьютеры разрешается работать с любым доменом леса.
В консоли Active Directory - пользователи и компьютеры предусмотрена встроенная функция поиска учетных записей, общих ресурсов и других объектов каталога в текущем или указанном домене или во всем каталоге.
Слайд 87Операционные системы
5.8. Концепции распределенной обработки в сетевых ОС
Типовые функциональные части
приложений:
Средства представления данных на экране (графический пользовательский интерфейс).
Логика представления данных
на экране – описание правил и возможностей сценариев взаимодействия пользователя с приложением.
Прикладная логика – набор правил для принятия решения, вычислительные процедуры и операции.
Логика данных – операции с данными, хранящимися в базе данных, которые нужно выполнить для реализации прикладной логики.
Внутренние операции базы данных – действия СУБД в ответ на запросы логики данных (поиск записей по определенным признакам).
Файловые операции – стандартные операции над файлами и файловой системой.
Слайд 88Операционные системы
На основе этой модели можно построить несколько схем распределения
частей приложения между компьютерами сети. Эти схемы можно разделить на
два вида: двухзвенные и трехзвенные.
В двухзвенной схеме возможны следующие варианты:
обработка на сервере;
обработка у клиента;
обработка при сотрудничестве.
В первом варианте компьютер пользователя работает как терминал, а практически вся обработка выполняется на сервере.
Поскольку в этой схеме клиентский компьютер может иметь небольшую производительность и выполняет незначительную часть общей работы, он в этой схеме получил название «тонкий клиент».
5.8.1. Модели распределенных приложений
Слайд 89Операционные системы
Во втором варианте (нижняя схема) - обработка у клиента
- на клиентской машине в предельном случае выполняются все части
приложения, кроме файловых операций.
В сети есть мощный сервер, имеющий дисковую подсистему большого объема, хранящую файлы, доступ к которым необходим большому числу пользователей.
Этот компьютер играет роль файлового сервера, представляя собой централизованное хранилище данных, используемых в разделяемом доступе.
Распределенное приложение в этой схеме мало отличается от полностью локального приложения.
Единственным отличием является обращение к удаленным файлам вместо локальных.
5.8.1. Модели распределенных приложений
Слайд 90Операционные системы
Файловый сервер представляет собой компонент наиболее популярной сетевой службы
- сетевой файловой системы, которая лежит в основе многих распределенных
приложений и некоторых других служб.
В третьем варианте двухзвенной схемы - обработке при сотрудничестве - приложения выполняются оптимальным образом, используя сильные стороны машин клиента и сервера, а также распределенности данных.
На серверный компьютер возлагаются функции проведения внутренних операций базы данных и файловых операций. Причем эти функции не зависят от специфики приложений. Клиентский компьютер выполняет все функции, специфические для данного приложения.
5.8.1. Модели распределенных приложений
Слайд 91Операционные системы
Поскольку функции управления базами данных нужны далеко не всем
приложениям, то, в отличие от файловой системы, они чаще всего
не реализуются в виде службы сетевой ОС, а являются независимой распределенной прикладной системой.
Система управления базами данных (СУБД) является одним из наиболее часто применяемых в сетях распределенных приложений.
Не все СУБД являются распределенными, но практически все мощные СУБД, позволяющие поддерживать большое число сетевых пользователей, построены в соответствии с моделью клиент-сервер.
5.8.1. Модели распределенных приложений
Слайд 92Операционные системы
Компьютер 1
Эмуляция терминала сервера
Тонкий клиент (thin client)
Логика приложения и
обращения к базе данных
Операции базы данных
Файловые операции
Сервер баз данных
Компьютер 2
Компьютер
1
Интерфейс пользователя
Логика приложения и обращения к базе данных
Файловые операции
Компьютер 2
Операции базы данных
Толстый клиент (thick client)
Сервер файлов
Двухзвенные схемы
1.
2.
1. Недостаточная масштабируемость и отсутствие отказоустойчивости, ограничение количества клиентов, простота обновления приложений. 2. Хорошая масштабируемость, рост сетевой нагрузки, необходимость обновления приложений на всех клиентских компьютерах, высокопроизводительный клиент-компьютер.
5.8.1. Модели распределенных приложений
Слайд 93Операционные системы
Интерфейс пользователя
Логика приложения и обращения к базе данных
3.
Операции базы
данных
Файловые операции
Компьютер 1
Компьютер 2
Клиент
Сервер
3. Оптимальное использование сильных сторон сервера и
клиента
Трехзвенные схемы
Интерфейс пользователя
Логика приложения и обращения к базе данных
Операции базы данных
Файловые операции
Компьютер 1
Компьютер 2
Компьютер 3
Тонкий клиент
Сервер приложений
Сервер баз данных
Трехзвенная схема применяется для централизованной реализации в сети общих для распределенных приложений функций, отличных от файлового сервиса и управления базами данных. Программные модули, выполняющие эти функции,относятся к к классу middleware (промежуточному слою). Цель – позволить приложению (клиенту) получить доступ к различным серверным сервисам, не беспокоясь о различиях между серверами.
Слайд 94Операционные системы
Трехзвенная архитектура позволяет лучше сбалансировать нагрузку на различные компьютеры
сети, а также способствует дальнейшей специализации серверов и средств разработки
распределенных приложений.
Примером трехзвенной архитектуры может служить такая организация приложений, при которой на клиентской машине выполняются средства представления и логика представления, а также поддерживается программный интерфейс для вызова частей приложения второго звена - промежуточного сервера.
Промежуточный сервер называют в этом варианте сервером приложений, так как на нем выполняется прикладная логика и логика обработки данных, представляющих собой наиболее специфические и важные части большинства приложений.
5.8.1. Модели распределенных приложений
Слайд 95Операционные системы
Слой логики обработки данных вызывает внутренние операции базы
данных, которые выполняются третьим звеном - сервером баз данных.
Сервер баз
данных, как и в двухзвенной схеме, выполняет функции двух последних слоев - операции внутри БД и файловые операции.
Централизованная реализация логики приложения решает проблему недостаточной вычислительной мощности клиентских компьютеров для сложных приложений, а также упрощает администрирование и сопровождение.
Трехзвенная схема упрощает разработку крупных приложений.
5.8.1. Модели распределенных приложений
Слайд 96Операционные системы
Посредством промежуточного программного обеспечения реализуются клиент-серверные вычисления. Распределенная система
в целом может рассматриваться как множество доступных пользователю приложений и
ресурсов. Пользователя не должно интересовать физическое размещение данных и приложений.
Все приложения работают посредством однотипного интерфейса прикладного программирования API. Промежуточное программное обеспечение, охватывающее все платформы и сети клиентов и серверов, отвечает за маршрутизацию запросов клиентов соответствующему серверу.
5.8.1. Модели распределенных приложений
Слайд 97Операционные системы
5.8.2. Передача сообщений в распределенных системах
Межпроцессное взаимодействие в компьютерных
системах осуществляется: 1) совместным использованием данных, помещенных в
разделяемую память; 2) передачей данных в виде сообщений.
Сообщение – это блок информации, отформатированный процессом-отправителем таким образом, чтобы он был понятен процессу-получателю.
Сообщение состоит из заголовка (обычно фиксированной длины) и набора данных определенного типа переменной длины.
Заголовок содержит: адреса процесса-отправителя и процесса-получателя и идентификатор сообщения (последовательный номер).
Набор данных содержит: 1) поле типа данных, указывающего, какие данные передаются; 2) поле длины данных, определяющее длину передаваемых данных; 3) поле данных, содержащее передаваемые данные.
Передачей сообщений в распределенных системах управляет транспортная подсистема сетевой операционной системы.
Слайд 98Операционные системы
5.8.2. Передача сообщений в распределенных системах
Транспортная подсистема
В тех случаях,
когда сообщение переносит данные одного и того же типа, поле
типа может быть опущено.
Транспортная подсистема имеет набор средств для организации взаимодействия процессов в сети. Назначение этой системы - экранировать детали сложных сетевых протоколов от программистов.
Подсистема позволяет процессам взаимодействовать посредством достаточно простых примитивов. В самом простом случае системные средства обеспечения связи могут быть сведены к двум основным коммуникационным примитивам: один send (отправить), другой receive (получить) - для получения сообщения.
Слайд 99Операционные системы
5.8.2. Передача сообщений в распределенных системах
Транспортная подсистема
На их базе
могут быть построены более мощные средства сетевых коммуникаций, такие как
распределенная файловая система или служба вызова удаленных процедур, которые, в свою очередь, также могут служить основой для работы других сетевых служб.
Транспортная подсистема сетевой ОС имеет сложную структуру, отражающую структуру семиуровневой модели взаимодействия открытых систем (Open System Interconnection, OSI). В процесс выполнения примитивов send и received вовлекаются средства всех нижележащих коммуникационных протоколов.
Центральным вопросом взаимодействия процессов в сети является способ их синхронизации, который полностью определяется используемыми в ОС коммуникационными примитивами.
Слайд 100Операционные системы
5.8.2. Передача сообщений в распределенных системах
Транспортная подсистема
В этом
отношении коммуникационные примитивы делятся на блокирующие (синхронные) и неблокирующие (асинхронные).
Коммуникационные
примитивы могут быть оформлены в операционной системе двумя способами: как внутренние процедуры ядра ОС (в этом случае ими могут пользоваться только модули ОС) или как системные вызовы (доступные в этом случае процессам в пользовательском режиме).
Слайд 101Операционные системы
Компьютер 1
Приложение
Приложение
Send
Receive
TCP/UDP
TCP/UDP
IP
IP
Ethernet
Ethernet
Сетевой адаптер
Сетевой адаптер
Подсистема передачи сообщений
Компьютер 2
Способы реализации: внутренние
процедуры ядра, системные вызовы, блокирующие или неблокирующие примитивы
Подсистема передачи сообщений
Слайд 102Операционные системы
5.8.2. Передача сообщений в распределенных системах
Синхронное и асинхронное взаимодействие
процессов
При использовании блокирующего примитива send процесс, выдавший запрос на его
выполнение, приостанавливается до момента получения по сети сообщения о том, что приемник получил отправленное сообщение.
А вызов блокирующего примитива received приостанавливает вызывающий процесс до момента, когда он получил сообщение.
При использовании неблокирующих примитивов send и receive управление возвращается вызывающему процессу немедленно, сразу после того, как ядру передается информация о том, где в памяти находится буфер, в который нужно поместить сообщение, отправляемое в сеть или ожидаемое из сети.
Слайд 103Операционные системы
5.8.2. Передача сообщений в распределенных системах
Синхронное и асинхронное взаимодействие
процессов
Преимуществом этой схемы является параллельное выполнение вызывающего процесса и процедур
передачи сообщения.
Для уведомления процесса-получателя о том, что сообщение пришло и помещено в буфер требуется один из двух способов:
опрос (polling). Этот метод предусматривает наличие еще одного базового примитива test (проверить), с помощью которого процесс-получатель может анализировать состояние буфера;
прерывание (interrupt). Этот метод использует программное прерывание для уведомления процесса-получателя о том, что сообщение помещено в буфер (хотя это и эффективно, но усложняет программирование).
Слайд 104Операционные системы
5.8.2. Передача сообщений в распределенных системах
Синхронное и асинхронное взаимодействие
процессов
При использовании блокирующего примитива send может возникнуть ситуация, когда процесс-отправитель
блокируется навсегда. Чтобы предотвратить такую ситуацию, блокирующий примитив send, часто используя механизм тайм-аута, завершается со статусом «ошибка» (это же относится к примитиву receive).
Если при взаимодействии двух процессов оба примитива - send и receive - являются блокирующими, говорят, что процессы взаимодействуют по сети синхронно, в противном случае взаимодействие асинхронное.
Слайд 105Операционные системы
Выполнение процесса-отправителя
Send; приостановка выполнения
Выполнение процесса-получателя
Receive; приостановка выполнения
Сообщение
Возобновление выполнения
Возобновление выполнения
Подтверждение
Синхронное
взаимодействие с помощью блокирующих примитивов Send и Receive. Достоинства –
простота, надежность, необходимость только 1-го буфера. Недостатки – ограниченный параллелизм, возможность тупиков.
Выполнение процесса-отправителя
Сообщение
Тест – результат отрицательный
Тест – результат отрицательный
Тест – результат положит.
Тест – результат положит.
Выполнение процесса-получателя
Асинхронное взаимодействие с помощью неблокирующих примитивов Send и Receive. Достоинства – производительность. Недостатки: сложность, необходимость в большом буфере, возможность потерь данных, необходимость в управлении потоком данных.
Тайм-аут для исключения блокировок процессов
Подтверждение
Слайд 106Операционные системы
5.8.3. Вызов удаленных процедур
Вызов удаленных процедур (RPC) позволяет организовать
взаимодействие программ
в сети, например для организации сетевых распределенных вычислений.
1. Разными (разнесенными в пространстве) адресными полями компьютеров, что создает проблемы в передаче параметров и результатов, особенно если машины и их ОС не идентичны.
2. Отсутствие разделяемой памяти означает, что значения параметров должны копироваться с одной машины на другую. 3. RPC использует нижележащую систему обмена сообщениями, однако это не должно быть явно видно ни в определении процедур, ни в самих процедурах. 4. В реализации RPC участвует как минимум два процесса, аварийное завершение любого из них может привести к проблемам. 5. Неоднородность языков программирования и операционных сред.
Сложность реализации RPC по сравнению с вызовом локальных процедур обусловлена:
Характерными чертами RPC являются: асимметричность (одна из сторон является инициатором взаимодействия), синхронность (выполнение вызывающей процедуры блокируется с момента выдачи запроса и возобновляется только после возврата из вызываемой процедуры).
Слайд 107Операционные системы
5.8.3. Вызов удаленных процедур
Суть метода состоит в том, чтобы
позволить программам, находящимся на разных компьютерах, взаимодействовать с использованием семантики
вызова и возврата из процедур так же, как если бы программы располагались на одном компьютере.
Таким образом, обращение к сервису на удаленной машине выполняется как простой вызов процедуры. Популярность этого подхода обусловлена рядом достоинств метода:
1. Вызов процедуры - широко распространенная, используемая и понятная абстракция.
2. Использование вызова удаленных процедур позволяет задавать удаленный интерфейс как множество именованных операций определенного типа. Таким образом, интерфейс можно точно документировать, и распределенные программы смогут выполнять статическую проверку типов.
Слайд 108Операционные системы
5.8.3. Вызов удаленных процедур
3. Поскольку интерфейсы стандартизованы и точно
определены, коммуникационный код может генерироваться автоматически.
4. По этой же причине
разработчики могут создавать клиентские и серверные модули, которые требуют минимальных доработок при переносе между различными компьютерными платформами и операционными системами.
Идея, положенная в основу RPC, состоит в том, чтобы вызов удаленной процедуры по возможности выглядел так же, как и вызов локальной процедуры, т. е. чтобы он был прозрачным для программиста: вызывающей процедуре не требуется знать, что вызываемая процедура находиться на другой машине, и наоборот.
Слайд 109Операционные системы
Компьютер-клиент
Компьютер-сервер
Процесс-клиент
Return
Call
Call
Return
Процедура RPC
Выполнение
Клиентский стаб
Распаковка параметров
Упаковка параметров
Серверный стаб
Распаковка параметров
Упаковка параметров
Ядро ОС
Ядро
ОС
RPC Runtime
RPC Runtime
Подсистема обмена сообщениями
Подсистема обмена сообщениями
Receive
Receive
Send
Send
Сообщение-вызов
Сообщение-ответ
Механизм
RPC достигает прозрачности за счет использования клиентского и серверного стаба, организующих передачу параметров и возврат значения процедуры через сеть
Сообщение: Имя, параметры
Сообщение: Результат
Слайд 110Операционные системы
5.8.3. Вызов удаленных процедур
Когда вызываемая процедура действительно является удаленной,
в библиотеку процедур вместо локальной реализации оригинального кода процедуры помещается
другая версия процедуры, называемая клиентским стабом (stub - заглушка).
На удаленный компьютер, который выполняет роль сервера процедур, помещается оригинальный код вызываемой процедуры, а также еще один стаб, называемый серверным стабом.
Назначение стабов - организовать передачу параметров вызываемой процедуре и возврат значения процедуры через сеть, при этом код оригинальной процедуры, помещенной на сервер, должен быть полностью сохранен.
Стабы используют для передачи данных через сеть средства подсистемы обмена сообщениями, т. е. существующие в ОС примитивы send и receive.
Слайд 111Операционные системы
5.8.3. Вызов удаленных процедур
Иногда в подсистеме обмена сообщениями выделяется
программный модуль, организующий связь стабов с примитивами передачи сообщений, называемый
модулем RPCRuntime.
Подобно оригинальной процедуре, клиентский стаб вызывается путем обычной передачи параметров через стек, однако затем вместо выполнения системного вызова, работающего с локальным ресурсом, происходит формирование сообщения, содержащего имя вызываемой процедуры и ее параметры. Эта операция называется операцией упаковки параметров.
После этого клиентский стаб обращается к примитиву send для передачи этого сообщения удаленному компьютеру, на который помещена реализация оригинальной процедуры.
Слайд 112Операционные системы
5.8.3. Вызов удаленных процедур
Для получения сообщения серверный стаб должен
предварительно вызвать примитив receive, чтобы ядро знало, для кого пришло
сообщение.
Получив из сети сообщение, ядро ОС удаленного компьютера вызывает серверный стаб, который извлекает из сообщения параметры вызова, имеющиеся в сообщении, и обычным образом вызывает оригинальную процедуру, передавая ей параметры через стек.
После окончания работы процедуры серверный стаб упаковывает результат ее работы в новое сообщение и с помощью примитива send передает сообщение по сети клиентскому стабу, а тот возвращает обычным образом результат и управление вызывающей процедуре.
Ни вызывающая, ни оригинальная процедуры не изменились от того, что они стали работать на разных компьютерах.
Слайд 113Операционные системы
5.8.3. Вызов удаленных процедур
Стабы могут генерироваться вручную или автоматически.
В
первом случае программист использует средства, предоставляемые ему разработчиком средств RPC,
но это достаточно объемная работа.
При автоматическом способе применяется специальный язык определения интерфейса (Interface Definition Language), с помощью которого программист описывает интерфейс между клиентом и сервером RPC.
Процедура, устанавливающая взаимодействие между удаленной процедурой и вызывающей программой, называется связыванием (binding).
Непостоянное связывание (nonpersistent binding) означает, что логическая связь между двумя процессами устанавливается во время вызова удаленной процедуры и немедленно уничтожается после получения возвращаемого значения.
Слайд 114Операционные системы
5.8.3. Вызов удаленных процедур
Поскольку соединение требует поддержки информации о
состоянии на обоих концах, оно потребляет ресурсы. Поэтому непостоянное связывание
позволяет эти ресурсы сэкономить. Однако при этом возникают излишние накладные расходы по установлению связывания при каждом вызове процедуры, если такие вызовы осуществляются часто.
При постоянном связывании (persistent binding) установленная при вызове процедуры связь не уничтожается после окончания вызова. Поэтому она может использоваться и для других вызовов удаленных процедур.
Если в течение предопределенного времени не осуществляется ни один вызов, такая связь с целью экономии ресурсов разрывается.
Вызовы удаленных процедур могут быть синхронными и асинхронными.
Слайд 115Операционные системы
5.8.3. Вызов удаленных процедур
Традиционный вызов - синхронный, при котором
вызывающий процесс ожидает, пока вызываемый процесс не вернет результирующее значение,
т. е. синхронный RPC ведет себя так же, как и обычный вызов процедуры.
Синхронный RPC прост для понимания и программирования, поскольку его поведение предсказуемо. Однако такой вызов не позволяет в полной мере использовать возможность параллельных вычислений в распределенных приложениях и может привести к снижению производительности.
Для обеспечения большей гибкости и большей степени параллельности реализуются различные варианты асинхронного RPC, сохраняющие простоту и удобство традиционных вызовов удаленных процедур.
Слайд 116Операционные системы
5.8.3. Вызов удаленных процедур
Асинхронные вызовы не блокируют вызывающую программу.
Ответ может быть получен вызывающей программой тогда, когда он ей
потребуется, так что клиент может продолжать работу параллельно с обработкой его запроса сервером.
Обычно асинхронный RPC используется для того, чтобы позволить клиенту сделать несколько запросов к серверу, каждый со своим набором данных, не дожидаясь его ответов. Синхронизация клиента и сервера при этом может быть выполнена одним из двух способов:
1. Приложение-клиент дожидается ответа на все отправленные запросы.
2. По окончании выполнения последовательности асинхронных RPC клиент выполняет синхронный вызов удаленной процедуры. Сервер ответит на синхронный вызов только после окончания обработки всех предшествующих асинхронных вызовов.
Слайд 117Операционные системы
5.7.4. Сетевые файловые системы
Важнейший компонент любой распределенной системы -
файловая система, которая в этом случае также является распределенной.
Как и
в централизованных системах, функцией файловой системы является хранение программ и данных и предоставление клиентам доступа к ним.
Распределенная файловая система поддерживается одним или более компьютерами, хранящими файлы. Файловые серверы обычно содержат иерархические файловые системы, каждая из которых имеет корневой каталог и каталоги более низких уровней.
Во многих сетевых файловых системах клиентский компьютер может подсоединять и монтировать эти файловые системы к своим локальным файловым системам, обеспечивая пользователю удобный доступ к удаленным каталогам и файлам.
Слайд 118Операционные системы
5.7.4. Сетевые файловые системы
При этом данные монтируемых файлов
никуда не перемещаются физически, оставаясь на серверах.
С программной точки зрения
распределенная файловая система (ФС) - это сетевая служба, включающая программы-серверы и программы-клиенты, взаимодействующие между собой по определенному протоколу.
Файловая служба в распределенных файловых системах имеет две функционально различные части: собственно файловую службу и службу каталогов файловой системы.
Первая имеет дело с операциями над отдельными файлами, такими как чтение, запись или добавление (изменение), а вторая - с созданием каталогов и управлением ими, добавлением и удалением файлов из каталогов и т. п.
Слайд 119Операционные системы
5.7.4. Сетевые файловые системы
В хорошо организованной распределенной системе
пользователи не знают, как реализована файловая система (сколько файловых серверов,
где они расположены, как они работают).
В идеале для пользователя сетевая файловая система должна выглядеть так, как его собственная на его компьютере, т. е. быть совершенно прозрачной.
Однако в реальности сетевые файловые системы пока еще не полностью соответствуют такому идеалу.
Слайд 120Операционные системы
5.7.4. Сетевые файловые системы
Элементы сетевой файловой системы:
Локальные файловые системы.
Интерфейсы
локальной файловой системы.
Серверы сетевой файловой системы.
Клиенты сетевой файловой системы (программы,
работающие на компьютерах, подключенных к сети).
Интерфейс сетевой файловой системы.
Протокол клиент-сервер сетевой файловой системы
Клиенты сетевой ФС - это программы, работающие на многочисленных компьютерах, подключенных к сети. Эти программы обслуживают запросы приложений на доступ к файлам, хранящимся на удаленных компьютерах.
Слайд 121Операционные системы
5.7.4. Сетевые файловые системы
Клиент сетевой ФС передает по сети
запросы другому программному компоненту - серверу сетевой ФС, работающему на
удаленном компьютере.
Сервер, получив запрос, может выполнить его самостоятельно либо, что является более распространенным вариантом, передать запрос для обработки локальной файловой системе.
После получения ответа от локальной ФС сервер передает его по сети клиенту, а тот, в свою очередь, - приложению, обратившемуся с запросом.
Слайд 122Операционные системы
5.7.4. Сетевые файловые системы
Клиент и сервер сетевой файловой системы
взаимодействуют друг с другом по сети по определенному протоколу. В
случае совпадения интерфейсов локальной и сетевой файловых систем этот протокол будет достаточно простым (ретрансляция серверу запросов , принятых клиентом от приложения, например, с использованием механизма RPC).
Слайд 123Операционные системы
Интерфейс сетевой ФС
Клиент сетевой ФС
Приложения
Интерфейс локальной ФС
Сервер
сетевой ФС
Локальная ФС
Протокол
клиент-сервер сетевой ФС
Слайд 124Операционные системы
5.7.4. Сетевые файловые системы
В операционных системах Windows основной сетевой
файловой службы является протокол SMB (Server Message Block), который был
совместно разработан компаниями Microsoft, Intel и IBM. Его последние расширенные версии получили название Common Internet File System, CIFS.
Протокол работает на прикладном уровне модели OSI. Для передачи по сети своих сообщений SMB использует различные транспортные протоколы. Исторически первым таким протоколом был NetBIOS (и его более поздняя версия NetBEUI), но сейчас сообщения SMB могут передаваться и с помощью других протоколов (TCP/UDP и IPX).
SMB относится к классу протоколов, ориентированных на соединение. Его работа начинается с того, что клиент отправляет серверу специальное сообщение с запросом на установление соединения. Если сервер готов к установлению соединения, он отвечает сообщением-подтверждением.
Слайд 125Операционные системы
5.7.4. Сетевые файловые системы
После установления соединения клиент может
обращаться к серверу, передавая ему в сообщениях SMB команды манипулирования
файлами и каталогами.
В процессе работы возможно возникновение ряда ситуаций, которые могут повлиять на эффективность удаленного доступа к файлам:
1. Отказ компьютера, на котором выполняется сервер сетевой файловой системы, во время сеанса связи с клиентом. Локальная ФС запоминает состояние последовательных операций, которые приложение выполняет с одним и тем же файлом, за счет ведения внутренней таблицы открытых файлов (системные вызовы open, read, write изменяют состояние этой таблицы). При крахе системы таблица открытых файлов теряется после перезагрузки серверного компьютера. В этом случае приложение, работающее на клиентском компьютере, не может продолжить работу с файлами, открытыми до краха.
Слайд 126Операционные системы
5.7.4. Сетевые файловые системы
Одно из решений проблемы основано на
передаче функции ведения и хранения таблицы открытых файлов от сервера
клиенту. При такой организации протокол клиент-сервер упрощается, так как перезагрузка сервера приводит только к паузе в обслуживании.
2. Большие задержки в обслуживании из-за запросов в сети и перезагрузки файлового сервера при подключении большого числа клиентов. Решением проблемы может быть кэширование файлов (частично или целиком) на стороне клиента. Однако в этом случае протокол должен учитывать возможность образования нескольких копий одного и того же файла, которые могут независимо модифицироваться разными пользователями, т. е. протокол должен обеспечивать согласованность копий файлов, имеющихся на разных компьютерах.
Слайд 127Операционные системы
5.7.4. Сетевые файловые системы
3. Потери данных и разрушение целостности
файловой системы при сбоях и отказах компьютеров, играющих роль файловых
серверов. Для повышения отказоустойчивости сетевой ФС можно хранить несколько копий каждого файла (или целиком всей ФС) на нескольких серверах. Такие копии файла называются репликами (replica). Репликация файлов не только повышает отказоустойчивость, но и решает проблему перегрузки файловых серверов, так как запросы к файлам распределяются между несколькими серверами, что повышает производительность файловой системы.
4. Аутентификация выполняется на одном компьютере, например на клиентском, а авторизация, т. е. проверка прав доступа к каталогам или файлам, - на другом, выполняющем роль файлового сервера. Эта общая проблема всех сетевых служб должна учитываться протоколом взаимодействия клиентов и серверов файловой службы.
Слайд 128Операционные системы
5.7.4. Сетевые файловые системы
Перечисленные проблемы решаются комплексно путем создания
службы централизованной аутентификации, репликации, кэширования и др.
Эти дополнительные службы находят
свое отражение в протоколе взаимодействия клиентов и серверов, в результате чего создаются различные протоколы этого типа, поддерживающие тот или иной набор дополнительных функций.
Поэтому для одной и той же локальной ФС могут существовать различные протоколы сетевой ФС.
Так, к файловой системе NTFS сегодня можно получить доступ с помощью протоколов SMB, NCP (NetWare Control Protocol) и NFS (Network File System - протокол сетевой ФС компании Sun Microsystems, используемой в различных вариантах ОС семейства UNIX).
Слайд 129Операционные системы
5.7.4. Сетевые файловые системы
С другой стороны, с помощью одного
и того же протокола может реализоваться удаленный доступ к локальным
ФС разного типа.
Например, протокол SMB используется для доступа не только к ФС типа FAT, но и ФС NTFS, HPFS. Эти ФС могут располагаться как на разных, так и на одном компьютере.
Слайд 130Операционные системы
Клиент SMB
Клиент NCP
Клиент NFS
СерверSMB
Сервер NCP
Сервер NFS
Интерфейс локальной файловой системы
Локальная
файловая система NTFS
Протокол SMB (Server Message Block – MS, Intel,
IBM). Работает на прикладном уровне, используя TCP/IP (NetBIOS, NetBEUI), IPX.
Протокол NFS (UNIX)
NCP – NetWare Control Protocol
Доступ к одной локальной файловой системе с помощью нескольких протоколов клиент-сервер
NetWare Control Protocol
Network File System
FAT
1. Отказ сервера сетевой ФС (локальные табл. открытых файлов). 2. Перегрузка сервера СФС (кэширование у клиента). 3. Нарушение целостности СФС (избыточность и репликация). 4. Аутентификация у клиента, авторизация на сервере.
Проблемы:
RAID-массивы
Сообщение с запросом на установление соединения
Подтверждение. Команды манипулирования файлами.
Приложение