Currently the NFS version 2 and NFS version 3 protocols are in use with version 4 under consideration for a standard. There are quite a few differences between version 2 and 3 and some of the more notable ones are:
- Version 2 uses UDP (User Datagram Protocol) in most implementations which does not have guaranteed delivery.
- Version 3 uses TCP (Transmission Control Protocol) that is a software layer to guarantee delivery.
- Version 3 supports use of asynchronous writes to improve performance.
- Version 2 supports 64-bit file sizes (vs. 32 for v2) to allow much larger files.
There are many more differences. A good reference is the Network Appliance Web site where an excellent excerpt from a book is available. This document also contains references for much more detailed information so that you can go as detailed as you would like.
For NFS version 4, there are many proposed changes. The following is a summary from a submitted document:
The NFS version 4 protocol is a further revision of the NFS protocol defined already by versions 2 [RFC1094] and 3 [RFC1813]. It retains the essential characteristics of previous versions: design for easy recovery, independent of transport protocols, operating systems and file systems, simplicity and good performance.
The NFS version 4 revision has the following goals:
- Improve access and good performance on the Internet. The protocol is designed to transit firewalls easily, perform well where latency is high and bandwidth is low and scale to very large numbers of clients per server.
- Strong security with negotiation built into the protocol. The protocol builds on the work of the ONCRPC working group in supporting the RPCSEC_GSS protocol. Additionally, the NFS version 4 protocol provides a mechanism to allow clients and servers the ability to negotiate security and require clients and servers to support a minimal set of security schemes.
- Good cross-platform interoperability. The protocol features a file system model that provides a useful, common set of features that does not unduly favor one file system or operating system over another.
- Designed for protocol extensions. The protocol is designed to accept standard extensions that do not compromise backward compatibility.
Evaluator Group, Inc.
Editor's note: Do you agree with this expert's response? If you have more to share, post it in one of our .bphAaR2qhqA^0@/searchstorage>discussion forums.
This was first published in April 2002