NetWork File System (NFS)

2017-12-28СтудИзба

Описание файла

Документ из архива "NetWork File System (NFS)", который расположен в категории "". Всё это находится в предмете "сетевое программное обеспечение" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "сетевое программное обеспечение" в общих файлах.

Онлайн просмотр документа "NetWork File System (NFS)"

Текст из документа "NetWork File System (NFS)"

Московский Государственный Технический Университет имени Н. Э. Баумана

Кафедра «Автоматизированные системы обработки информации и управления»





Домашнее задание №2

по дисциплине «Сетевое Программное Обеспечение»

NetWork File System (NFS)





ИСПОЛНИТЕЛЬ:

ФИО Зайков С.А.

Группа ИУ5-62 "__"___________2015 г.

ПРЕПОДАВАТЕЛЬ:

ФИО Семкин П.С.

"__"___________2015 г.



















Москва 2015

Общая информация

Network file system (NFS) — сетевая файловая система.

Это протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Первая версия системы никогда не была выпущена и располагалась исключительно в составе Sun Microsystems. Все реализации NFS поддерживают версию 2 NFS, которая впервые была выпущена в 1985 году в SunOS 2.0. Версия 3 протокола была опубликована в 1993 году и реализована некоторыми фирмами-поставщиками.

Основой для данного протокола послужил протокол вызова удалённых процедур (ONC RPC). Основной задачей системы является подключение удалённых файловых систем через сеть.

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

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

Доступ NFS-клиентов к файлам на NFS-сервере осуществляется путем отправки RPC-запросов на сервер. Это может быть реализовано с использованием обычных пользовательских процессов: NFS-клиент может быть пользовательским процессом, который осуществляет конкретные RPC-вызовы на сервер, который так же может быть пользовательским процессом.

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

Цели разработки

При разработке NFS протокола были обозначены следующие требования:

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

  • Отсутствие зависимостей от конкретных аппаратных средств, что также значительно облегчало проектирование NFS сети.

  • Реализация простых механизмов восстановления в случае отказа сервера или клиента. Данное требование должно предоствратить утрату данных при изменении клиентом фала на сервере.

  • Требование прозрачного доступа к удаленным файлам без использования дополнительных путевых имен или библиотек и без компиляции. Это должно обеспечить простоту работы с файлами на удаленных компьютерах и возможность использования стандартных средств получения файлов.

  • Для UNIX-клиентов должна поддерживаться семантика UNIX.

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

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

Компоненты NFS

Компоненты NFS можно разделить на несколько групп:

По расположению:

  • Клиентские

  • Серверные

  • Клиент-серверные

По функциональным возможностям:

  • Обязательные

  • Необязательные

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

Протокол удаленного вызова процедур (RPC) определяет формат всех взаимодействий между клиентом и сервером. Каждый запрос NFS посылается как пакет RPC.

Внешнее представление данных (XDR — External Data Representation) обеспечивает машинно-независимый метод кодирования данных для пересылки через сеть. Все запросы RPC используют кодирование XDR для передачи данных.

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

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

Менеджер блокировок сети (NLM — Network Lock Manager) и монитор состояния сети (NSM — Network Status Monitor) вместе обеспечивают средства для блокировки файлов в сети. Формально эти средства не связаны с NFS и используются не во всех реализациях NFS. Они обеспечивают сервисы не возможные в базовом протоколе. NLM и NSM реализуют функционирование сервера с помощью демонов lockd и statd соответственно.

Версии

Первая версия применялась только для внутреннего использования в Sun в экспериментальных целях.

Версия 2 выпущена в марте 1989 года, первоначально полностью работала по протоколу UDP. Разработчики решили не хранить данных о внутреннем состоянии внутри протокола (блокировка, реализованная вне базового протокола).

NFSv3 вышла в июне 1995 года, в ней добавлена поддержка дескрипторов файлов переменного размера до 64 байт (в версии 2 — массив фиксированного размера 32 байта), снято ограничение на 8192 байта в RPC-вызовах чтения и записи (размер передаваемого блока в вызовах ограничен только пределом для UDP-датаграммы — 65535 байт), реализована поддержка файлов больших размеров, поддержаны асинхронные вызовы операций записи, к процедурам READ и WRITE добавлены вызовы ACCESS (проверка прав доступа к файлу), MKNOD (создание специального файла Unix), READDIRPLUS (возвращает имена файлов в директории вместе с их атрибутами), FSINFO (возвращает статистическую информацию о файловой системе), FSSTAT (возвращает динамическую информацию о файловой системе), PATHCONF (возвращает POSIX.1-информацию о файле) и COMMIT (передает ранее сделанные асинхронные записи на постоянное хранение).

На момент введения версии 3 отмечен рост популярности в среде разработчиков протокола TCP. Некоторые независимые разработчики самостоятельно добавили поддержку протокола TCP для NFS версии 2 в качестве транспортного, Sun Microsystems добавили поддержку TCP в NFS в одном из дополнений к версии 3. С поддержкой TCP повысились практическая осуществимость использования NFS в глобальных сетях.

NFSv4 выпущена в декабре 2000 года под влиянием AFS и CIFS, в неё включены улучшения производительности и безопасности. Версия 4 стала первой версией, разработанной совместно с Internet Engineering Task Force (IETF). NFS версии v4.1 была одобрена IESG в январе 2010 года. Важным нововведением версии 4.1 является спецификация pNFS — Parallel NFS, механизма параллельного доступа NFS-клиента к данным множества распределенных NFS-серверов. Наличие такого механизма в стандарте сетевой файловой системы поможет строить распределённые облачные хранилища и информационные системы.

Платформы

Хотя NFS чаще всего используют в Unix-подобных системах, данный протокол можно также использовать и на других операционных системах. В число альтернативных протоколов удаленного доступа к файлам входят Server Message Block (SMB (CIFS)) протокол, Apple Filing Protocol (AFP), NetWare Core Protocol (NCP). Под операционной системой Microsoft Windows SMB и NetWare Core Protocol (NCP) используется чаще, чем NFS; В системах Macintosh AFP встречается чаще, чем NFS.

Последовательность работы NFS

На клиенте локальные и NFS файлы представлены одинаково. Ядро определяет, когда файл открыт.

NFS-клиент отправляет RPC-запросы NFS-серверу через стек TCP/IP. NFS обычно использует UDP, однако более новые реализации могут использовать TCP.

NFS-сервер получает запросы от клиента в виде UDP-датаграмм на порт 2049. Несмотря на то, что NFS может работать с преобразователем портов, что позволяет серверу использовать динамически назначаемые порты, UDP-порт 2049 жёстко закреплен за NFS в большинстве реализаций.

Когда NFS-сервер получает запрос от клиента, он передается локальной подпрограмме доступа к файлу, которая обеспечивает доступ к локальному диску на сервере.

Серверу может потребоваться время, для того чтобы обработать запросы клиента. Даже доступ к локальной файловой системе может занять некоторое время. В течение этого времени сервер не должен блокировать запросы от других клиентов, которые также должен обработать. Чтобы справиться с подобной ситуацией, большинство NFS-серверов запускаются несколько раз, то есть внутри ядра существует несколько NFS-серверов. Конкретные методы решения зависят от операционной системы. В большинстве ядер Unix-систем не используется несколько NFS-серверов, вместо этого запускается несколько пользовательских процессов (которые обычно называются nfsd), которые осуществляют один системный вызов и остаются внутри ядра в качестве процесса ядра.

Точно так же, NFS-клиенту требуется время, чтобы обработать запрос от пользовательского процесса на узле клиента. RPC выдается на узел сервера, после чего ожидается отклик. Для того, чтобы пользовательские процессы на узле клиента могли в любой момент воспользоваться NFS, существует несколько NFS-клиентов, запущенных внутри ядра клиента. Конкретная реализация также зависит от операционной системы. Unix-система обычно использует технику, напоминающую NFS-сервер: пользовательский процесс, называемый biod, осуществляет один единственный системный вызов и остается внутри ядра как процесс ядра.

Большинство Unix-узлов может функционировать и как NFS-клиент, и как NFS-сервер. Большинство мейнфреймов IBM предоставляет только функции NFS-сервера.

Выводы

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

Литература

  • https://ru.wikipedia.org/wiki/Network_File_System

  • http://citforum.ru/operating_systems/freebsd/handbook/network-nfs.shtml

  • http://www.k-max.name/linux/network-file-system-nfs/

  • https://technet.microsoft.com/en-us/library/jj592688.aspx

  • http://help.ubuntu.ru/wiki/nfs

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее