RFC 1831 (rfc1831) - Page 2 of 18


RPC: Remote Procedure Call Protocol Specification Version 2



Alternative Format: Original Text Document



RFC 1831        Remote Procedure Call Protocol Version 2     August 1995


1. INTRODUCTION

   This document specifies version two of the message protocol used in
   ONC Remote Procedure Call (RPC).  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 makes 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.  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.

3. THE RPC MODEL

   The ONC RPC protocol is based on the remote procedure call model,
   which is similar to the local procedure call model.  In the local
   case, the caller places arguments to a procedure in some well-
   specified location (such as a register window).  It then transfers
   control to the procedure, and eventually regains control.  At that
   point, the results of the procedure are extracted from the well-
   specified location, and the caller continues execution.






Srinivasan                  Standards Track