NFS (Network File System)

botond published March 2018, 07, Thu - 12:22 time

A Network file system (NFS) is a distributed file system protocol originally developed by Sun Microsystems in 1984. It allows users to access directories and files on the client computer over the network as if they were on their own machines. NFS, like many other protocols, is based on the Open Network Computing Remote Procedure Call (ONC RPC) system. NFS is an open standard defined by the RFC that allows anyone to use the protocol.

The file system avoids duplication of data and thus reduces storage space, as the data is stored only on the server and can be shared between users.

The protocol is designed for Unix-based systems, but is supported by most Unix types, as well as Windows, Mac OS X, OpenVMS.

 

versions

1. version

The first version was developed by Sun Microsystems and used only for its own experiments. No public version has been released.

2. version

Version 2 of the protocol (defined in RFC 1094 in 1989) originally only worked through UDP (User Datagram Protocol). The goal was to keep the server page stateless, so for example, the lock was implemented outside the protocol.

The virtual file system interface allows for modular operation, which is reflected in a simple protocol. Russel Sandberg, Bob Lyon, Bill Joy, Steve Kleiman were involved in the creation of this version.

3. version

3. version of RFC 1813 defines (June 1995) and the following features have been added:

  • It supports 64 bit file sizes and offsets so files larger than 4 Gb can be shared.
  • Supports asynchronous writing on the server, which improves write performance
  • Ability to return additional file and directory attributes (so that the attribute information comes with a file retrieval.)
  • "READDIRPLUS" operation, which also retrieves file information in one step by listing the directory.

4. version

The 4 version is Internet Engineering Task Force (IETF) became the first version developed by Sun Microsystems after the handover of NFS protocol development.

NFS version 4.1 (RFC 5661, January 2010) aimed at speed optimization, stronger security, and a mount and locking subsystem was added, so the protocol was no longer stateless. Development has been influenced by AFS (Andrew File System), SMB (Server Message Block) and CIFS (Common Internet File System) solutions. Furthermore, this version of the protocol has now become capable of scalable parallel access to files shared across multiple servers (pNFS extension). NFS version 4.2 (RFC 7862) 2016. released in November.