SlideShare a Scribd company logo
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

PPTX
Linux network file system (nfs)
PPT
PDF
DNS (Domain Name System)
PPTX
Understanding das-nas-san
PPTX
Sun NFS , Case study
PPTX
Domain name system (dns)
PPT
Ieee 802.11 wireless lan
PPT
Linux network file system (nfs)
DNS (Domain Name System)
Understanding das-nas-san
Sun NFS , Case study
Domain name system (dns)
Ieee 802.11 wireless lan

What's hot (20)

PDF
NFS(Network File System)
PPTX
DNS server configuration
PPS
Linux05 DHCP Server
PPT
Vlan
PPT
Ipv4 ppt
PPTX
Peer to peer system
PPTX
Linux Network Stack
PPTX
Understanding DPDK
PPTX
Case Study - SUN NFS
PDF
LinuxCon 2015 Linux Kernel Networking Walkthrough
PPT
OpenFlow tutorial
PPT
Chord Algorithm
PDF
File system
PPTX
Border Gateway Protocol
PPT
Distributed & parallel system
PDF
VLAN and its implementation
PDF
Intel DPDK Step by Step instructions
PDF
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
PPT
Samba server configuration
NFS(Network File System)
DNS server configuration
Linux05 DHCP Server
Vlan
Ipv4 ppt
Peer to peer system
Linux Network Stack
Understanding DPDK
Case Study - SUN NFS
LinuxCon 2015 Linux Kernel Networking Walkthrough
OpenFlow tutorial
Chord Algorithm
File system
Border Gateway Protocol
Distributed & parallel system
VLAN and its implementation
Intel DPDK Step by Step instructions
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Samba server configuration
Ad

Similar to The NFS Version 4 Protocol (20)

PPT
Nf Sp4
PPT
NETWORK FILE SYSTEM
PPTX
Network File System
PPT
Presentation on nfs,afs,vfs
PPT
Chapter 8 distributed file systems
PPT
PPTX
File service architecture and network file system
PPT
PPT
Ranjitbanshpal
PPT
pNFS Introduction
PPTX
Network File System in Distributed Computing
PPT
Chapter 06
PPTX
RHCE (RED HAT CERTIFIED ENGINEERING)
ODP
PPTX
presentasi-nas-server-cloud-computing.pptx
PDF
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
PPT
Chapter 05
PDF
Building Linux IPv6 DNS Server (Complete Soft Copy)
Nf Sp4
NETWORK FILE SYSTEM
Network File System
Presentation on nfs,afs,vfs
Chapter 8 distributed file systems
File service architecture and network file system
Ranjitbanshpal
pNFS Introduction
Network File System in Distributed Computing
Chapter 06
RHCE (RED HAT CERTIFIED ENGINEERING)
presentasi-nas-server-cloud-computing.pptx
SNIA Europe - DCSEurope_April2013 (AOrdoubadian)
Chapter 05
Building Linux IPv6 DNS Server (Complete Soft Copy)
Ad

More from Kelum Senanayake (10)

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

Recently uploaded (20)

PDF
Complications of Minimal Access Surgery at WLH
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Pharma ospi slides which help in ospi learning
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Classroom Observation Tools for Teachers
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Complications of Minimal Access Surgery at WLH
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
STATICS OF THE RIGID BODIES Hibbelers.pdf
Microbial disease of the cardiovascular and lymphatic systems
Renaissance Architecture: A Journey from Faith to Humanism
Pharma ospi slides which help in ospi learning
Supply Chain Operations Speaking Notes -ICLT Program
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
human mycosis Human fungal infections are called human mycosis..pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Basic Mud Logging Guide for educational purpose
Microbial diseases, their pathogenesis and prophylaxis
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Cell Types and Its function , kingdom of life
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Classroom Observation Tools for Teachers
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...

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.