1 Сетевое программное обеспечение Лекция 6 Сетевые файловые системы 4. Примеры сетевых файловых служб 4.1 FTP ( File Transfer Protocol) протокол передачи файлов 4.2 NFS( Network File System) сетевая файловая система 4.3 CIFS (Common Internet File System) общая файловая система Internet 4.4 DFS (Distributed File System) распределённая файловая система
2 Сетевая файловая служба на основе протокола FTP (File Transfer Protocol) Протокол FTP позволяет целиком переместить файл с удаленного компьютера на локальный и наоборот, т.е. работает по схеме считывания/записи. Протокол поддерживает команды просмотра удаленного каталога и перемещения по каталогам удаленной файловой системы.
3 Сетевая файловая служба на основе протокола FTP (File Transfer Protocol) В протокол FTP встроены примитивные средства аутентификации удаленных пользователей на основе передачи по сети пароля в открытом виде. Поддерживается анонимный доступ, не требующий указания имени пользователя и пароля, который является более безопасным, так как не подвергает пароли пользователей угрозе перехвата.
4 Клиент FTP : User Interface пользовательский интерфейс, принимающий от пользователя символьные команды и отображающий состояние сеанса FTP на символьном экране User-PI интерпретатор команд пользователя. Этот модуль взаимодействует с соответствующим модулем сервера FTP User-DTP модуль, осуществляющий передачу данных файла по командам, получаемым от модуля User-PI по протоколу клиент-сервер. Этот модуль взаимодействует с локальной файловой системой клиента Состав модулей FTP
5 Сервер FTP: Server-PI модуль, который принимает и интерпретирует команды, передаваемые по сети модулем User-PI Server-DTP модуль, управляющий передачей данных файла по командам от модуля Server-PI. Взаимодействует с локальной файловой системой сервера Состав модулей FTP
6 Схема взаимодействия клиента и сервера Клиент и сервер FTP поддерживают параллельно два сеанса управляющий сеанс сеанс передачи данных Управляющий сеанс открывается при установлении первоначального FTP-соединения клиента с сервером В течение одного управляющего сеанса может последовательно выполняться несколько сеансов передачи данных, в рамках которых передаются или принимаются несколько файлов.
7 Команды взаимодействия клиента и сервера Команды пользовательского интерфейса: команды управления доступом к системе команды управления потоком данных команды службы FTP
8 1. Сервер FTP открывает управляющий порт TCP 21 для прослушивания, ожидая приход запроса на установление управляющего сеанса FTP от удаленного клиента. 2. После установления управляющего соединения клиент отправляет на сервер команды, которые уточняют параметры соединения. Алгоритм взаимодействия клиента и сервера
9 Параметры соединения: 1. Имя и пароль клиента; 2. роль участников соединения (активная или пассивная); 3. порт передачи данных; 4. тип передачи; 5. тип передаваемых данных (двоичные данные или ASCII-код); 6. директивы на выполнение действий (читать файл, писать файл, удалить файл и т. п.). Алгоритм взаимодействия клиента и сервера
10 3. После согласования параметров пассивный участник соединения переходит в режим ожидания открытия соединения на порт передачи данных. Активный участник инициирует это соединение и начинает передачу данных. 4. После окончания передачи данных соединение по портам данных закрывается, а управляющее соединение остается открытым. Пользователь может по управляющему соединению активизировать новый сеанс передачи данных. Алгоритм взаимодействия клиента и сервера
11 Порты передачи данных выбирает клиент FTP (по умолчанию клиент может использовать для передачи данных порт управляющего сеанса) Сервер должен использовать порт, на единицу меньший порта клиента. Алгоритм взаимодействия клиента и сервера
12 Файловая система NFS NFS поддерживает схему удаленного доступа к файлам. Для обеспечения устойчивости клиентов к отказам серверов в NFS принят подход stateless - серверы при работе с файлами не хранят данных об открытых клиентами файлах Работа пользователя с удаленными файлами после выполнения операции монтирования становится полностью прозрачной - поддерево файловой системы сервера NFS становится поддеревом локальной файловой системы.
13 Файловая система NFS Одной из целей разработчиков NFS была поддержка неоднородных систем с клиентами и серверами, работающими под управлением различных ОС на различной аппаратной платформе.
14 Протокол управления монтированием Клиент посылает серверу полное имя каталога и запрашивает разрешение на монтирование этого каталога в какую-либо точку собственного дерева каталогов Получив имя, сервер возвращает клиенту дескриптор файла, являющегося удаленной точкой монтирования. Дескриптор включает: описатель типа файловой системы, номер диска, номер индексного дескриптора (inode) каталога, который является удаленной точкой монтирования, информацию безопасности Операции чтения и записи файлов из монтируемых файловых систем используют дескрипторы файлов вместо символьного имени Монтирование может выполняться автоматически, с помощью командных файлов при загрузке. Протоколы NFS
15 Второй NFS-протокол используется для доступа к удаленным файлам и каталогам Клиенты могут послать запрос серверу для выполнения действия над каталогом, операции чтения или записи файла, запросить атрибуты файла В NFS используется кэширование на стороне клиента Данные в кэш переносятся по блочно и применяется упреждающее чтение, при котором чтение блока в кэш по требованию приложения всегда сопровождается чтением следующего блока по инициативе системы Клиент при очередном открытии файла, имеющегося в его кэше, проверяет у сервера, когда файл был в последний раз модифицирован. Клиенты управляют двумя кэшами, одним для атрибутов файлов (i-узлов) и одним для данных
16 Архитектура файловой системы NFS
17 SMB клиент-серверный протокол для доступа клиентского приложения к общему ресурсу (чтение, запись и т.п.) через запросы к серверу. SMB требует установления и поддержания соединения. Возможен датаграммный режим Протокол SMB (Server Message Block) Samba свободная реализация протокола SMB для UNIX
18 Управление сессиями. Создание, поддержание и разрыв логического канала между клиентом и сетевыми ресурсами файлового сервера. Файловый доступ. Клиент может обратиться к файловому серверу с запросами на выполнение файловых операций (открытие файла, чтение данных и т.п.). Сервис печати. Клиент может ставить файлы в очередь для печати на сервере и получать информацию об очереди печати. Сервис сообщений. SMB поддерживает простую передачу адресных и широковещательных сообщений по локальной сети. Сервисы протокола SMB
19 Современные версии SMB поддерживают два уровня доступа: 1. Доступ на уровне ресурсов. Ограничения накладываются серверной стороной на каталоги общего доступа. Каждый сетевой каталог может быть защищен паролем и клиент должен указать этот пароль для получения доступа к файлам из общего каталога. 2. Доступ на уровне пользователей. Ограничения налагаются на каждый файл в каждом общем каталоге и они основаны на пользовательских правах. Каждый клиент должен войти на сервер под своей учетной записью и пройти аутентификацию. После завершения проверки подлинности клиент получает соответствующий идентификатор пользователя (user ID), который он должен предъявлять для получения доступа к ресурсам сервера.
20 Файловая система CIFS (Common Internet File System) CIFS (Common Internet File System) - открытый стандартный протокол на основе SMB, который обеспечивает доступ к файлам и сервисам на удаленных компьютерах в сетях TCP/IP. Основным транспортом для CIFS является протокол TCP. Для серверов CIFS зарегистрированы порты 445/TCP и 445/UDP
21 Доступ к файловой системе Поддержка файловых операций(открытие, чтение, запись, поиск, закрытие файла или каталога) Блокировка файлов и записей Неблокирующие приложения не имеют доступа к заблокированному файлу или записи. Сервер CIFS принудительно поддерживает блокировку: если один клиент заблокировал область файла, то любая операция записи в эту область файла со стороны другого клиента приведет к возникновению ошибки Возможности протокола CIFS
22 Распределенные реплицируемые виртуальные тома Протокол поддерживает многотомную виртуальную файловую систему, в которой все "поддеревья" файловой иерархии для клиента выглядят как одно целое. CIFS прозрачно для пользователя обрабатывает доступ к физически перемещенным или реплицированным элементам такой файловой системы. Возможности протокола CIFS
23 Независимость от серверов распознавания имен Клиенты могут использовать любой механизм распознавания имен. К примеру, серверы DNS могут использоваться для получения доступа к файловым ресурсам сервера через Internet. Возможности протокола CIFS Поддержка символов Unicode В именах файлов, ресурсов и учетных записях пользователей могут использоваться строки в формате Unicode
24 Возможности протокола CIFS Пакетные запросы Множественные файловые запросы могут быть "упакованы" в одно сообщение, что сокращает время ожидания ответа сервера. Пакетная обработка возможна даже тогда, когда последующие запросы зависят от результатов выполнения предыдущих.
25 DFS (Distributed File System) распределённая файловая система Два типа DFS: Автономная (распределённая файловая система с изолированным корнем) Вся информация хранится на одном сервере. Недостаток такой конфигурации заключается в том, что при аварии сервера перестает функционировать вся система DFS. Отказоустойчивая (доменная распределённая файловая система) предусматривает хранение информации DFS в Active Directory (AD), обеспечивая одновременно защиту от сбоев и условия для реплицирования данных.
26 Для получения доступа к общим папкам DFS необходимо создать корень DFS. В корне хранятся все ссылки на общие папки и файлы. Корень DFS - контейнер, в котором содержатся ссылки на все сетевые папки, к которым открыт доступ Функция репликации позволяет публиковать папки и ссылки DFS в других корнях DFS домена, обеспечивая надежную отказоустойчивость на случай, если сервер выйдет из строя или потребует перезагрузки. Реплицировать можно как общие папки DFS, так и корень. Общие ресурсы, управляемые DFS, используют стандартные разрешения NTFS