NFS – Network File System Protocol Training

Course Name
NFS – Network File System Protocol Training

Course Overview
This course on NFS Network File System Protocol training is designed for people who work on development, testing and verification of NFS protocol. Participants will learn the internals of NFS protocol that helps them with a much better understanding of their current NFS work.

Target Audience

  • Professionals and Students who are working in Storage/Networking/IT Domain
  • Developers, Testers/QA and Verification Engineers who are working on or keen to know Network File System Protocol

Fee, Schedule & Registration
Click Here for NFS – Network File System Protocol Training course, training schedule, fee and registration information.

NFS – Network File System Protocol Training Course Outline

NFS version 4 Goals
Overview of NFS version 4 Features
– RPC and Security
– Procedure and Operation Structure
– Filesystem Mode
– File locking
– Client Caching and Delegation
General Definitions
Protocol Data Types
Basic Data Types
Structured Data Types
RPC and Security Flavor
Ports and Transports
– Client Retransmission Behavior
Security Flavors
– Security mechanisms for NFS version 4
Security Negotiation
– Security Error
Callback RPC Authentication
Obtaining the First Filehandle
– Root Filehandle
– Public Filehandle
Filehandle Types
– General Properties of a Filehandle
– Persistent Filehandle
– Volatile Filehandle
– One Method of Constructing a Volatile Filehandle
Client Recovery from Filehandle Expiration
File Attributes
Mandatory Attributes
Recommended Attributes
Named Attributes
Classification of Attributes
Mandatory Attributes – Definitions
Recommended Attributes – Definitions
Time Access
Interpreting owner and owner_group
Character Case Attributes
Quota Attributes
Access Control Lists
– ACE type
– ACE Access Mask
– ACE flag
– ACE who
– Mode Attribute
– Mode and ACL Attribute
– mounted_on_fileid
Filesystem Migration and Replication
Interpretation of the fs_locations Attribute
Filehandle Recovery for Migration or Replication
NFS Server Name Space
Server Exports
Browsing Exports
Server Pseudo Filesystem
Multiple Roots
Filehandle Volatility
Exported Root
Mount Point Crossing
Security Policy and Name Space Presentation
File Locking and Share Reservations
– Client ID
– Server Release of Clientid
– lock_owner and stateid Definition
– Use of the stateid and Locking
– Sequencing of Lock Requests
– Recovery from Replayed Requests
– Releasing lock_owner State
– Use of Open Confirmation
Lock Ranges
Upgrading and Downgrading Locks
Blocking Locks
Lease Renewal
Crash Recovery
– Client Failure and Recovery
– Server Failure and Recovery
– Network Partitions and Recovery
Recovery from a Lock Request Timeout or Abort
Server Revocation of Locks
Share Reservations
OPEN/CLOSE Operations
– Close and Retention of State Information
Open Upgrade and Downgrade
Short and Long Leases
Clocks, Propagation Delay, and Calculating Lease Expiration
Migration, Replication and State
– Migration and State
– Replication and State
– Notification of Migrated Lease
– Migration and the Lease_time Attribute
Client-Side Caching
Performance Challenges for Client-Side Caching
Delegation and Callbacks
– Delegation Recovery
Data Caching
– Data Caching and OPENs
– Data Caching and File Locking
– Data Caching and Mandatory File Locking
– Data Caching and File Identity
Open Delegation
– Open Delegation and Data Caching
– Open Delegation and File Locks
– Handling of CB_GETATTR
– Recall of Open Delegation
– Clients that Fail to Honor Delegation Recalls
– Delegation Revocation
Data Caching and Revocation
– Revocation Recovery for Write Open Delegation
Attribute Caching
Data and Metadata Caching and Memory Mapped Files
Name Caching
Directory Caching
Minor Versioning
Stringprep profile for the utf8str_cs type
– Intended applicability of the nfs4_cs_prep profile
– Character repertoire of nfs4_cs_prep
– Mapping used by nfs4_cs_prep
– Normalization used by nfs4_cs_prep
– Prohibited output for nfs4_cs_prep
– Bidirectional output for nfs4_cs_prep
Stringprep profile for the utf8str_cis type
– Intended applicability of the nfs4_cis_prep profile
– Character repertoire of nfs4_cis_prep
– Mapping used by nfs4_cis_prep
– Normalization used by nfs4_cis_prep
– Prohibited output for nfs4_cis_prep
– Bidirectional output for nfs4_cis_prep
Stringprep profile for the utf8str_mixed type
– Intended applicability of the nfs4_mixed_prep profile
– Character repertoire of nfs4_mixed_prep
– Mapping used by nfs4_cis_prep
– Normalization used by nfs4_mixed_prep
– Prohibited output for nfs4_mixed_prep
– Bidirectional output for nfs4_mixed_prep
UTF-8 Related Errors
Error Definitions
NFS version 4 Requests
Compound Procedure
Evaluation of a Compound Request
Synchronous Modifying Operations
Operation Values
NFS version 4 Procedures
Procedure 0: NULL – No Operation
Procedure 1: COMPOUND – Compound Operations
– Operation 3: ACCESS – Check Access Rights
– Operation 4: CLOSE – Close File
– Operation 5: COMMIT – Commit Cached Data
– Operation 6: CREATE – Create a Non-Regular File Object
– Operation 7: DELEGPURGE -Purge Delegations Awaiting Recovery
– Operation 8: DELEGRETURN – Return Delegation
– Operation 9: GETATTR – Get Attributes
– Operation 10: GETFH – Get Current Filehandle
– Operation 11: LINK – Create Link to a File
– Operation 12: LOCK – Create Lock
– Operation 13: LOCKT – Test For Lock
– Operation 14: LOCKU – Unlock File
– Operation 15: LOOKUP – Lookup Filename
– Operation 16: LOOKUPP – Lookup Parent Directory
– Operation 17: NVERIFY – Verify Difference in Attributes
– Operation 18: OPEN – Open a Regular File
– Operation 19: OPENATTR – Open Named Attribute Directory
– Operation 20: OPEN_CONFIRM – Confirm Open
– Operation 21: OPEN_DOWNGRADE – Reduce Open File Access
– Operation 22: PUTFH – Set Current Filehandle
– Operation 23: PUTPUBFH – Set Public Filehandle
– Operation 24: PUTROOTFH – Set Root Filehandle
– Operation 25: READ – Read from File
– Operation 26: READDIR – Read Directory
– Operation 27: READLINK – Read Symbolic Link
– Operation 28: REMOVE – Remove Filesystem Object
– Operation 29: RENAME – Rename Directory Entry
– Operation 30: RENEW – Renew a Lease
– Operation 31: RESTOREFH – Restore Saved Filehandle
– Operation 32: SAVEFH – Save Current Filehandle
– Operation 33: SECINFO – Obtain Available Security
– Operation 34: SETATTR – Set Attributes
– Operation 35: SETCLIENTID – Negotiate Clientid
– Operation 36: SETCLIENTID_CONFIRM – Confirm Clientid
– Operation 37: VERIFY – Verify Same Attributes
– Operation 38: WRITE – Write to File
– Operation 39: RELEASE_LOCKOWNER – Release Lockowner State
– Operation 10044: ILLEGAL – Illegal operation
NFS version 4 Callback Procedures
Procedure 0: CB_NULL – No Operation
Procedure 1: CB_COMPOUND – Compound Operations
– Operation 3: CB_GETATTR – Get Attributes
– Operation 4: CB_RECALL – Recall an Open Delegation
– Operation 10044: CB_ILLEGAL – Illegal Callback Operation
Security Considerations
IANA Considerations
Named Attribute Definition
ONC RPC Network Identifiers (netids)
RPC definition file

Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.