NFS Architecture
The following diagrams illustrate the relationship of the various components of NFS, and how they are expected to change as we move forward. Also available in PDF (10k) and OODraw (289k). formats.
|
|
|
|
|
|
Details - Glossary
NFSv2/3: Uses RPC services with variable ports. TCP or UDP.
NFSv4: Uses a fixed TCP-only port. portmap/rpcbind not required.
Components appearing only on NFS Client side are marked "Client".
Components appearing only on NFS Server side are marked "Server".
All other components are both on the NFS Server and Client sides.
IPv6: requires rpcbind for NFSv2/3 and TI-RPC.
portmap: NFSv2/3. Used for mapping RPC numbers against services. Used for older RPC versions. Ipv4 only.
rpcbind: New version of portmap. It uses TI-RPC with IPv4 and Ipv6. Used with new RPC versions/formats.
lockd: NFSv2/3 user land lock manager. For NFSv4, the feature is now in the kernel: Lock Manager.
nfsd: Mainly for NFSv2/3 user space server. Only one role within NFSv4, but essential.
gcc: It allows a communicating application to authenticate the user associated with another application. There is gss code (both generic and mechanism-specific) in the kernel as well as in the user's space.
ACL: Access Control List
Compound: Aggregate/Un-Aggregate NFSv4 requests.
FS: File System
GSS: Generic Security Service.
IDMAPD: Id Mapping.
RDMA: Remote Direct Memory Access (Protocol).
RPC: Remote Procedure Call
SPKM: Simple Public-Key Mechanism.
VFS: Virtual File System.
XDR: eXternal Data Representation.
Version 0.3 -- 2005/01/27 .If you find a mistake in these figures, please contact me: Tony.Reix at bull.net .

