Блокировка файла

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

Поскольку программное обеспечение NFS версии 2 и последующих версий не поддерживает состояния, для блокировки файла используется дополнительный протокол, известный под названием NLM (Network Lock Manager — Сетевой диспетчер блокировки). Он позволяет клиенту получить в исключительное использование файл, смонтированный в системе NFS (т.е. заблокировать этот файл), а затем освободить блокировку. Хотя основной принцип блокировки файла не меняется, начиная с версии 2 программного обеспечения NFS, многие подробности использования механизма блокировки изменились. В частности, расширены определения всех процедур NLM для включения номера версии протокола, что позволяет исключить путаницу между старыми и новыми версиями.

К сожалению, номера версий NLM не соответствует номерам версий NFS. Версии 1 или 3 протокола NLM могут использоваться с версией 2 протокола NFS, а для версии 3 протокола NFS требуется версия 4 протокола NLM. К числу самых существенных изменений, связанных с внедрением версии 4 протокола NLM, относится увеличение полей с обозначением длины файла и смещения с 32 до 64 битов.

Изменения в протоколе NFS, связанные с переходом от версии 3 к версии 4

Хотя между версиями 3 и 4 протокола NFS есть много небольших различий, основная часть изменений касается защиты. После ее окончательного завершения4 версия 4 позволит лучше выполнять аутентификацию операций обмена данными, чтобы можно было исключить возможность несанкционированного доступа. Эта версия позволит также шифровать передаваемые данные для обеспечения конфиденциальности передаваемых данных.

При использовании технологии RPC для определения протокола необходимо подготовить определения для всех констант и типов данных, применяемых в спецификации протокола, определения процедур, предоставляемых сервером, типов всех параметров и результатов процедур, а также указать назначение каждой процедуры. Определение протокола с помощью RPC представляет собой иную задачу по сравнению с использованием RPC для создания распределенной версии программы, поскольку в первом случае проектировщик должен оперировать абстрактными концепциями, а не преобразовывать структуру существующей программы.

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

Ко времени выхода этой книги версия 4 протокола NFS была определена, но еще не внедрена на практике.

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