BITS Pilani
Pilani Campus
Data Storage Technologies
& Networks
Dr. Virendra Singh Shekhawat
Department of Computer Science and Information Systems
BITS Pilani, Pilani Campus
Topics
• Network File System protocol (NFS)
– Design goals
– Interface
– NFS Transport
– Operation
2
BITS Pilani, Pilani Campus
What is NFS?
• A remote file system protocol
– Designed and implemented by Sun Microsystems
– Provides Unix-like file system interface and
semantics
• It is implemented as a Client-Server application
– Client part imports file systems (from other
computers)
– Server part exports (local) file systems
• i.e. makes it visible on the network and enables access
from other computers
3
BITS Pilani, Pilani Campus
NFS Design Goals
• Stateless protocol
– Increased robustness – easy recovery from failures
• Support for Unix filesystem semantics
– Also supports other semantics such as MS-DOS
• Protection and Access Control same as Unix
filesystem semantics
• Transport-independent protocol
– Originally implemented on top of UDP
– Easily moved to TCP later
– Has been implemented over many non-IP-based
protocols.
4
BITS Pilani, Pilani Campus
NFS Design Limitations
• Design for clients and servers connected on a
locally fast network.
– Does not work well over slow links nor between
clients and servers with intervening gateways
• Stateless protocol
– Session state is not maintained
5
BITS Pilani, Pilani Campus
NFS- Transport[1]
• Uses a Request – Response model
– Server receives RPC – Remote Procedure Call –
requests from clients
– Can be run on top of stream (e.g. TCP) or datagram
protocol (e.g. UDP)
• Each RPC message may need to be broken into
multiple packets to be sent across the network.
– May typically require up to 6 packets
– May cause problems in UDP – in case of failure,
entire message must be retransmitted
6
BITS Pilani, Pilani Campus
NFS – Transport[2]
• Remote Procedure Call (RPC)
– Client sees a procedure call interface (akin to a local
procedure call)
– But the call (along with the parameters) is marshalled
into a message and sent over the network
• Marshalling may involve serializing
• Server unmarshalls the message (i.e. separates it
into pieces) and processes it as a local operation.
• The result is similarly marshalled by the server and
sent to the client which in turn unmarshalls it.
7
BITS Pilani, Pilani Campus
NFS- Interface
• NFS RPC requests
– Idempotent Operations(i.e. NFS client may send the
same request one or more times without any harmful
side effects)
• GETATTR, SETATTR, LOOKUP, READLINK, READ, WRITE, CREATE,
SYMLINK, READDIR, STATFS
– Non-Idempotent Operations
• REMOVE, RENAME, LINK, MKDIR, RMDIR
• Idempotency is significant because of
– slow links and lost RPC acks.
• Each file on the server is identified by a globally
unique file handle
– created when a lookup is sent by client to server
8
BITS Pilani, Pilani Campus
NFS- Operation[1]
• NFS protocol is stateless
– Each request is independent
• Server need not maintain information about clients and their
requests
• In practice, server caches recently accessed file
data.
– It improves performance
– and is useful for detecting retrials of previously serviced
requests
• Transaction-Commit semantics implies high
overhead:
– Synchronous writes are required for write operations.
9
BITS Pilani, Pilani Campus
NFS- Operation[2]
• NFS is a client-server protocol
– No discovery or registry is used.
• i.e. client must know the server and the filesystem
– Server’s filesystem has to be exported (by
mounting).
• Refer to mount system call on Unix
• Each server has a globally unique id (guid)
• Client application need not distinguish
between local and remote files
– i.e. once a filesystem is mounted applications use
the same interface for both types of files
10
BITS Pilani, Pilani Campus
NFS - Operation[3]
• NFS is a client-server protocol
– File manager part of client file system remains the same
as that for the local file system
• Only the file store is local or remote
• Each remote file that is active manifests as an
nfsnode in the client’s filesystem
– Recall the active file data structures:
• Per-Process File Descriptor
– Kernel File Entry
– vnode
– file-store-specific data structure
» inode for local file store and
» nfsnode for remote filestore
11
BITS Pilani, Pilani Campus
NFS - Operation
• Basic Protocol (Mounting): Client C, Server S
– C (mount process) -----> S(portmap daemon)
• request port address of mountd
– S (portmap daemon) ----> C
• return the port address of its mountd
– C (mount process) ----> S(mountd daemon)
• request mounting of filesystem [pathname]
– S (mountd daemon):
• get file handle for desired mount point from kernel
– S (mountd daemon) ---> C
• return filehandle of mountpoint OR error
12
BITS Pilani, Pilani Campus
NFS - Operation
• Basic Protocol (I/O Operation): Client C, Server S
– C (app. process): write system call
• Data is copied into kernel buffer and call returns
• nfsiod daemon wakes up
– C (nfsiod daemon) -----> S(nfs_rcv)
• Request write [buffer contents]
– S delegates request to nfsd daemon
• nfsd daemon invokes write on disk and waits for I/O
– S (nfsd daemon) ---> C (nfsiod daemon)
• return ack for the write operation
13
BITS Pilani, Pilani Campus
NFSv3 vs NFSv4
• NFSv3
– One RPC per RTT
– Port mapper service required to determine which network
port to listen or connect
– No caching
• NFSv4 features
– Access control lists (similar to Windows ACLs)
– Compound RPCs
– Client side caching
– Operation over TCP port 2049
– Mandating Strong security (Kerberos v5 for cryptographic
services)
14
BITS Pilani, Pilani Campus
Thank You!
15

More Related Content

PPTX
PDF
Ftp server linux
PPTX
Solving the Problems of FTP
PPTX
Ftp server
PPT
Using an FTP client - Client server computing
PPTX
Ftp: a slideshow on File transfer protocol
PDF
Ftp
PPTX
An overview of ftp
Ftp server linux
Solving the Problems of FTP
Ftp server
Using an FTP client - Client server computing
Ftp: a slideshow on File transfer protocol
Ftp
An overview of ftp

What's hot (20)

PDF
Ftp server
PPT
Ftp.75 to 76
PPTX
FTP Client and Server | Computer Science
PPTX
File Transfer Protocol
PDF
FTP Conflict troubleshooting & MINI-LINK TN FTP
PPTX
PPT
PPTX
PDF
FTP - File Transfer Protocol
PPT
Ftp tftp
PPT
Ftp
PPTX
File Transfer Protocol - FTP
PPTX
File transfer protocol
DOCX
File transfer protocol
PDF
Ftp (file transfer protocol)
DOCX
File Transfer Protocol(ftp)
PPTX
File Transfer Protocol(FTP)
Ftp server
Ftp.75 to 76
FTP Client and Server | Computer Science
File Transfer Protocol
FTP Conflict troubleshooting & MINI-LINK TN FTP
FTP - File Transfer Protocol
Ftp tftp
Ftp
File Transfer Protocol - FTP
File transfer protocol
File transfer protocol
Ftp (file transfer protocol)
File Transfer Protocol(ftp)
File Transfer Protocol(FTP)
Ad

Similar to M3 nfs fs-3.2.1 (20)

PPT
NETWORK FILE SYSTEM
PPT
Nf Sp4
PPTX
Network File System in Distributed Computing
PPTX
M3 nfs fs-_performance_3.2.2
PPTX
M3 nas architecture-3.1.1
PPT
PPT
Dfs (Distributed computing)
PPT
PDF
NFS(Network File System)
PPT
NFS.ppt shshsjsjsjssjsjsksksksksksisisisisi
PPT
PPTX
M2 211-unix fs-rl_2.1.1
PPT
PDF
The NFS Version 4 Protocol
PPTX
distributed computing.pptx
PPT
nfs.ppt
PPT
PDF
Introduction to distributed file systems
PPT
Ranjitbanshpal
NETWORK FILE SYSTEM
Nf Sp4
Network File System in Distributed Computing
M3 nfs fs-_performance_3.2.2
M3 nas architecture-3.1.1
Dfs (Distributed computing)
NFS(Network File System)
NFS.ppt shshsjsjsjssjsjsksksksksksisisisisi
M2 211-unix fs-rl_2.1.1
The NFS Version 4 Protocol
distributed computing.pptx
nfs.ppt
Introduction to distributed file systems
Ranjitbanshpal
Ad

More from MrudulaJoshi10 (15)

PPTX
M4 san features-4.3.1
PPTX
M4 rdma 4.5.1
PPTX
M4 f co-e_4.4.2
PPTX
M4 fc stack-4.1.1
PPTX
M4 fc san-4.2.1
PPTX
M3 smb cifs-protocol_3.3.1
PPTX
M2 242-scsi-bus rl-2.4.2
PPTX
M2 241-buses rl-2.4.1
PPTX
M2 231-io tech-rl_2.3.1
PPTX
M2 221-ssd fs-rl_2.2.1
PPTX
M2 212-unix fs-rl_2.1.2
PPTX
M1 rl 1.4.1
PPTX
M1 rl 1.3.1
PPTX
M1 rl 1.2.1
PPTX
M1 rl 1.1.1
M4 san features-4.3.1
M4 rdma 4.5.1
M4 f co-e_4.4.2
M4 fc stack-4.1.1
M4 fc san-4.2.1
M3 smb cifs-protocol_3.3.1
M2 242-scsi-bus rl-2.4.2
M2 241-buses rl-2.4.1
M2 231-io tech-rl_2.3.1
M2 221-ssd fs-rl_2.2.1
M2 212-unix fs-rl_2.1.2
M1 rl 1.4.1
M1 rl 1.3.1
M1 rl 1.2.1
M1 rl 1.1.1

Recently uploaded (20)

PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PPTX
CyberSecurity Mobile and Wireless Devices
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPT
Total quality management ppt for engineering students
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PPTX
Amdahl’s law is explained in the above power point presentations
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PPTX
Software Engineering and software moduleing
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
Design Guidelines and solutions for Plastics parts
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PDF
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
PPTX
Current and future trends in Computer Vision.pptx
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PPTX
introduction to high performance computing
PPTX
Feature types and data preprocessing steps
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
CyberSecurity Mobile and Wireless Devices
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Total quality management ppt for engineering students
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
Categorization of Factors Affecting Classification Algorithms Selection
Amdahl’s law is explained in the above power point presentations
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
Software Engineering and software moduleing
Abrasive, erosive and cavitation wear.pdf
Design Guidelines and solutions for Plastics parts
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
Current and future trends in Computer Vision.pptx
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
introduction to high performance computing
Feature types and data preprocessing steps

M3 nfs fs-3.2.1

  • 1. BITS Pilani Pilani Campus Data Storage Technologies & Networks Dr. Virendra Singh Shekhawat Department of Computer Science and Information Systems
  • 2. BITS Pilani, Pilani Campus Topics • Network File System protocol (NFS) – Design goals – Interface – NFS Transport – Operation 2
  • 3. BITS Pilani, Pilani Campus What is NFS? • A remote file system protocol – Designed and implemented by Sun Microsystems – Provides Unix-like file system interface and semantics • It is implemented as a Client-Server application – Client part imports file systems (from other computers) – Server part exports (local) file systems • i.e. makes it visible on the network and enables access from other computers 3
  • 4. BITS Pilani, Pilani Campus NFS Design Goals • Stateless protocol – Increased robustness – easy recovery from failures • Support for Unix filesystem semantics – Also supports other semantics such as MS-DOS • Protection and Access Control same as Unix filesystem semantics • Transport-independent protocol – Originally implemented on top of UDP – Easily moved to TCP later – Has been implemented over many non-IP-based protocols. 4
  • 5. BITS Pilani, Pilani Campus NFS Design Limitations • Design for clients and servers connected on a locally fast network. – Does not work well over slow links nor between clients and servers with intervening gateways • Stateless protocol – Session state is not maintained 5
  • 6. BITS Pilani, Pilani Campus NFS- Transport[1] • Uses a Request – Response model – Server receives RPC – Remote Procedure Call – requests from clients – Can be run on top of stream (e.g. TCP) or datagram protocol (e.g. UDP) • Each RPC message may need to be broken into multiple packets to be sent across the network. – May typically require up to 6 packets – May cause problems in UDP – in case of failure, entire message must be retransmitted 6
  • 7. BITS Pilani, Pilani Campus NFS – Transport[2] • Remote Procedure Call (RPC) – Client sees a procedure call interface (akin to a local procedure call) – But the call (along with the parameters) is marshalled into a message and sent over the network • Marshalling may involve serializing • Server unmarshalls the message (i.e. separates it into pieces) and processes it as a local operation. • The result is similarly marshalled by the server and sent to the client which in turn unmarshalls it. 7
  • 8. BITS Pilani, Pilani Campus NFS- Interface • NFS RPC requests – Idempotent Operations(i.e. NFS client may send the same request one or more times without any harmful side effects) • GETATTR, SETATTR, LOOKUP, READLINK, READ, WRITE, CREATE, SYMLINK, READDIR, STATFS – Non-Idempotent Operations • REMOVE, RENAME, LINK, MKDIR, RMDIR • Idempotency is significant because of – slow links and lost RPC acks. • Each file on the server is identified by a globally unique file handle – created when a lookup is sent by client to server 8
  • 9. BITS Pilani, Pilani Campus NFS- Operation[1] • NFS protocol is stateless – Each request is independent • Server need not maintain information about clients and their requests • In practice, server caches recently accessed file data. – It improves performance – and is useful for detecting retrials of previously serviced requests • Transaction-Commit semantics implies high overhead: – Synchronous writes are required for write operations. 9
  • 10. BITS Pilani, Pilani Campus NFS- Operation[2] • NFS is a client-server protocol – No discovery or registry is used. • i.e. client must know the server and the filesystem – Server’s filesystem has to be exported (by mounting). • Refer to mount system call on Unix • Each server has a globally unique id (guid) • Client application need not distinguish between local and remote files – i.e. once a filesystem is mounted applications use the same interface for both types of files 10
  • 11. BITS Pilani, Pilani Campus NFS - Operation[3] • NFS is a client-server protocol – File manager part of client file system remains the same as that for the local file system • Only the file store is local or remote • Each remote file that is active manifests as an nfsnode in the client’s filesystem – Recall the active file data structures: • Per-Process File Descriptor – Kernel File Entry – vnode – file-store-specific data structure » inode for local file store and » nfsnode for remote filestore 11
  • 12. BITS Pilani, Pilani Campus NFS - Operation • Basic Protocol (Mounting): Client C, Server S – C (mount process) -----> S(portmap daemon) • request port address of mountd – S (portmap daemon) ----> C • return the port address of its mountd – C (mount process) ----> S(mountd daemon) • request mounting of filesystem [pathname] – S (mountd daemon): • get file handle for desired mount point from kernel – S (mountd daemon) ---> C • return filehandle of mountpoint OR error 12
  • 13. BITS Pilani, Pilani Campus NFS - Operation • Basic Protocol (I/O Operation): Client C, Server S – C (app. process): write system call • Data is copied into kernel buffer and call returns • nfsiod daemon wakes up – C (nfsiod daemon) -----> S(nfs_rcv) • Request write [buffer contents] – S delegates request to nfsd daemon • nfsd daemon invokes write on disk and waits for I/O – S (nfsd daemon) ---> C (nfsiod daemon) • return ack for the write operation 13
  • 14. BITS Pilani, Pilani Campus NFSv3 vs NFSv4 • NFSv3 – One RPC per RTT – Port mapper service required to determine which network port to listen or connect – No caching • NFSv4 features – Access control lists (similar to Windows ACLs) – Compound RPCs – Client side caching – Operation over TCP port 2049 – Mandating Strong security (Kerberos v5 for cryptographic services) 14
  • 15. BITS Pilani, Pilani Campus Thank You! 15