blank.gif (43 bytes)

Church Of The
Swimming Elephant

NFS Protocol Overview Connected: An Internet Encyclopedia
NFS Protocol Overview

Up: Connected: An Internet Encyclopedia
Up: Topics
Up: Functions
Up: File Sharing
Prev: File Sharing
Next: File Transfer

NFS Protocol Overview

NFS Protocol Overview The Network File System (NFS), developed by Sun Microsystems, is the de facto standard for file sharing among UN*X hosts. NFS Version 3 is documented in RFC 1813. The Mount Protocol is closely related.

NFS is implemented using the RPC Protocol, designed to support remote procedure calls. All NFS operations are implemented as RPC procedures. A summary of NFS procedures is show below:

    Procedure 0:  NULL - Do nothing 
    Procedure 1:  GETATTR - Get file attributes 
    Procedure 2:  SETATTR - Set file attributes 
    Procedure 3:  LOOKUP - Lookup filename 
    Procedure 4:  ACCESS - Check Access Permission 
    Procedure 5:  READLINK - Read from symbolic link 
    Procedure 6:  READ - Read From file 
    Procedure 7:  WRITE - Write to file 
    Procedure 8:  CREATE - Create a file 
    Procedure 9:  MKDIR - Create a directory 
    Procedure 10: SYMLINK - Create a symbolic link 
    Procedure 11: MKNOD - Create a special device 
    Procedure 12: REMOVE - Remove a File 
    Procedure 13: RMDIR - Remove a Directory 
    Procedure 14: RENAME - Rename a File or Directory 
    Procedure 15: LINK - Create Link to an object 
    Procedure 16: READDIR - Read From Directory 
    Procedure 17: READDIRPLUS - Extended read from directory 
    Procedure 18: FSSTAT - Get dynamic file system information 
    Procedure 19: FSINFO - Get static file system Information 
    Procedure 20: PATHCONF - Retrieve POSIX information 
    Procedure 21: COMMIT - Commit cached data on a server to stable storage 

NFS is a stateless protocol. This means that the file server stores no per-client information, and there are no NFS "connections". For example, NFS has no operation to open a file, since this would require the server to store state information (that a file is open; what its file descriptor is; the next byte to read; etc). Instead, NFS supports a Lookup procedure, which converts a filename into a file handle. This file handle is an unique, immutable identifier, usually an i-node number, or disk block address. NFS does have a Read procedure, but the client must specify a file handle and starting offset for every call to Read. Two identical calls to Read will yield the exact same results. If the client wants to read further in the file, it must call Read with a larger offset.

Of course, this is seldom seen by the end user. Most operating systems provide system calls to open files, and read from them sequentially. The client's operating system must maintain the required state information, and translate system calls into stateless NFS operations.

NFS Performance

NFS performance is closely related to RPC performance. Since RPC is a request-reply protocol, it exhibits very poor performance over wide area networks. NFS performs best on fast LANs.

Next: File Transfer

Connected: An Internet Encyclopedia
NFS Protocol Overview


Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!

Service Details

Have you gone to church today?
All pages ©1999, 2000, 2001, 2002, 2003 Church of the Swimming Elephant unless otherwise stated
Church of the Swimming Elephant©1999, 2000, 2001, 2002, 2003 is a wholly owned subsidiary of Packetderm, LLC.

Packetderm, LLC
210 Park Ave #308
Worcester, MA 01609