- •Ограничения.
- •Механизм передачи сообщений.
- •Синхронизация.
- •Вызов удалённых процедур.
- •Назначения стабов.
- •Генерация стабов.
- •Формат сообщений в rpc.
- •Модель сетевой файловой системы (сфс).
- •Модифицируемость файлов.
- •Интерфейс сфс.
- •Единицы доступа.
- •Распределение клиентов и серверов по ос.
- •Кэширование.
- •Репликация.
- •Управление репликацией.
- •Согласованность реплик.
- •Примеры сетевых файловых служб ftp, nfs.
- •Организация базы справочных данных.
- •Служба nds и файловая система.
Модель сетевой файловой системы (сфс).
СФС в общем случае включает следующие элементы:
Локальные файловые системы (ЛФС).
Интерфейс ЛФС.
Сервер СФС – получает запрос от клиента. Может выполнить его самостоятельно (редко) или передать запрос ЛФС для отработки (часто). После получения ответа от ЛФС сервер передаёт его по сети клиенту, а тот в свою очередь приложению, обратившемуся с запросом.
Клиент СФС – это программы, работающие на устройствах, подключённых к сети. Программы обслуживают запросы приложений на доступ к файлам, хранящимся на удалённом устройстве. В качестве таких моделей часто выступают графические или символьные модели ОС. Он же передаёт по сети запросы другому компоненту – серверу, работающему удалённо.
Интерфейс СФС – специальный программный интерфейс для обращения приложения к клиентам. Данный интерфейс должен как можно более походить на интерфейс локальной файловой системы, чтобы сохранить принцип прозрачности, а при полном совпадение интерфейсов приложение может обращаться к локальным и удалённым файлам и каталогам с помощью одних и тех же системных вызовов, не принимая во внимания места хранения данных. Например, если на серверах сети используется FAT, то интерфейс СФС повторяет системные вызовы FAT.
Протокол клиент-сервер СФС – специальный протокол для взаимодействия клиента и сервера. В случае совпадения интерфейсов локальный протокол может быть достаточно простым и в его функции будет входить ретрансляция серверу запросов, принятых клиентом от приложений, с которым тот будет обращаться к лфс. Одним из таких механизмов может быть RPC. Пусть файловая система построена на FAT и в качетсвет протокола клиент-сервер используется SMB – основа сетевой файловой службы ОС Windows. Как и все протоколы файловых служб данный протокол работает на прикладном уровне. Для передачи по сети своих сообщений протокол SMB использует транспортные протоколы. На начальном этапе таким протоколом был NetBIOS. Сейчас это стек TCP/IP. SMB относится к классу протоколов, ориентированных на соединение. Работа начинается с того, что клиент отправляет серверу специальное сообщение с запросом на установление соединения и в процессе установления соединения происходит обмен сообщениями и определяют диалект протокола, где диалект – определённое подможеством протокола, так как SMB поддерживает доступ к периферийным устройствам (факс, принтер, сканер, ксерокс). Если сервер готов к установлению соединения, идёт ответ-подтверждение. После установления соединения клиент обращается к серверу, передавая команды манипулирования файлами и каталогами (удалить, изменить, записать). Протокол СФС кроме ретрансляции выполняет и более сложные функции, учитывающие природу сетевого взаимодействия. Так как клиент и сервер работают на разных устройствах, то они могут отказать, либо сообщения передаются по ненадёжной, вносящей большие задержки, сетевой среде.
Выделяют следующие ситуации, где взаимодействие влияет на что-то там:
Отказ устройства, на котором выполняется СФС во время связи с клиентом. Может произойти, когда ЛФС запоминает состояние последовательных операций, которые приложения выполняют с одним и тем же файлом за счёт внутренней таблицы, где вызовы open, read, write изменяют состояние данной таблицы. Если таблица открытых фалов хранится на серверном компьютере, то после его перезагрузки содержимое таблицы теряется и приложение, работающее на клиентском устройстве не может продолжить нормальную работу с этим файлом. Протокол должен позволять приложениям избегать ситуации – передачи функции ведения и хранения таблицы хранения файлов от сервера клиенту (кэширование или слепок таблицы). В таком случае файловый сервер называется stateless. Протокол клиент-сервер при такой организации упрощается, так как перезагрузка сервера ведёт к паузе в обслуживание.
Большие задержки обслуживания из-за заторов в сети и перегрузки файлового сервера (часто при большом подключение клиентов). Определяется время ответа, а клиент должен знать эту величину, поэтому он случайно выбирает величину от половины до полуторного. Для решения этой проблемы протокол целиком кэширует файлы на стороне клиента, при этом необходимо учитывать, что в сети одномоментно может образоваться большое количество копий одного и того же файла, которые независимо могут модифицироваться разными пользователями. Тогда протокол должен обеспечить согласованность копий файла.
Потеря данных и разрушение целостности файловой системы при сбоях и отказах файловых серверов. Для повышения отказоустойчивости создаётся несколько копий каждого файла или лфс. Каждая копия хранится на отдельном устройстве (то есть реплика), тогда протокол сетевого доступа к файлу должен учитывать данную организацию и в случае отказа одного файлового сервера обращается к работоспособному и поддерживающему реплику подобного файла. Репликация решает проблему перегрузки сервера. Она же имеет много общего с кэшированием, но реплики хранятся на файловых серверах, а кэширование производится на клиенте.
Аутентификация выполняется на одном устройстве (клиент), а авторизация на другом (сервер). При авторизации проверяется права доступа к каталогам и фалам. Данная проблема касается всех сетевых служб, так как необходимо учитывать протоколом взаимодействия связь между клиентом и сервером. Решением данной проблемы должен заниматься протокол взаимодействия, в результате чего создаются различные протоколы, которые поддерживают определённый набор дополнительных функций. Следовательно, для одной и той же ЛФС могут существовать различные протоколы СФС
