Network Working Group S. Shepler
Request for Comments: 3530 B. Callaghan
Obsoletes: 3010 D. Robinson
Category: Standards Track R. Thurlow
Sun Microsystems, Inc.
C. Beame
Hummingbird Ltd.
M. Eisler
D. Noveck
Network Appliance, Inc.
April 2003
Network File System (NFS) version 4 Protocol
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
The Network File System (NFS) version 4 is a distributed filesystem
protocol which owes heritage to NFS protocol version 2, RFC 1094, and
version 3, RFC 1813. Unlike earlier versions, the NFS version 4
protocol supports traditional file access while integrating support
for file locking and the mount protocol. In addition, support for
strong security (and its negotiation), compound operations, client
caching, and internationalization have been added. Of course,
attention has been applied to making NFS version 4 operate well in an
Internet environment.
This document replaces RFC 3010 as the definition of the NFS version
4 protocol.
Key Words
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Shepler, et al. Standards Track [Page 1]
RFC 3530 NFS version 4 Protocol April 2003
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 8
1.1. Changes since RFC 3010 . . . . . . . . . . . . . . . 8
1.2. NFS version 4 Goals. . . . . . . . . . . . . . . . . 9
1.3. Inconsistencies of this Document with Section 18 . . 9
1.4. Overview of NFS version 4 Features . . . . . . . . . 10
1.4.1. RPC and Security . . . . . . . . . . . . . . 10
1.4.2. Procedure and Operation Structure. . . . . . 10
1.4.3. Filesystem Mode. . . . . . . . . . . . . . . 11
1.4.3.1. Filehandle Types . . . . . . . . . 11
1.4.3.2. Attribute Types. . . . . . . . . . 12
1.4.3.3. Filesystem Replication and
Migration. . . . . . . . . . . . . 13
1.4.4. OPEN and CLOSE . . . . . . . . . . . . . . . 13
1.4.5. File locking . . . . . . . . . . . . . . . . 13
1.4.6. Client Caching and Delegation. . . . . . . . 13
1.5. General Definitions. . . . . . . . . . . . . . . . . 14
2. Protocol Data Types. . . . . . . . . . . . . . . . . . . . 16
2.1. Basic Data Types . . . . . . . . . . . . . . . . . . 16
2.2. Structured Data Types. . . . . . . . . . . . . . . . 18
3. RPC and Security Flavor. . . . . . . . . . . . . . . . . . 23
3.1. Ports and Transports . . . . . . . . . . . . . . . . 23
3.1.1. Client Retransmission Behavior . . . . . . . 24
3.2. Security Flavors . . . . . . . . . . . . . . . . . . 25
3.2.1. Security mechanisms for NFS version 4. . . . 25
3.2.1.1. Kerberos V5 as a security triple . 25
3.2.1.2. LIPKEY as a security triple. . . . 26
3.2.1.3. SPKM-3 as a security triple. . . . 27
3.3. Security Negotiation . . . . . . . . . . . . . . . . 27
3.3.1. SECINFO. . . . . . . . . . . . . . . . . . . 28
3.3.2. Security Error . . . . . . . . . . . . . . . 28
3.4. Callback RPC Authentication. . . . . . . . . . . . . 28
4. Filehandles . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1. Obtaining the First Filehandle . . . . . . . . . . . 30