SlideShare a Scribd company logo
1 of 38
Download to read offline
The NFS Version 4 Protocol



                                               By :-
                                               Kelum Senanayake



[Based on the paper of “The NFS Version 4 Protocol”, Brian Pawlowski,
Spencer Shepler, Carl Beame, Brent Callaghan, Michael Eisler,
David Noveck, David Robinson, Robert Thurlow]
What is NFS 4
   The Network File System (more commonly known as
    NFS) is a distributed file system that may be accessed via
    a network connection.
   NFS Version 4 is 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.
   NFS, was developed by Sun Microsystems together with
    Internet Engineering Task Force (IETF).
   IETF develops and promotes Internet standards,
    cooperating closely with the W3C and ISO/IEC standards
    bodies.
The IETF process and NFS
1998
              Sun/IETF Agreement
                             BOF, working group forms
         Strawman Proposal from Sun
                             Meetings, writing, e-mail
1999                         Prototyping by 5 organizations
              Working Group Draft
                             Additional prototyping
                             Six working group drafts
                             Working Group Last Call
2000                         IETF Last Call
                             IESG Review
                             Assign RFC number
2001           Proposed Standard RFC 3010

2002           Proposed Standard RFC 3530
                             Two independent implementations
                             6+ months
                   Draft Standard
         Internet Standard apotheosis
Requirements for NFS Version 4
 Improved access and good performance on the Internet
 Strong security, with security negotiation built into the
  protocol
 Enhanced cross-platform interoperability
 Extensibility of the protocol
 Improvements in locking and performance for narrow
  data sharing applications
Overview
 The NFS Version 4 protocol is stateful.
 NFS is built on top of the ONC Remote
  Procedure Protocol.
 Also uses XDR.
    ◦ The External Data Representation (XDR) enables
      heterogeneous operation by defining a canonical data
      encoding over the wire.
Basic NFS Architecture




    XDR Protocol    RPC Protocol
Structural Changes
   Elimination of ancillary protocols.
    ◦ Mount protocol, Network Lock Manager protocol.
    ◦ NFS 4 is a single protocol that uses a well-defined
       port with the use of initialized filehandles and fully
       integrated Locking in to the protocol.
   The introduction of a COMPOUND RPC procedure
    ◦ Allows the client to group traditional file operations into a single
      request to send to the server.
    ◦ Reduce network round trip latency for related operations, which
      can be costly over a WAN
   NFS 3 was designed to be easy to implement given an
    NFS 2 implementation. NFS 4 did not have that
    requirement.
Structural Changes… contd
   Introduction of the stateful operations OPEN and
    CLOSE
   The regular file CREATE procedure is replaced by the
    OPEN operation (with a create bit set) in NFS 4.
    ◦ The CREATE operation in NFS 4 is used only to create special
      file objects such as symbolic links, directories, and special device
      nodes.
    ◦ CREATE and REMOVE in NFS Version 4 subsumes the MKDIR
      and RMDIR directory functionality of prior versions of NFS.
   A LOOKUP is very simple.
    ◦ Only sets the current filehandle to point at the file object
      resolved.
    ◦ Attributes can be obtained with a subsequent GETATTR
      operation in the same COMPOUND procedure.
Structural Changes… contd
   Does not assign special semantics to the directory
    entries “.” and “..”
    ◦ Client should explicitly use the LOOKUPP operation.
   The NFS 3 directory scanning operation READDIRPLUS
    procedure was dropped.
    ◦ Now supported by the READDIR operation.
NFS Protocol Stack


             NFSv4 (RFC3530)
                          KerberosV5 (RFC1510)
                          SPKM-3
                          LIPKEY (RFC2847)

   RPC (RFC1831)
                   RPCSEC_GSS (RFC2203)
   XDR (RFC1832)

                   TCP*
File system model
 A file system is an implementation of a single file name
  space containing files, and provides the basis for
  administration and space allocation.
 file system identifier, or fsid, which is a 128-bit per-server
  unique identifier.
 A file is a single named object consisting of data and
  attributes, residing in a file system.
 A regular file is a simple byte stream – not a directory,
  symbolic link or special (device) file.
 A filehandle uniquely identifies a file on a server.
Exporting file systems
 The export operation makes available only those file
  systems, or portions of file systems, desired to be
  shared with clients.
 In all versions of NFS, a server contains one or more
  file systems that are exported to clients.
 In NFS 4, a server presents a single seamless view of all
  the exported file systems to a client.
 The client can notice file system transitions on the
  server by observing that the fsid changes.
 The name space describes the set of available files
  arranged in a hierarchy.
Pseudo-file systems

   Server Local FS                         Pseudo FS
                                              /
               /
                                       A          C
   A           B           C
                                       D          F
       D           E           F
                                                  I
           G           H           I
The COMPOUND procedure
 RPC call defines a single request-response transaction
  between the client and server.
 But client may actually be required to transmit a series
  of related requests.
 The COMPOUND procedure groups multiple related
  operations into a single RPC packet.
 The RPC response to a COMPOUND procedure
  contains the replies to all the operations.
 Evaluation of the operations stops on first error.
 It may be unwise to attempt grouping unrelated
  operations into a single COMPOUND procedure.
Properties of the COMPOUND procedure
   The set of operations in a COMPOUND procedure is
    not atomic.
   Error handling is simple on the server.
   Most operations do not explicitly have a filehandle as an
    argument or result.
    ◦ The server maintains a single filehandle, the current filehandle, as
      the argument.
Communication   Compound procedures




 NFS v3            NFS v4
Important data structures
   Filehandles

   Client ID

   State ID
Filehandles
   A filehandle, is a per server unique identifier for a file
    system object.
   Filehandles that are equal refer to the same file system
    object.
    ◦ But no assumptions can be made by the client if the filehandles
      differ.
   The current filehandle is used by subsequent operations
    in a single COMPOUND procedure.
    ◦ GETFH operation to fetch the current filehandle.
Client ID
   A client first contacts the server using the
    SETCLIENTID operation with a verifier.
   A verifier is a unique, non-repeating 64-bit object.
    ◦ Generated by the client.
   The server will return a 64-bit clientid.
    ◦ The clientid is unique.
    ◦ Will not conflict with those previously granted.
    ◦ Even across server reboots.
   The clientid is used in client recovery of locking state
    following a server reboot.
   After a client reboot, the client will need to get a new
    clientid
State ID
 A stateid is a unique 64-bit object that defines the
  locking state of a specific file.
 Client requests a lock with clientID and a unique-per-
  client lock owner identification.
 Server returns a unique 64-bit object, the stateid.
 Client uses this in subsequent operations as a
  shorthand notation to the lock owner information.
Locking
   NFS 4 locking is similar to the Network Lock Manager
    (NLM) protocol.
   NLM is used with NFS Versions 2 and 3.
   Locking is tightly coupled to the NFS 4 protocol.
    ◦ Better support different operating system semantics
      and error recovery.
Drawbacks of NLM
 A major failing was the detection and recovery of error
  conditions.
 The design assumed that the underlying transport was
  reliable and preserved order.
 But an unreliable network easily resulted in orphan
  locks on the server.
 If a client crashed and never recovered,
    ◦ Locks could be permanently abandoned
    ◦ Prevents any other client from ever acquiring the lock.
Leases
   The key change in NFS 4 locking is the introduction of
    leases for lock management.
   A lease is a time-bounded grant of control of the state
    of a file, through a lock, from the server to the client.
   A lock granted by the server will remain valid for a fixed
    interval.
    ◦ Time interval can be renewal by the client.
   Client is responsible for contacting the server to
    refresh the lease to maintain the lock.
    ◦ Client failure vs Server failure.
   A client exists in two states: either all the locks held
    from a given server are correct or all are lost.
    ◦ Eliminates another drawback of a lease-based protocol
Mandatory locking & Share reservations

   Mandatory locking - the ability to block I/O operations
    by other applications on a file that contains a lock.



   Share reservation - grants a client access to open a file
    and the ability to deny other clients open access to the
    same file.
Sequence IDs
   The most problematic part of network locking is dealing
    with lock requests that arrive out of order or are
    replayed.
   NFS 4 adds to every lock and unlock operation a
    monotonically increasing sequence number.
   Server maintains for each lock owner the last sequence
    number and the response sent.
    ◦ Earlier sequence number.
    ◦ Last sequence number.
    ◦ Sequence number beyond the next sequence number.
Security Model
   NFS relies on the underlying security model of RPC for
    its security services.
   In the area of security, NFS Version 4 improves over
    NFS Versions 2 and 3 by
    ◦ Mandating the use of strong RPC security flavors that depend on
      cryptography.
    ◦ Negotiating the security used via a system that is both secure
      and in-band.
    ◦ Using character strings instead of integers to represent user and
      group identifiers.
    ◦ Supporting access control that is compatible with UNIX and
      Windows.
    ◦ Removing the Mount protocol.
GSS-API framework
   Generic Security Services API
    ◦ Several security flavors
 NFS is based on RPC and a security flavor based GSS-
  API called RPCSEC_GSS.
 RPCSEC_GSS differs from other traditional flavors in
  two ways
    ◦ RPCSEC_GSS does more than authentication such as
      performing integrity checksums and encryption of the entire
      body of the RPC request and response.
    ◦ RPCSEC_GSS simply encapsulates the GSS-API messaging
      tokens – Adding new security mechanisms (as long as they
      conform to GSS-API) does not require significant re-writing.
Mandated strong security
 All versions of NFS are capable of using RPCSEC_GSS.
 NFS 4 implementations must implement security based
  on Kerberos Version 5 and LIPKEY
Kerberos versus LIPKEY
   Kerberos has been used on other distributed file
    systems.
    ◦ Andrew File System
    ◦ Open Software Foundation's Distributed File System
    ◦ Microsoft's CIFS
   Kerberos is an excellent choice for enterprises and
    work groups operating within an Intranet.
    ◦ Provides centralized control.
    ◦ Single sign on to the network.
   Kerberos does not work well on the Internet.
Kerberos versus LIPKEY… contd
 NFS Version 4 is also designed to work outside of
  intranets on the global Internet.
 LIPKEY - Low Infrastructure Public Key
 LIPKEY uses a symmetric key cipher and server-side
  public key certificates.
 The LIPKEY system provides an SSL-like model and
  equivalent security for use on the Internet.
 The LIPKEY user experience is similar to that of HTTP
  over the Secure Sockets Layer (SSL).
Why not SSL?
 NFS Version 4 does not use SSL.
 SSL does not work over connectionless protocols like
  UDP.
 RPC has its own security architecture
    ◦ It is unclear how to cleanly merge SSL and RPC security.
NFS v4 Secure RPC
Migration and replication
   NFS Version 4 has added features to support file system
    migration and replication.
   A file system can migrate to a new server.
    ◦ Clients are notified of the change by means of a special error
      code.
   A client is informed of the new location by means of
    the fs_locations file attribute.
Modifications for use on the Internet
 Requiring TCP as a transport.
 Defining COMPOUND operation to reduce roundtrip
  latency
 Defining a global user identifier name space
 Mandating strong security based on a public key scheme
 Enabling operation through firewalls
Firewall friendly


            Port 111
PORTMAP




                        }
            Dynamic
  MOUNT
            Port 2049           Port 2049
 NFSv2/v3
            Dynamic     NFSv4
LOCK/NLM                         TCP
            Dynamic
  STATUS
            Dynamic
    ACL*
Future Works
 Enhanced “Sessions” based NFS (correctness)
 CCM - session-based security for IPsec
 Migration/replication completion
    ◦ Core protocol defines client/server failover behaviour
    ◦ Definition of the server-server file system movement
    ◦ Transparent reconfiguration from client viewpoint
   Proxy NFS file services (NFS caches)
   Uniform global name space
    ◦ Features exist in the core protocol to support this
   Support for multi-realm security
Reference
   [1] B. Pawlowski, S. Shepler, C. Beame, B. Callaghan, M. Eisler, D. Noveck, D.
    Robinson, and R. Thurlow. “The NFS Version 4 Protocol”. In Proceedings of
    the 2nd International System Administration and Networking Conference
    (SANE2000), page94, Maastricht, The Netherlands, May 2000.
The NFS Version 4 Protocol

More Related Content

What's hot

Network File System in Distributed Computing
Network File System in Distributed ComputingNetwork File System in Distributed Computing
Network File System in Distributed ComputingChandan Padalkar
 
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...xKinAnx
 
NFS(Network File System)
NFS(Network File System)NFS(Network File System)
NFS(Network File System)udamale
 
NTFS file system
NTFS file systemNTFS file system
NTFS file systemRavi Yasas
 
MinIO January 2020 Briefing
MinIO January 2020 BriefingMinIO January 2020 Briefing
MinIO January 2020 BriefingJonathan Symonds
 
Palo Alto Networks PAN-OS 4.0 New Features
Palo Alto Networks PAN-OS 4.0 New FeaturesPalo Alto Networks PAN-OS 4.0 New Features
Palo Alto Networks PAN-OS 4.0 New Featureslukky753
 
The Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOsThe Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOsDivye Kapoor
 
pfSense presentation
pfSense presentationpfSense presentation
pfSense presentationSimon Vass
 
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC ClustersSR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC ClustersGlenn K. Lockwood
 
iSCSI Protocol and Functionality
iSCSI Protocol and FunctionalityiSCSI Protocol and Functionality
iSCSI Protocol and FunctionalityLexumo
 
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...xKinAnx
 
VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1Sanjeev Kumar
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel SourceMotaz Saad
 
What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?Insight
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - VoldWilliam Lee
 
Integrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorageIntegrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorageJorge de la Cruz
 

What's hot (20)

Network File System in Distributed Computing
Network File System in Distributed ComputingNetwork File System in Distributed Computing
Network File System in Distributed Computing
 
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
 
NFS(Network File System)
NFS(Network File System)NFS(Network File System)
NFS(Network File System)
 
Sun NFS , Case study
Sun NFS , Case study Sun NFS , Case study
Sun NFS , Case study
 
NTFS file system
NTFS file systemNTFS file system
NTFS file system
 
MinIO January 2020 Briefing
MinIO January 2020 BriefingMinIO January 2020 Briefing
MinIO January 2020 Briefing
 
Palo Alto Networks PAN-OS 4.0 New Features
Palo Alto Networks PAN-OS 4.0 New FeaturesPalo Alto Networks PAN-OS 4.0 New Features
Palo Alto Networks PAN-OS 4.0 New Features
 
The Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOsThe Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOs
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
pfSense presentation
pfSense presentationpfSense presentation
pfSense presentation
 
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC ClustersSR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
 
CloudStack Networking
CloudStack NetworkingCloudStack Networking
CloudStack Networking
 
iSCSI Protocol and Functionality
iSCSI Protocol and FunctionalityiSCSI Protocol and Functionality
iSCSI Protocol and Functionality
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
 
VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel Source
 
What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?What’s New in VMware vSphere 7?
What’s New in VMware vSphere 7?
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
 
Integrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorageIntegrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorage
 

Similar to The NFS Version 4 Protocol

Network File System
Network File SystemNetwork File System
Network File SystemDivyang Oza
 
Presentation on nfs,afs,vfs
Presentation on nfs,afs,vfsPresentation on nfs,afs,vfs
Presentation on nfs,afs,vfsPrakriti Dubey
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systemsAbDul ThaYyal
 
File service architecture and network file system
File service architecture and network file systemFile service architecture and network file system
File service architecture and network file systemSukhman Kaur
 
Chapter 06
Chapter 06Chapter 06
Chapter 06cclay3
 
RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)Sumant Garg
 
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)Ali Ordoubadian
 
Chapter 05
Chapter 05Chapter 05
Chapter 05cclay3
 
Building Linux IPv6 DNS Server (Complete Soft Copy)
Building Linux IPv6 DNS Server (Complete Soft Copy)Building Linux IPv6 DNS Server (Complete Soft Copy)
Building Linux IPv6 DNS Server (Complete Soft Copy)Hari
 
Dfs (Distributed computing)
Dfs (Distributed computing)Dfs (Distributed computing)
Dfs (Distributed computing)Sri Prasanna
 
Lustre And Nfs V4
Lustre And Nfs V4Lustre And Nfs V4
Lustre And Nfs V4awesomesos
 
Linux Servers.pptx
Linux Servers.pptxLinux Servers.pptx
Linux Servers.pptxChSheraz3
 

Similar to The NFS Version 4 Protocol (20)

Nf Sp4
Nf Sp4Nf Sp4
Nf Sp4
 
Nfs
NfsNfs
Nfs
 
Network File System
Network File SystemNetwork File System
Network File System
 
Presentation on nfs,afs,vfs
Presentation on nfs,afs,vfsPresentation on nfs,afs,vfs
Presentation on nfs,afs,vfs
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systems
 
Pnfs
PnfsPnfs
Pnfs
 
File service architecture and network file system
File service architecture and network file systemFile service architecture and network file system
File service architecture and network file system
 
Nfs1
Nfs1Nfs1
Nfs1
 
Ranjitbanshpal
RanjitbanshpalRanjitbanshpal
Ranjitbanshpal
 
pNFS Introduction
pNFS IntroductionpNFS Introduction
pNFS Introduction
 
Chapter 06
Chapter 06Chapter 06
Chapter 06
 
RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)
 
Cl116
Cl116Cl116
Cl116
 
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
 
Chapter 05
Chapter 05Chapter 05
Chapter 05
 
Building Linux IPv6 DNS Server (Complete Soft Copy)
Building Linux IPv6 DNS Server (Complete Soft Copy)Building Linux IPv6 DNS Server (Complete Soft Copy)
Building Linux IPv6 DNS Server (Complete Soft Copy)
 
Dfs (Distributed computing)
Dfs (Distributed computing)Dfs (Distributed computing)
Dfs (Distributed computing)
 
Lustre And Nfs V4
Lustre And Nfs V4Lustre And Nfs V4
Lustre And Nfs V4
 
Chapter-5-DFS.ppt
Chapter-5-DFS.pptChapter-5-DFS.ppt
Chapter-5-DFS.ppt
 
Linux Servers.pptx
Linux Servers.pptxLinux Servers.pptx
Linux Servers.pptx
 

More from Kelum Senanayake

Couchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionCouchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionKelum Senanayake
 
What you need to know about GC
What you need to know about GCWhat you need to know about GC
What you need to know about GCKelum Senanayake
 
A Searchable Symmetric Key Cipher System
A Searchable Symmetric Key Cipher SystemA Searchable Symmetric Key Cipher System
A Searchable Symmetric Key Cipher SystemKelum Senanayake
 
EJB 3.0 - Yet Another Introduction
EJB 3.0 - Yet Another IntroductionEJB 3.0 - Yet Another Introduction
EJB 3.0 - Yet Another IntroductionKelum Senanayake
 
Security Risks & Vulnerabilities in Skype
Security Risks & Vulnerabilities in SkypeSecurity Risks & Vulnerabilities in Skype
Security Risks & Vulnerabilities in SkypeKelum Senanayake
 

More from Kelum Senanayake (10)

Couchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionCouchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
 
Node.js Introduction
Node.js IntroductionNode.js Introduction
Node.js Introduction
 
What you need to know about GC
What you need to know about GCWhat you need to know about GC
What you need to know about GC
 
A Searchable Symmetric Key Cipher System
A Searchable Symmetric Key Cipher SystemA Searchable Symmetric Key Cipher System
A Searchable Symmetric Key Cipher System
 
Blind Signature Scheme
Blind Signature SchemeBlind Signature Scheme
Blind Signature Scheme
 
EJB 3.0 - Yet Another Introduction
EJB 3.0 - Yet Another IntroductionEJB 3.0 - Yet Another Introduction
EJB 3.0 - Yet Another Introduction
 
Security Risks & Vulnerabilities in Skype
Security Risks & Vulnerabilities in SkypeSecurity Risks & Vulnerabilities in Skype
Security Risks & Vulnerabilities in Skype
 
Knight's Tour
Knight's TourKnight's Tour
Knight's Tour
 
GPU Programming with Java
GPU Programming with JavaGPU Programming with Java
GPU Programming with Java
 
How to Share a Secret
How to Share a SecretHow to Share a Secret
How to Share a Secret
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesShubhangi Sonawane
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxNikitaBankoti2
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 

Recently uploaded (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 

The NFS Version 4 Protocol

  • 1. The NFS Version 4 Protocol By :- Kelum Senanayake [Based on the paper of “The NFS Version 4 Protocol”, Brian Pawlowski, Spencer Shepler, Carl Beame, Brent Callaghan, Michael Eisler, David Noveck, David Robinson, Robert Thurlow]
  • 2. What is NFS 4  The Network File System (more commonly known as NFS) is a distributed file system that may be accessed via a network connection.  NFS Version 4 is 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.  NFS, was developed by Sun Microsystems together with Internet Engineering Task Force (IETF).  IETF develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies.
  • 3. The IETF process and NFS 1998 Sun/IETF Agreement BOF, working group forms Strawman Proposal from Sun Meetings, writing, e-mail 1999 Prototyping by 5 organizations Working Group Draft Additional prototyping Six working group drafts Working Group Last Call 2000 IETF Last Call IESG Review Assign RFC number 2001 Proposed Standard RFC 3010 2002 Proposed Standard RFC 3530 Two independent implementations 6+ months Draft Standard Internet Standard apotheosis
  • 4. Requirements for NFS Version 4  Improved access and good performance on the Internet  Strong security, with security negotiation built into the protocol  Enhanced cross-platform interoperability  Extensibility of the protocol  Improvements in locking and performance for narrow data sharing applications
  • 5. Overview  The NFS Version 4 protocol is stateful.  NFS is built on top of the ONC Remote Procedure Protocol.  Also uses XDR. ◦ The External Data Representation (XDR) enables heterogeneous operation by defining a canonical data encoding over the wire.
  • 6. Basic NFS Architecture XDR Protocol RPC Protocol
  • 7. Structural Changes  Elimination of ancillary protocols. ◦ Mount protocol, Network Lock Manager protocol. ◦ NFS 4 is a single protocol that uses a well-defined port with the use of initialized filehandles and fully integrated Locking in to the protocol.  The introduction of a COMPOUND RPC procedure ◦ Allows the client to group traditional file operations into a single request to send to the server. ◦ Reduce network round trip latency for related operations, which can be costly over a WAN  NFS 3 was designed to be easy to implement given an NFS 2 implementation. NFS 4 did not have that requirement.
  • 8. Structural Changes… contd  Introduction of the stateful operations OPEN and CLOSE  The regular file CREATE procedure is replaced by the OPEN operation (with a create bit set) in NFS 4. ◦ The CREATE operation in NFS 4 is used only to create special file objects such as symbolic links, directories, and special device nodes. ◦ CREATE and REMOVE in NFS Version 4 subsumes the MKDIR and RMDIR directory functionality of prior versions of NFS.  A LOOKUP is very simple. ◦ Only sets the current filehandle to point at the file object resolved. ◦ Attributes can be obtained with a subsequent GETATTR operation in the same COMPOUND procedure.
  • 9. Structural Changes… contd  Does not assign special semantics to the directory entries “.” and “..” ◦ Client should explicitly use the LOOKUPP operation.  The NFS 3 directory scanning operation READDIRPLUS procedure was dropped. ◦ Now supported by the READDIR operation.
  • 10. NFS Protocol Stack NFSv4 (RFC3530) KerberosV5 (RFC1510) SPKM-3 LIPKEY (RFC2847) RPC (RFC1831) RPCSEC_GSS (RFC2203) XDR (RFC1832) TCP*
  • 11. File system model  A file system is an implementation of a single file name space containing files, and provides the basis for administration and space allocation.  file system identifier, or fsid, which is a 128-bit per-server unique identifier.  A file is a single named object consisting of data and attributes, residing in a file system.  A regular file is a simple byte stream – not a directory, symbolic link or special (device) file.  A filehandle uniquely identifies a file on a server.
  • 12. Exporting file systems  The export operation makes available only those file systems, or portions of file systems, desired to be shared with clients.  In all versions of NFS, a server contains one or more file systems that are exported to clients.  In NFS 4, a server presents a single seamless view of all the exported file systems to a client.  The client can notice file system transitions on the server by observing that the fsid changes.  The name space describes the set of available files arranged in a hierarchy.
  • 13. Pseudo-file systems Server Local FS Pseudo FS / / A C A B C D F D E F I G H I
  • 14. The COMPOUND procedure  RPC call defines a single request-response transaction between the client and server.  But client may actually be required to transmit a series of related requests.  The COMPOUND procedure groups multiple related operations into a single RPC packet.  The RPC response to a COMPOUND procedure contains the replies to all the operations.  Evaluation of the operations stops on first error.  It may be unwise to attempt grouping unrelated operations into a single COMPOUND procedure.
  • 15. Properties of the COMPOUND procedure  The set of operations in a COMPOUND procedure is not atomic.  Error handling is simple on the server.  Most operations do not explicitly have a filehandle as an argument or result. ◦ The server maintains a single filehandle, the current filehandle, as the argument.
  • 16. Communication Compound procedures NFS v3 NFS v4
  • 17. Important data structures  Filehandles  Client ID  State ID
  • 18. Filehandles  A filehandle, is a per server unique identifier for a file system object.  Filehandles that are equal refer to the same file system object. ◦ But no assumptions can be made by the client if the filehandles differ.  The current filehandle is used by subsequent operations in a single COMPOUND procedure. ◦ GETFH operation to fetch the current filehandle.
  • 19. Client ID  A client first contacts the server using the SETCLIENTID operation with a verifier.  A verifier is a unique, non-repeating 64-bit object. ◦ Generated by the client.  The server will return a 64-bit clientid. ◦ The clientid is unique. ◦ Will not conflict with those previously granted. ◦ Even across server reboots.  The clientid is used in client recovery of locking state following a server reboot.  After a client reboot, the client will need to get a new clientid
  • 20. State ID  A stateid is a unique 64-bit object that defines the locking state of a specific file.  Client requests a lock with clientID and a unique-per- client lock owner identification.  Server returns a unique 64-bit object, the stateid.  Client uses this in subsequent operations as a shorthand notation to the lock owner information.
  • 21. Locking  NFS 4 locking is similar to the Network Lock Manager (NLM) protocol.  NLM is used with NFS Versions 2 and 3.  Locking is tightly coupled to the NFS 4 protocol. ◦ Better support different operating system semantics and error recovery.
  • 22. Drawbacks of NLM  A major failing was the detection and recovery of error conditions.  The design assumed that the underlying transport was reliable and preserved order.  But an unreliable network easily resulted in orphan locks on the server.  If a client crashed and never recovered, ◦ Locks could be permanently abandoned ◦ Prevents any other client from ever acquiring the lock.
  • 23. Leases  The key change in NFS 4 locking is the introduction of leases for lock management.  A lease is a time-bounded grant of control of the state of a file, through a lock, from the server to the client.  A lock granted by the server will remain valid for a fixed interval. ◦ Time interval can be renewal by the client.  Client is responsible for contacting the server to refresh the lease to maintain the lock. ◦ Client failure vs Server failure.  A client exists in two states: either all the locks held from a given server are correct or all are lost. ◦ Eliminates another drawback of a lease-based protocol
  • 24. Mandatory locking & Share reservations  Mandatory locking - the ability to block I/O operations by other applications on a file that contains a lock.  Share reservation - grants a client access to open a file and the ability to deny other clients open access to the same file.
  • 25. Sequence IDs  The most problematic part of network locking is dealing with lock requests that arrive out of order or are replayed.  NFS 4 adds to every lock and unlock operation a monotonically increasing sequence number.  Server maintains for each lock owner the last sequence number and the response sent. ◦ Earlier sequence number. ◦ Last sequence number. ◦ Sequence number beyond the next sequence number.
  • 26. Security Model  NFS relies on the underlying security model of RPC for its security services.  In the area of security, NFS Version 4 improves over NFS Versions 2 and 3 by ◦ Mandating the use of strong RPC security flavors that depend on cryptography. ◦ Negotiating the security used via a system that is both secure and in-band. ◦ Using character strings instead of integers to represent user and group identifiers. ◦ Supporting access control that is compatible with UNIX and Windows. ◦ Removing the Mount protocol.
  • 27. GSS-API framework  Generic Security Services API ◦ Several security flavors  NFS is based on RPC and a security flavor based GSS- API called RPCSEC_GSS.  RPCSEC_GSS differs from other traditional flavors in two ways ◦ RPCSEC_GSS does more than authentication such as performing integrity checksums and encryption of the entire body of the RPC request and response. ◦ RPCSEC_GSS simply encapsulates the GSS-API messaging tokens – Adding new security mechanisms (as long as they conform to GSS-API) does not require significant re-writing.
  • 28. Mandated strong security  All versions of NFS are capable of using RPCSEC_GSS.  NFS 4 implementations must implement security based on Kerberos Version 5 and LIPKEY
  • 29. Kerberos versus LIPKEY  Kerberos has been used on other distributed file systems. ◦ Andrew File System ◦ Open Software Foundation's Distributed File System ◦ Microsoft's CIFS  Kerberos is an excellent choice for enterprises and work groups operating within an Intranet. ◦ Provides centralized control. ◦ Single sign on to the network.  Kerberos does not work well on the Internet.
  • 30. Kerberos versus LIPKEY… contd  NFS Version 4 is also designed to work outside of intranets on the global Internet.  LIPKEY - Low Infrastructure Public Key  LIPKEY uses a symmetric key cipher and server-side public key certificates.  The LIPKEY system provides an SSL-like model and equivalent security for use on the Internet.  The LIPKEY user experience is similar to that of HTTP over the Secure Sockets Layer (SSL).
  • 31. Why not SSL?  NFS Version 4 does not use SSL.  SSL does not work over connectionless protocols like UDP.  RPC has its own security architecture ◦ It is unclear how to cleanly merge SSL and RPC security.
  • 33. Migration and replication  NFS Version 4 has added features to support file system migration and replication.  A file system can migrate to a new server. ◦ Clients are notified of the change by means of a special error code.  A client is informed of the new location by means of the fs_locations file attribute.
  • 34. Modifications for use on the Internet  Requiring TCP as a transport.  Defining COMPOUND operation to reduce roundtrip latency  Defining a global user identifier name space  Mandating strong security based on a public key scheme  Enabling operation through firewalls
  • 35. Firewall friendly Port 111 PORTMAP } Dynamic MOUNT Port 2049 Port 2049 NFSv2/v3 Dynamic NFSv4 LOCK/NLM TCP Dynamic STATUS Dynamic ACL*
  • 36. Future Works  Enhanced “Sessions” based NFS (correctness)  CCM - session-based security for IPsec  Migration/replication completion ◦ Core protocol defines client/server failover behaviour ◦ Definition of the server-server file system movement ◦ Transparent reconfiguration from client viewpoint  Proxy NFS file services (NFS caches)  Uniform global name space ◦ Features exist in the core protocol to support this  Support for multi-realm security
  • 37. Reference  [1] B. Pawlowski, S. Shepler, C. Beame, B. Callaghan, M. Eisler, D. Noveck, D. Robinson, and R. Thurlow. “The NFS Version 4 Protocol”. In Proceedings of the 2nd International System Administration and Networking Conference (SANE2000), page94, Maastricht, The Netherlands, May 2000.