Протоколы NFS

Опубликовано в Технологии > Серверные технологии Продолжение

В сочетании с системой NFS применяется протокол монтирования, позволяющий предоставить с помощью единственного сервера NFS доступ к нескольким иерархиям каталогов. Программное обеспечение протокола монтирования обеспечивает проверку прав доступа и позволяет клиенту получить дескриптор корневого каталога конкретной иерархии каталогов. После получения дескриптора корневого каталога в клиентской программе могут использоваться процедуры NFS для доступа к файлам и каталогам в этой иерархии. В системе Linux, как и в других версиях UNIX, для установки точек монтирования удаленных иерархий каталогов в иерархическом пространстве имен используется протокол монтирования.Вот они итальянские люстры смотрите и любуйтесь.

В статье рассмотрена оригинальная файловая система UNIX и описана реализация методов доступа к файлам с использованием индексных узлов и дескрипторов. Функционирование файловой системы UNIX рассматривается в книге. В статье описана быстродействующая файловая система, на основе которой была создана операционная система Linux. В документе представлен протокол NFS версии 3 и протокол монтирования; в этом документе даны определения большинства понятий, рассматриваемых в настоящей главе. В документе изложены предварительные сведения по созданию версии 4 протокола NFS, а в документе приведено соглашение о координации работ по созданию этой версии между компанией Sun Microsystems и IETF (Internet Engineering Task Force — Инженерная группа проектирования Internet). В документах, и рассматривается интеграция NFS и World Wide Web.

Упражнения

  1. Разработайте программу, которая получает от сервера NFS магический ключ. Воспользуйтесь этой программой для получения магического ключа для нескольких каталогов на нескольких серверах и выведите на печать их содержимое в шестнадцатеричном формате. Попытайтесь догадаться, какая информация содержится в ключе и как он закодирован сервером.
  2. Воспользуйтесь сетевым анализатором для отслеживания сообщений, которыми обмениваются клиент и сервер NFS. Сколько пакетов передается при выполнении каждой из следующих операций: открытие файла, не находящегося на верхнем уровне каталога, чтение 10 байтов из файла и закрытие файла?
  3. Предположим, что сеть, соединяющая между собой клиент и сервер NFS, доставляет пакеты с нарушением порядка следования. Какие ошибки могут возникнуть в результате изменения порядка следования пакетов с запросами на выполнение операций NFS?
  4. Предположим, что сеть, соединяющая между собой клиент и сервер NFS, может не только изменить порядок следования пакетов, но и продублировать эти пакеты. Какие ошибки могут возникать в результате дублирования и изменения порядка запросов на выполнение операций NFS? Сравните ваш ответ с ответом на предыдущее упражнение. Является ли дублирование пакетов предпосылкой возникновения дополнительных аварийных ситуаций? Объясните ваш ответ.
  5. Изучите версии 3 и 4 спецификации NFS. В чем их основные различия? Предлагаются ли в версии 4 такие изменения, которые были бы заметны или важны для программистов?
  6. Хотя система NFS была первоначально спроектирована как не поддерживающая состояние, механизм дескриптора файла вводит в протокол поддержку состояния. Могут ли дескрипторы файлов стать источником каких-либо проблем? Как можно решить эти проблемы? (Подсказка: многие реализации спецификации NFS требуют, чтобы на всех компьютерах с активными клиентскими программами была выполнена перезагрузка после аварийного завершения работы и перезагрузки компьютера файлового сервера.)