Representation (XDR) and then sent to the server using a socket. The simple User
Datagram Packet (UDP) protocol actually communicates between client and server.
Some aspects of NFS use the Transmission Control Protocol (TCP) as the base
communication protocol.
The operation of NFS can be seen as a logical client-to-server communications
system that specifically supports network applications. The typical NFS flow
includes the following steps:
1. The server waits for requests from one or more clients.
2. The client sends a request to the server and blocks (waits for a response).
3. When a request arrives, the server calls a dispatch routine.
4. The dispatch routine performs the requested service and returns with the results
of the request. The dispatch routine can also call a sub-routine to handle the
specific request. Sometimes the sub-routine will return results to the client by
itself, and other times it will report back to the dispatch routine.
5. The server sends those results back to the client.
6. The client then de-blocks.
The overhead of running more than one request at the same time is too heavy for
an NFS server, so it is designed to be

single-threaded

. This means that an NFS
server can only process one request per session. The requests from the multiple
clients that use the NFS server are put into a queue and processed in the order in
which they were received. Toimprove throughput, multiple NFS servers can
process requests from the same queue.
AS/400 as a Network File System Server
The NFS server is composed of many separate entities that work together to
process remote calls and local requests. These are:
vNFS server daemons. These daemons handle access requests for local files
from remote clients. Multiple instances of particular daemons can operate
simultaneously.
vExport command. This command allows a user to make local directories
accessible to remote clients.
v/etc/exports file. This file contains the local directory names that the NFS server
exports automatically when starting up. The administrator creates and maintains
this file, which is read by the export command. For more discussion about this
file, see “/etc/exports File” on page94 and “Chapter 4. Server Exporting of File
Systems” on page 25.
vExport table. This table contains all the file systems that are currently exported
from the server. The export command builds the /etc/exports file into the export
table. Users can dynamically update the export table with the export command.
For discussion regarding the CHGNFSEXP (Change Network File System
Export) and EXPORTFS (Export File System) commands and how they work with
both the /etc/exports file, see “Chapter 4. Server Exporting of File Systems”on
page 25.
Network File System Server-Side Daemons
Chapter2. The Network File System Client/Server Model 9