RPC: Remote Procedure Call Protocol specification: Version 2 (RFC1057)
Original Publication Date: 1988-Jun-01
Included in the Prior Art Database: 2000-Sep-12
Publishing Venue
Internet Society Requests For Comment (RFCs)
Related People
Abstract
This document specifies version two of the message protocol used in Sun's Remote Procedure Call (RPC) package. The message protocol is specified with the eXternal Data Representation (XDR) language [9]. This document assumes that the reader is familiar with XDR. It does not attempt to justify remote procedure calls systems or describe their use. The paper by Birrell and Nelson [1] is recommended as an excellent background for the remote procedure call concept.
Network Working Group Sun Microsystems, Inc.
Request For Comments: 1057 June 1988
Obsoletes: RFC 1050
RPC: Remote Procedure Call
Protocol Specification
Version 2
STATUS OF THIS MEMO
This RFC describes a standard that Sun Microsystems and others are
using, and is one we wish to propose for the Internet's
consideration. This memo is not an Internet standard at this time.
Distribution of this memo is unlimited.
1. INTRODUCTION
This document specifies version two of the message protocol used in
Sun's Remote Procedure Call (RPC) package. The message protocol is
specified with the eXternal Data Representation (XDR) language [9].
This document assumes that the reader is familiar with XDR. It does
not attempt to justify remote procedure calls systems or describe
their use. The paper by Birrell and Nelson [1] is recommended as an
excellent background for the remote procedure call concept.
2. TERMINOLOGY
This document discusses clients, calls, servers, replies, services,
programs, procedures, and versions. Each remote procedure call has
two sides: an active client side that sends the call to a server,
which sends back a reply. A network service is a collection of one
or more remote programs. A remote program implements one or more
remote procedures; the procedures, their parameters, and results are
documented in the specific program's protocol specification (see
Appendix A for an example). A server may support more than one
version of a remote program in order to be compatible with changing
protocols.
For example, a network file service may be composed of two programs.
One program may deal with high-level applications such as file system
access control and locking. The other may deal with low-level file
input and output and have procedures like "read" and "write". A
client of the network file service would call the procedures
associated with the two programs of the service on behalf of the
client.
The terms client and server only apply to a particular transaction; a
particular hardware entity (host) or software entity (process or
program) could operate in both roles at different times. For
example, a program that supplies remote execution service could also
be a client of a network file service. On the other hand, it may
simplify software to separate client and server functionality into
separate libraries or programs.
3. THE RPC MODEL
The Sun RPC protocol is based on the remote procedure call m...