WebNFS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:52, 4 июня 2019.
WebNFS
Communications protocol
WebNFS.jpg
Purpose Расширяет свою сетевую файловую систему (NFS) до Интернета.
Developer(s) Sun Microsystems
Introduced октябрь 1996 года
Based on NFS protocol
Port(s) 2049
RFC(s) RFC 1094, RFC 1813, RFC 1831, RFC 1832, RFC 2054, RFC 2055

WebNFS - это продукт и предлагаемый стандартный протокол от Sun Microsystems, который расширяет свою сетевую файловую систему (NFS) до Интернета. Sun считает, что WebNFS предлагает значительные преимущества в производительности по сравнению с существующими интернет-протоколами, гипертекстовым транспортным протоколом (HTTP) и протоколом передачи файлов (FTP). Netscape, Oracle, IBM, Apple и Novell объявили о поддержке WebNFS.

Преимущества WebNFS

WebNFS имеет несколько преимуществ по сравнению с HTTP и FTP. Протокол WebNFS не требует открытия и закрытия соединения для каждого запрошенного файла. Поддерживаются очень большие загрузки файлов, и, поскольку они загружаются по разделам, их можно повторно отправить быстрее, если загрузка прервана. Клиент WebSoft входит в комплект тонкого клиента Sun Network Computer (NC). Sun Microsystems предполагает, что WebNFS может быть технологическим предложением замены или возможного становления частью следующего поколения HTTP, над которым в настоящее время работают члены World Wide Web Consortium (W3C)[Источник 1].

Мониторинг портов сервера

Некоторые NFS-серверы принимают запросы только от зарезервированных портов UDP или TCP, то есть, номера портов ниже 1024. Эти «привилегированные» порты доступны только для процессов Unix с разрешениями суперпользователя. Запросы, которые не поступают из диапазона зарезервированных портов, отклоняются. Это оптимистичный способ предотвращения прямого доступа к серверу от пользовательских процессов, которые могут попытаться подделать учетные данные RPC AUTH_UNIX. Поскольку клиенты WebNFS не обязаны использовать зарезервированные порты, сервер WebNFS не должен проверять исходный порт для запросов к файловым системам, доступным для клиентов WebNFS.

Публичный дескриптор файла

Публичный дескриптор файла - это дескриптор файла NFS с зарезервированным значением и специальной семантикой, позволяющей получить начальный дескриптор файла. Клиент WebNFS может использовать публичный файловый дескриптор в качестве исходного файлового дескриптора без использования протокола MOUNT. Поскольку NFS версии 2 и 3 имеют разные форматы файловых дескрипторов, общедоступный файловый дескриптор определен по-разному для каждого. Публичный дескриптор файла - нулевой дескриптор файла. Для NFS версии 2 это файловый дескриптор с 32 нулевыми октетами. Публичный файловый дескриптор версии 3 имеет нулевую длину[Источник 2].

Включение или отключение протокола WebNFS

Включение и отключение протокола WebNFS происходит за счет введения необходимых команд.

Включение

Ввести следующую команду: options nfs.webnfs.enable on.

Выключение

Ввести следующую команду: options nfs.webnfs.enable off[Источник 3].

Принцип работы WebNFS

Служба WebNFS делает файлы в каталоге доступными для клиентов с помощью открытого дескриптора файла. Дескриптор файла - это адрес, сгенерированный ядром, который идентифицирует файл для клиентов NFS. Открытый дескриптор файла имеет предопределенное значение, поэтому серверу не нужно генерировать файловый дескриптор для клиента. Возможность использовать этот предопределенный дескриптор файла уменьшает сетевой трафик за счет исключения протокола MOUNT и должна ускорить процессы для клиентов.

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

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

Кроме того, клиент NFS может инициировать одновременную загрузку через одно TCP-соединение. Это соединение обеспечивает быстрый доступ без дополнительной нагрузки на сервер, вызванной настройкой нескольких соединений. Хотя приложения веб-браузера поддерживают одновременную загрузку нескольких файлов, каждый файл имеет свое собственное соединение. Используя одно соединение, программное обеспечение WebNFS снижает нагрузку на сервер.

Если последний компонент в имени пути является символической ссылкой на другую файловую систему, клиент может получить доступ к файлу, если у клиента уже есть доступ через обычные действия NFS[Источник 4].

Источники

  1. WebNFS // TechTarget [2000 — ]. URL: https://searchnetworking.techtarget.com/definition/WebNFS (дата обращения 06.04.2019).
  2. WebNFS Server Specification // www.hjp.at/ [2019 — ]. URL: http://www.hjp.at/doc/rfc/rfc2055.html (дата обращения 24.05.2019).
  3. Enabling or disabling the WebNFS protocol // NetApp [1994 — ]. URL: https://library.netapp.com//ECMM1278400/html/filesag/GUID-FE351BB8-B96D-42BF-A7FB-D8A3180EC6F7.html (дата обращения 06.04.2019).
  4. How the WebNFS service works // Oracle Corporation [2010 — ]. URL: https://docs.oracle.com/cd/E19683-01/816-4882/rfsrefer-56/index.html (дата обращения 06.04.2019).