i

Fundamentals Of Linux

Understanding NFS server and NFS clients

SUN Microsystems built up an innovative technology during the early stages of computers. This technology made getting to files from other PCs over a network simple. This innovation gave another dimension to get to information through a network and is vigorously utilized in several companies even today. The benefit of this innovation is the way that it made partitions and directories on remote  computers accessible as though they are available locally. The technology being talked about is called Network File System or NFS. It works over the IP protocol, and therefore it tends to be made accessible to any computer that takes a shot at TCP/IP. Because of this, NFS has assumed a significant role in the central storage system. In spite of the fact that the underlying adaptation of NFS worked over UDP as opposed to TCP, later headways and emphases in the convention made it work over TCP also. The first variant called NFS Version 1, was never discharged to the public, yet was utilized by SUN for tests internally. Like HTTP, except NFS Version 4, all other forms were stateless.

NFS Version 2

NFS Version 2 was first circulated with Sun's SunOS 2 in 1985. This version was broadly authorized to
various Unix workstation sellers. An uninhibitedly distributable, perfect rendition was created in the
late 1980s at the University of California at Berkeley. During its life of 10 years, numerous
unpretentious, undocumented changes were made to the NFS Version 2. A few sellers permitted NFS
v2 to write or read over 4 KB at once. Others expanded the number of groups given as a component of
the RPC authentication from 8 to 16. In spite of the fact that these minor changes made periodic
incompatibilities between various NFS implementations, NFS v2 gave an exceptional level of
compatibility between computers made by various sellers.

NFS Version 3

The NFS v3 specification was created during a progression of gatherings in Boston in July 1992. The working code for NFS v3 was presented by certain sellers in 1995 and turned out to be generally accessible. NFS v3 consolidated numerous performance enhancements over NFS v2, yet didn't essentially change the manner in which NFS works or the security model utilized by the network filesystem.

NFS Version 4

NFS v4 is depicted in RFC 3010, distributed in December of 2000 as a draft standard. NFS v4 will be a takeoff from past versions of NFS by being stateful, and by including the mounting and locking operations as a component of the basic protocol. NFSv4 is additionally being planned with more grounded security contemplations. A Linux server can share directories with other UNIX clients over a network by using NFS. NFS server sends out a directory, which is mounted by NFS clients.

Initiating the nfs-server process begins the NFS server along with other RPC processes. The RPC processes include:

rpc.statd: executes monitoring protocol (NSM) between the NFS server and NFS client.
rpc.mountd: NFS mount daemon that executes the server-side of the mount demands from NFSv3 clients.
rpc.idmapd: Maps local UIDs, GIDs and NFSv4 names.
rpc.rquotad: gives information about the user quota for remote users.


Server statelessness is one of the important design features behind NFS. In contrast to other systems, there is no "state" kept on a server to demonstrate that a client is doing a remote file operation. In this way, if the client crashes and is restarted, there is no state in the server that could be recouped. On the other hand, if the server crashes and is restarted, the client can keep working on the remote document as though nothing truly occurred. There is no server-side state to reproduce. Real implementations are not totally stateless. All correspondence between the NFS server and the NFS client depends on Sun's RPC system, which lets programs running on one PC consider subroutines that are executed on another. RPC utilizes Sun's XDR system to permit the trading of data between various types of PCs. Sun constructed NFS upon the User Datagram Protocol (UDP), accepting that UDP was quicker and more productive than TCP. In any case, NFS required reliable transmission and, as time went on, many tuning parameters were included that made NFS look like TCP in numerous regards. NFS v3 permits the utilization of TCP, which really improves execution over low-transfer speed, high-latency connections, for example, modem-based PPP connections since TCP's retransmission and backoff algorithms are altogether superior to those in NFS.

The write and read execution will be moderate contrasted with a local file system since all the activity is brought out through network (But because of the headway in networking technology, even this bottleneck has improved considerably). The following are some of the important focuses on NFS:

An NFS mounted is fundamentally the same as a file system present locally on a machine.
NFS doesn't unveil where a file is present on a network.
There can be an extraordinary difference between the architectures and operating systems of the NFS server and the client.
The file system present on a remote machine is also not unveiled by NFS.
NFS empowers system administrators to merge assets onto unified servers on the network.