RFC 2054 (rfc2054) - Page 2 of 16
WebNFS Client Specification
Alternative Format: Original Text Document
RFC 2054 WebNFS Client Specification October 1996
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 16
14. Author's Address . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction
The NFS protocol provides access to shared filesystems across
networks. It is designed to be machine, operating system, network
architecture, and transport protocol independent. The protocol
currently exists in two versions: version 2 [RFC 1094] and version 3
[RFC 1813], both built on Sun RPC [RFC 1831] at its associated eXternal
Data Representation (XDR) [RFC 1832] and Binding Protocol [RFC 1833].
WebNFS provides additional semantics that can be applied to NFS
version 2 and 3 to eliminate the overhead of PORTMAP and MOUNT
protocols, make the protocol easier to use where firewall transit is
required, and reduce the number of LOOKUP requests required to
identify a particular file on the server. WebNFS server requirements
are described in RFC 2055.
2. TCP vs UDP
The NFS protocol is most well known for its use of UDP which performs
acceptably on local area networks. However, on wide area networks
with error prone, high-latency connections and bandwidth contention,
TCP is well respected for its congestion control and superior error
handling. A growing number of NFS implementations now support the
NFS protocol over TCP connections.
Use of NFS version 3 is particularly well matched to the use of TCP
as a transport protocol. Version 3 removes the arbitrary 8k transfer
size limit of version 2, allowing the READ or WRITE of very large
streams of data over a TCP connection. Note that NFS version 2 is
also supported on TCP connections, though the benefits of TCP data
streaming will not be as great.
A WebNFS client must first attempt to connect to its server with a
TCP connection. If the server refuses the connection, the client
should attempt to use UDP.
3. Well-known Port
While Internet protocols are generally identified by registered port
number assignments, RPC based protocols register a 32 bit program
number and a dynamically assigned port with the portmap service which
is registered on the well-known port 111. Since the NFS protocol is
RPC-based, NFS servers register their port assignment with the
portmap service.
Callaghan Informational