This preview shows page 1. Sign up to view the full content.
Unformatted text preview: eepalive option on their ends of the
connection (Chapter 23). This lets either end detect if the other end crashes, or
crashes and reboots.
All applications on the client that use this server's filesystem share the single TCP
connection for this filesystem. For example, in Figure 29.6 if there were another
directory named smith beneath /usr on bsdi, references to files in
/nfs/bsdi/usr/rstevens and /nfs/bsdi/usr/smith would share the
same TCP connection.
If the client detects that the server has crashed, or crashed and rebooted (by
receiving a TCP error of either "connection timed out" or "connection reset by
peer"), it tries to reconnect to the server. The client does another active open to
reestablish the TCP connection with the server for this filesystem. Any client
requests that timed out on the previous connection are reissued on the new
If the client crashes, so do the applications that are running when it crashes. When
the client reboots, it will probably remount the server's filesystem using TCP,
resulting in another TCP connection to the server. The previous connection
between this client and server for this filesystem is half-open (the server thinks it's
still open), but since the server set the keepalive option, this half-open connection
will be terminated when the next keepalive probe is sent by the server's TCP. Over time, additional vendors plan to support NFS over TCP. 29.6 NFS Examples
Let's use tcpdump to see which NFS procedures are invoked by the client for typical file
operations. When tcpdump detects a UDP datagram containing an RPC call (call equals
0 in Figure 29.1) with a destination port of 2049, it decodes the datagram as an NFS
request. Similarly if the UDP datagram is an RPC reply (reply equals 1 in Figure 29.2)
with a source port of 2049, it decodes the datagram as an NFS reply.
Simple Example: Reading a File
Our first example just copies a file to the terminal using the cat(l) command, but the file
is on an NFS server:...
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12