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 4.1.1. Root Filehandle. . . . . . . . . . . . . . . 31 4.1.2. Public Filehandle. . . . . . . . . . . . . . 31 4.2. Filehandle Types . . . . . . . . . . . . . . . . . . 31 4.2.1. General Properties of a Filehandle . . . . . 32 4.2.2. Persistent Filehandle. . . . . . . . . . . . 32 4.2.3. Volatile Filehandle. . . . . . . . . . . . . 33 4.2.4. One Method of Constructing a Volatile Filehandle. . . . . . . . . . . . . 34 4.3. Client Recovery from Filehandle Expiration . . . . . 35 5. File Attributes. . . . . . . . . . . . . . . . . . . . . . 35 5.1. Mandatory Attributes . . . . . . . . . . . . . . . . 37 5.2. Recommended Attributes . . . . . . . . . . . . . . . 37 5.3. Named Attributes . . . . . . . . . . . . . . . . . . 37 Shepler, et al. Standards Track