Описание тега nfs
Оригинальная версия NFS
Детали реализации определены в RFC 1094. Sun использовала версию 1 только для собственных экспериментальных целей. Когда команда разработчиков внесла существенные изменения в версию 1 NFS и выпустила ее за пределами Sun, они решили выпустить новую версию как v2, чтобы можно было протестировать взаимодействие версий и RPC-версию.
NFSv2
Версия 2 протокола (определенная в RFC 1094, март 1989 г.) изначально работала полностью по протоколу UDP. Его разработчики хотели сохранить протокол без сохранения состояния, например, с блокировкой, реализованной вне основного протокола. NFSv2 позволял читать только первые 2 ГБ файла.
NFSv3
Версия 3 (RFC 1813, июнь 1995 г.) добавлена:
- поддержка 64-битных размеров файлов и смещений для обработки файлов размером более 2 гигабайт (ГБ)
- поддержка асинхронной записи на сервер, чтобы улучшить производительность записи
- дополнительные атрибуты файла во многих ответах, чтобы избежать необходимости их повторного извлечения
- операция READDIRPLUS, чтобы получить дескрипторы файлов и атрибуты вместе с именами файлов при сканировании каталога
- Ассорти из других улучшений.
На момент появления версии 3 поддержка поставщика TCP как протокола транспортного уровня начала увеличиваться. Хотя несколько поставщиков уже добавили поддержку NFS версии 2 с TCP в качестве транспорта, системы Sun Micro добавили поддержку TCP в качестве транспорта для NFS, в то же время добавила поддержку версии 3. Использование TCP в качестве транспорта, созданного с использованием NFS поверх WAN более выполнимо.
NFSv4
Версия 4 (RFC 3010, декабрь 2000 г.; пересмотренная в RFC 3530, апрель 2003 г.), на которую влияют AFS и CIFS, включает в себя улучшения производительности, требует строгой защиты и вводит протокол с отслеживанием состояния. Версия 4 стала первой версией, разработанной Инженерной группой по Интернету (IETF) после того, как системы Sun Micro передали разработку протоколов NFS.
Незначительная версия NFS версии 4 (NFSv4.1) была одобрена IETF и получила RFC номер 5661 с января 2010 года. Спецификация NFSv4.1 направлена на:
- Обеспечить поддержку протокола, чтобы использовать преимущества развертывания кластерных серверов, включая возможность предоставления масштабируемого параллельного доступа к файлам, распределенным между несколькими серверами (расширение pNFS).
- предоставлять сеансы и Exacely One Semantic (EOS)