This preview shows page 1. Sign up to view the full content.
Unformatted text preview: onidempotent operations. Most servers implement a recent-reply cache in which they
store recent replies for the nonidempotent operations. Each time the server receives a
request, it first checks this cache, and if a match is found, returns the previous reply
instead of calling the NFS procedure again. [Juszczak 1989] provides details on this type
This concept of idempotent server procedures applies to any UDP-based application, not
just NFS. The DNS, for example, provides an idempotent service. A DNS server can
execute a resolver's request any number of times with no ill effects (other than wasted
network resources). 29.7 NFS Version 3 file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/nfs_netw.htm (21 of 23) [12/09/2001 14.47.56] Chapter 29. NFS: Network File System During 1993 the specifications for version 3 of the NFS protocol were released [Sun
Microsystems 1994]. Implementations are expected to become available during 1994.
Here we summarize the major differences between versions 2 and 3. We'll refer to the two
as V2 and V3.
1. The file handle in V2 is a fixed-size array of 32 bytes. With V3 it becomes a
variable-length array up to 64 bytes. A variable-length array in XDR is encoded
with a 4-byte count, followed by the actual bytes. This reduces the size of the file
handle on implementations such as Unix that only need about 12 bytes, but allows
non-Unix implementations to maintain additional information.
2. V2 limits the number of bytes per READ or WRITE RPC to 8192 bytes. This limit
is removed in V3, meaning an implementation over UDP is limited only by the IP
datagram size (65535 bytes). This allows larger read and write packets on faster
3. File sizes and the starting byte offsets for the READ and WRITE procedures are
extended from 32 to 64 bits, allowing larger file sizes.
4. A file's attributes are returned on every call that affects the attributes. This reduces
the number of GETATTR calls required by the client.
5. WRITEs can be asynchronous, instead of the synchronous WRITEs requir...
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