Network File System (NFS) is a networking protocol for distributed file sharing. A file system defines the way data in the form of files is stored and retrieved from storage devices, such as hard disk drives, solid-state drives and tape drives. NFS is a network file sharing protocol that defines the way files are stored and retrieved from storage devices across networks.
The NFS protocol defines a network file system, originally developed for local file sharing among Unix systems and released by Sun Microsystems in 1984. The NFS protocol specification was first published by the Internet Engineering Task Force (IETF) as an internet protocol in RFC 1094 in 1989. The current version of the NFS protocol is documented in RFC 7530, which documents the NFS version 4 (NFSv4) Protocol.
NFS enables system administrators to share all or a portion of a file system on a networked server to make it accessible to remote computer users. Clients with authorization to access the shared file system can mount NFS shares, also known as shared file systems. NFS uses Remote Procedure Calls (RPCs) to route requests between clients and servers.
NFS is one of the most widely used protocols for file servers. NFS implementations are available for most modern operating systems (OSes), including the following:
Cloud vendors also implement the NFS protocol for cloud storage, including Amazon Elastic File System, NFS file shares in Microsoft Azure and Google Cloud Filestore.
Any device that can be attached to an NFS host file system can be shared through NFS. This includes hard disks, solid state drives, tape drives, printers and other peripherals. Users with appropriate permissions can access resources from their client machines as if those resources are mounted locally.
NFS is an application layer protocol, meaning that it can operate over any transport or network protocol stack. However, in most cases NFS is implemented on systems running the TCP/IP protocol suite. The original intention for NFS was to create a simple and stateless protocol for distributed file system sharing.
Early versions of NFS used the User Datagram Protocol (UDP) for its transport layer. This eliminated the need to define a stateful storage protocol; however, NFS now supports both the Transmission Control Protocol (TCP) and UDP. Support for TCP as a transport layer protocol was added to NFS version 3 (NFSv3) in 1995.
NFS is a client-server protocol. An NFS server is a host that meets the following requirements:
An NFS client is a host that meets the following requirements:
NFS was initially conceived as a method for sharing file systems across workgroups using Unix. It is still often used for ad hoc sharing of resources.
The process of setting up NFS service includes the following three steps, whether on an enterprise file server or on a local workstation:
Setting up an NFS client machine to access an NFS server can be done manually, using the mount command or using an NFS configuration file — /etc/exports. Each line in the NFS config file contains a mount point, an IP address or a host domain name and any configuration metadata needed to access the file system.
NFSv4, the current version of NFS, and other versions subsequent to NFS version 2 (NFSv2) are usually compatible after client and server machines negotiate a connection.
NFS versions from the earliest to the current one are as follows:
Sun Microsystems published the first implementation of its network file system in March 1984. The objective was to provide transparent, remote access to file systems. Sun intended to differentiate its NFS project from other Unix file systems by designing it to be easily portable to other OSes and machine architectures.
NFSv2 is specified in RFC 1094. Its key features included the following:
NFSv2 is obsolete and should not be used.
Specified in RFC 1813, NFSv3 incorporated the following new features and updates:
NFSv3 is reported to still be in widespread use. It is interoperable with NFSv4 but lacks support for many of the new and improved features rolled out with later versions.
The update to NFSv4 was first documented in RFC 3010 in 2000. This is the first version of the NFS specification that the IETF published as a proposed standard; prior versions were published as informational.
New and improved features in this update included the following:
A new API was included for future additions of new security mechanisms.
A slightly-updated version of the NFS specification was republished in 2003 as RFC 3530, to correct errors in the first version and add some improvements to the protocol.
A minor version protocol, NFSv4.1 published as RFC 5661, added new features including the following:
NFSv4.2 is documented in RFC 7862. It added the following new features and updates:
Among many benefits for organizations using NFS are the following:
Some of the drawbacks of using NFS include the following:
While NFS started out as a simple network file system for local area networking, it has been adapted and adopted for almost every kind of distributed file system. Find out how AWS implements its file services — Amazon FSx and Amazon EFS — based on Windows Server Message Block and NFS.
Hybrid work can create new technical issues for employees, and a remote desktop microphone not working is one frustrating …
When IT teams manage employees using remote desktops, they should make sure they can set up and troubleshoot peripheral devices, …
One of the many tasks that come with maintaining a virtual environment is the testing and delivery of virtual apps and desktops. …
With more apps and credentials to juggle, users can get blocked from their accounts after too many login attempts. Learn to use …
These offerings provide portals to avoid security issues and other stumbling blocks that hamper organizations from providing more…
Microsoft Graph will be the way forward to manage users and devices that connect to Office 365. Learn how to gather information …
All Rights Reserved, Copyright 2008 – 2022, TechTarget
Do Not Sell My Personal Info