Транспортные протоколы, применяемые в системе NFS

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

Первоначальная версия системы NFS была разработана для использования в среде локальной сети. В связи с этим проектировщики в качестве транспортного протокола выбрали UDP. Основные преимущества UDP связаны с низкими издержками и меньшими затратами ресурсов операционной системы сервера; главным недостатком является его ненадежность. Для повышения надежности в протокол включены основные средства тайм-аута и повторной передачи запросов. Однако на практике при обмене данными по локальной сети потеря пакетов происходит редко. секционные ворота дешево

К сожалению, средства повторной передачи, предусмотренные в ранних версиях NFS, не подходят для работы в глобальной сети. Средства повторной передачи не являются адаптивными и не предусматривают применения средств устранения заторов или сквозного управления потоком данных. Но несмотря на недостатки этого протокола, в середине 90-х годов поставщики стали предлагать модифицированные версии системы NFS для использования в Internet; в большинстве модифицированных версий в качестве транспортного протокола применяется TCP. В связи с этим была разработана версия 3, предусматривающая использование транспортной службы с установлением логического соединения. В отличие от версии 2, в которой определяется предельно допустимый объем данных, передаваемых в отдельной операции, в версии 3 это ограничение ослаблено и допускается передача через соединение TCP всего файла. В результате появились реализации NFS, в которых применяется протокол TCP для обеспечения надежного доступа к файлам с компьютеров, подключенных к Internet.

Резюме

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

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

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

Многие концептуальные операции с файлами, применяемые в NFS, определены по аналогии с операциями, которые поддерживаются в файловой системе UNIX. В системе NFS принят принцип "open-read-write-close" (открыть-читать-писать-закрыть), используемый в системе UNIX, а также поддерживаются такие же основные типы файлов и режимы защиты файлов.

Похожие статьи