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

DNS
DNSDNS
DNSFTC
 
IBM MQ Whats new - including 9.3 and 9.3.1
IBM MQ Whats new - including 9.3 and 9.3.1IBM MQ Whats new - including 9.3 and 9.3.1
IBM MQ Whats new - including 9.3 and 9.3.1Robert Parker
 
Nfs protocol sequence_diagram
Nfs protocol sequence_diagramNfs protocol sequence_diagram
Nfs protocol sequence_diagramRoberto Castro
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
NETWORK FILE SYSTEM
NETWORK FILE SYSTEMNETWORK FILE SYSTEM
NETWORK FILE SYSTEMRoshan Kumar
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architectureAbDul ThaYyal
 
Introduction 2 linux
Introduction 2 linuxIntroduction 2 linux
Introduction 2 linuxPapu Kumar
 
Common linux ubuntu commands overview
Common linux  ubuntu commands overviewCommon linux  ubuntu commands overview
Common linux ubuntu commands overviewAmeer Sameer
 
Windows Server 2019.pptx
Windows Server 2019.pptxWindows Server 2019.pptx
Windows Server 2019.pptxmasbulosoke
 
Linux Administration
Linux AdministrationLinux Administration
Linux AdministrationHarish1983
 
Cloud federation.pptx
Cloud federation.pptxCloud federation.pptx
Cloud federation.pptxYbhh
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with AnsibleRayed Alrashed
 
Linux presentation
Linux presentationLinux presentation
Linux presentationNikhil Jain
 
Chapter09 Implementing And Using Group Policy
Chapter09      Implementing And  Using  Group  PolicyChapter09      Implementing And  Using  Group  Policy
Chapter09 Implementing And Using Group PolicyRaja Waseem Akhtar
 

What's hot (20)

DNS
DNSDNS
DNS
 
IBM MQ Whats new - including 9.3 and 9.3.1
IBM MQ Whats new - including 9.3 and 9.3.1IBM MQ Whats new - including 9.3 and 9.3.1
IBM MQ Whats new - including 9.3 and 9.3.1
 
Nfs protocol sequence_diagram
Nfs protocol sequence_diagramNfs protocol sequence_diagram
Nfs protocol sequence_diagram
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
NETWORK FILE SYSTEM
NETWORK FILE SYSTEMNETWORK FILE SYSTEM
NETWORK FILE SYSTEM
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
 
Nfs
NfsNfs
Nfs
 
Introduction 2 linux
Introduction 2 linuxIntroduction 2 linux
Introduction 2 linux
 
Common linux ubuntu commands overview
Common linux  ubuntu commands overviewCommon linux  ubuntu commands overview
Common linux ubuntu commands overview
 
Windows Server 2019.pptx
Windows Server 2019.pptxWindows Server 2019.pptx
Windows Server 2019.pptx
 
Linux Administration
Linux AdministrationLinux Administration
Linux Administration
 
Linux06 nfs
Linux06 nfsLinux06 nfs
Linux06 nfs
 
Users and groups
Users and groupsUsers and groups
Users and groups
 
Linux file system
Linux file systemLinux file system
Linux file system
 
Cloud federation.pptx
Cloud federation.pptxCloud federation.pptx
Cloud federation.pptx
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
Linux presentation
Linux presentationLinux presentation
Linux presentation
 
Chapter09 Implementing And Using Group Policy
Chapter09      Implementing And  Using  Group  PolicyChapter09      Implementing And  Using  Group  Policy
Chapter09 Implementing And Using Group Policy
 

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
 
Network File System in Distributed Computing
Network File System in Distributed ComputingNetwork File System in Distributed Computing
Network File System in Distributed ComputingChandan Padalkar
 
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
 

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
 
Network File System in Distributed Computing
Network File System in Distributed ComputingNetwork File System in Distributed Computing
Network File System in Distributed Computing
 
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
 

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

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
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
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Recently uploaded (20)

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.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
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

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.