Table of Contents
Overview
NFS, short for Network File System, is initially developed by Sun Microsystems in 1984. NFS, a distributed file system protocol, allows users on client computers to access files over a computer network as if they were accessing local storage.
Like many other protocols, NFS is built on an ONC RPC –Open Network Computing Remote Procedure Call system. As an open standard defined in the RFC (Request for Comments), NFS allows anyone to execute the protocol.
Advantages
- NFS enables easy sharing of data among clients.
- It provides centralized management.
- It offers security by protecting only servers to protect data.
Applications
You can use NFS in the following ways:
- Deploy a Windows NFS file server in a non-Windows operating system environment to offer non-Windows client computers access to NFS file shares.
- Move applications from an operating system to another via storing the data on file shares accessible through SMB and NFS protocols.
- Use the Windows NFS file server to offer multi-protocol access to the same file share through SMB and NFS protocols for multi-platform clients.
Working Theory
The server implements an NFS daemon to provide data for the client to access the data saved on another computer. The server administrator determines which clients are available and makes sure that it identifies authenticated clients.
On the client-side, the computer typically requests access to the exported data via issuing an installation command. If it is successful, the client computer can see the file system and interact with it within the parameters determined.
Versions
Sun Microsystems only applies version 1 for internal experimental purposes. When the development team changed NFS version 1 and published it outside of Sun, they determined to release the new version as v2 to test the version interoperability and RPC version fallback.
NFSv2
Version 2 of the protocol was defined in RFC 1094 and in March 1989. It was initially run only through the UDP (User Datagram Protocol). Its designers aimed to keep the server-side stateless and lockout of the core protocol.
The Virtual File System interface allows for modular implementation, reflected in a simple protocol. By February 1986, Eunice was used to demonstrate the performance of the operating system. Due to the 32-bit limit, NFSv2 allows only the first 2 GB of the file to be read.
NFSv3
The first NFS version 3 proposal was created after NFS version 2 was released. The primary motivation was to mitigate performance issues with synchronous writes in NFS version 2.
By July 1992, the implementation practices had addressed many of the shortcomings of NSF version 2, leaving only the lack of extensive file support a pressing issue.
NFSv3 added the following features:
- Supports 64-bit file size and offset to process files larger than 2 GB;
- Supports asynchronous writes on the server to increase write performance;
- Additional file properties in many replies to avoid the need to re-acquire them;
- READDIRPLUS operation to obtain filehandles and properties, as well as file names, while scanning the directory;
- Various other improvements.
NFSv4
Affected by Server Message Block (SMB or CIFS) and Andrew File System (AFS), version 4 was released in RFC 3010, and in December 2000. It was revised in RFC 3530 in April 2003 and then revised in RFC 7530 in March 2015. The revisions improved in many ways, including performance improvements, introducing stateful protocols, and vital security requirements.
Version 4 became the first version that is developed with the IETF (Internet Engineering Task Force) after Sun Microsysyscies handed over the NFS protocol development.
NFS version 4.1 was released in RFC 5661 in January 2010 and was revised in RFC 8881 in August 2020. It attempts to provide protocol support to utilize cluster server deployments, including scalable parallel access to files distributed across multiple servers. Version 4.1 also includes a Session trunking mechanism.
NFS version 4.2 was released in RFC 7862 in November 2016. It added new features, including application I/O advice, server-side clone, and copy, application data block (ADB), space reservation, sparse files, labelled NFS with scalable, which can accommodate any MAC security system and two new operations of pNFS.
One of the significant advantages of NFSv4 over previous versions is that it uses only one UDP or TCP port 2049 to run the service, simplifying cross-firewall usage protocols.
Bottom Line!
After reading this article, you’ll know what the Network File System is. Besides, this article describes its advantages, applications, versions, and working theory to help you better understand NSF.