NFS version 4 Protocol

The Network File System (NFS) Version 4 is a new distributed file system similar to previous versions of NFS in its straightforward design, simplified error recovery, and independence of transport protocols and operating systems for file access in a heterogeneous network. Unlike earlier versions of NFS, the new protocol integrates file locking, strong security, operation coalescing, and delegation capabilities to enhance client performance for narrow data sharing applications on high-bandwidth networks. Locking and delegation make NFS stateful, but simplicity of design is retained through well-defined recovery semantics in the face of client and server failures and network partitions. This paper describes the new features of the protocol, focusing on the security enhancements, integrated locking support, changes to fully support Windows file sharing semantics, support for high performance data sharing, and the design points that enhance performance on the Internet. We describe applications of NFS Version 4. Finally, we describe areas for future work.

[1]  Sailesh Chutani,et al.  DEcorum File System Architectural Overview , 1990, USENIX Summer.

[2]  Andrew M. Odlyzko,et al.  Computation of discrete logarithms in prime fields , 1991, Des. Codes Cryptogr..

[3]  Mark Davis,et al.  UTF-7 - A Mail-Safe Transformation Format of Unicode , 1994, RFC.

[4]  Michael L. Kazar,et al.  Synchronization and Caching Issues in the Andrew File System , 1988, USENIX Winter.

[5]  David Goldberg,et al.  Secure Networking in the Sun Environment , 1986, USENIX Summer.

[6]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[7]  Mike Eisler,et al.  LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM , 2000, RFC.

[8]  Chet Juszczak,et al.  Improving the Write Performance of an NFS Server , 1994, USENIX Winter.

[9]  Carl Smith,et al.  NFS Version 3: Design and Implementation , 1994, USENIX Summer.

[10]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1988, TOCS.

[11]  Barry Jaspan GSS-API security for ONC RPC , 1995, Proceedings of the Symposium on Network and Distributed System Security.

[12]  Jeffrey C. Mogul A Recovery Protocol for Spritely NFS , 1999 .

[13]  Richard P. Martin,et al.  NFS sensitivity to high performance networks , 1999, SIGMETRICS '99.

[14]  Raj Srinivasan,et al.  XDR: External Data Representation Standard , 1995, RFC.

[15]  S. Bradner RFC 2026 The Internet Standards Process-Revision 3 , 1996 .

[16]  The Internet Society,et al.  An Agreement Between the Internet Society, the IETF, and Sun Microsystems, Inc. in the matter of NFS V.4 Protocols , 1998, Request for Comments.

[17]  William I. Nowicki,et al.  NFS: Network File System Protocol specification , 1989, RFC.

[18]  Spencer Shepler NFS Version 4 Design Considerations , 1999, RFC.

[19]  Lin Ling,et al.  RPCSEC_GSS Protocol Specification , 1997, RFC.

[20]  John T. Kohl,et al.  The Kerberos Network Authentication Service (V5 , 2004 .

[21]  David Robinson The Advancement of NFS Benchmarking: SFS 2.0 , 1999, LISA.

[22]  Jeffrey C. Mogul Recovery in Spritely NFS , 1994, Comput. Syst..

[23]  Sun Microsystems,et al.  RPC: Remote Procedure Call Protocol specification: Version 2 , 1988, RFC.

[24]  Brent Callaghan WebNFS Server Specification , 1996, RFC.

[25]  John Gilmore,et al.  Cracking DES - secrets of encryption research, wiretap politics and chip design: how federal agencies subvert privacy , 1998 .

[26]  Andrea Borr SecureShare: safe UNIX/Windows file sharing through multiprotocol locking , 1998 .

[27]  John Linn,et al.  Generic Security Service Application Program Interface , 1993, RFC.

[28]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[29]  Jon Postel,et al.  Assigned Numbers , 1979, RFC.

[30]  J. Howard Et El,et al.  Scale and performance in a distributed file system , 1988 .

[31]  Carlisle M. Adams The Simple Public-Key GSS-API Mechanism (SPKM) , 1996, RFC.

[32]  John Linn,et al.  The Kerberos Version 5 GSS-API Mechanism , 1996, RFC.

[33]  Harald Tveit Alvestrand IETF Policy on Character Sets and Languages , 1998, RFC.

[34]  Rick Macklem,et al.  Not Quite NFS, Soft Cache Consistency for NFS , 1994, USENIX Winter.

[35]  Brent Callaghan WebNFS Client Specification , 1996, RFC.

[36]  Mike Eisler,et al.  NFS Version 2 and Version 3 Security Issues and the NFS Protocol's Use of RPCSEC_GSS and Kerberos V5 , 1999, RFC.

[37]  Raj Srinivasan,et al.  Binding Protocols for ONC RPC Version 2 , 1995, RFC.

[38]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[39]  Scott O. Bradner,et al.  The Internet Standards Process - Revision 3 , 1996, RFC.

[40]  Brent Callaghan,et al.  NFS Version 3 Protocol Specification , 1995, RFC.

[41]  Mike Eisler,et al.  Security mechanism independence in ONC RPC , 1996 .

[42]  Jeffrey Mogul,et al.  Spritely NFS: Implementation and Performance of Cache-Consistency Protocols , 1989 .