284 NFS
- NFS file servers simplify network management because only one
computer need be regularly written to backup tape. - NFS lets “client computers” mount the disks on the server as if they
were physically connected to themselves. The network fades away
and a dozen or a hundred individual workstations look to the user
like one big happy time-sharing machine. - NFS is “operating system independent.” This is all the more remark-
able, considering that it was designed by Unix systems program-
mers, developed for Unix, and indeed never tested on a non-Unix
system until several years after its initial release. Nevertheless, it is
testimony to the wisdom of the programmers at Sun Microsystems
that the NFS protocol has nothing in it that is Unix-specific: any
computer can be an NFS server or client. Several companies now
offer NFS clients for such microcomputers as the IBM PC and Apple
Macintosh, apparently proving this claim. - NFS users never need to log onto the server; the workstation alone
suffices. Remote disks are automatically mounted as necessary, and
files are accessed transparently. Alternatively, workstations can be
set to mount the disks on the server automatically at boot time.
But practice rarely agrees with theory when the Nightmare File System is
at work.
Not Fully Serviceable
NFS is based on the concept of the “magic cookie.” Every file and every
directory on the file server is represented by a magic cookie. To read a file,
you send the file server a packet containing the file’s magic cookie and the
range of bytes that you want to read. The file server sends you back a
packet with the bytes. Likewise, to read the contents of a directory, you
send the server the directory's magic cookie. The server sends you back a
list of the files that are in the remote directory, as well as a magic cookie
for each of the files that the remote directory contains.
To start this whole process off, you need the magic cookie for the remote
file system's root directory. NFS uses a separate protocol for this called
MOUNT. Send the file server’s mount daemon the name of the directory
that you want to mount, and it sends you back a magic cookie for that
directory.