Binding Protocols for ONC RPC Version 2
RFC 1833

Document Type RFC - Proposed Standard (August 1995; No errata)
Updated by RFC 5665
Author Raj Srinivasan 
Last updated 2013-03-02
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 1833 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                      R. Srinivasan
Request for Comments: 1833                              Sun Microsystems
Category: Standards Track                                    August 1995

                Binding Protocols for ONC RPC Version 2

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.


   This document describes the binding protocols used in conjunction
   with the ONC Remote Procedure Call (ONC RPC Version 2) protocols.


   1. Introduction                                               1
   2. RPCBIND Program Protocol                                   2
   2.1 RPCBIND Protocol Specification (in RPC Language)          3
   2.2 RPCBIND Operation                                         9
   2.2.1 RPCBIND Version 3                                       9
   2.2.2 RPCBIND, Version 4                                     10
   3. Port Mapper Program Protocol                              11
   3.1 Port Mapper Protocol Specification (in RPC Language)     11
   3.2 Port Mapper Operation                                    13
   References                                                   14
   Security Considerations                                      14
   Author's Address                                             14

1. Introduction

   This document specifies the binding protocols used in conjunction
   with ONC RPC Version 2.  As a prerequisite, the reader is expected to
   be familiar with [1] and [2] which describe the ONC RPC Version 2 and
   XDR (eXternal Data Representation) protocols.

   An RPC service is identified by its RPC program number, version
   number, and the transport address where it may be reached.  The
   transport address, in turn, consists of a network address and a
   transport selector.  In the case of a service available over TCP/IP
   or UDP/IP, the network address will be an IP address, and the
   transport selector will be a TCP or UDP port number.

Srinivasan                  Standards Track                     [Page 1]
RFC 1833        Binding Protocols for ONC RPC Version 2      August 1995

   A client program needs to know the RPC program number, version
   number, and the transport address corresponding to a service in order
   to utilize the service.  Of these, the RPC program number and version
   number are usually built into the client program, as part of the
   service definition.  The network address component of the transport
   address is usually available in a name service, or is given as a
   parameter to the client program.  The transport selector (ie., the
   TCP or UDP port) is usually determined dynamically, and varies with
   each invocation of the service.  Server programs allocate a transport
   address, and register it with a well-known lookup service (well-known
   because it uses a fixed transport selector, and resides at the same
   network address as the server).  Client programs consult the lookup
   service in order to obtain the server's transport address.

   Such a lookup service is very desirable because the range of well-
   known transport selectors is very small for some transports and the
   number of services is potentially very large.  By running only the
   lookup service on a well-known transport selector, the transport
   addresses of other remote programs can be ascertained by querying the
   lookup service.

   This document describes three versions of a lookup service, all of
   which use the same RPC program number (100000).  They all use port
   111 over TCP and UDP transports.  Versions 3 and 4 are described in
   Section 2 ("RPCBIND Program Protocol").  Version 2 is described in
   Section 3 ("Port Mapper Program Protocol").

   The distinguishing characteristic of RPCBIND (versions 3 and 4) is
   that this protocol uses a transport-independent format for the
   transport address, known as the universal address format.  An address
   in universal address format is an ASCII string representation of the
   transport dependent address.  String representation of addresses
   corresponding to a transport are defined by the addressing authority
   for the transport.  The RPCBIND protocol can be used for binding ONC
   RPC clients and servers over any transport.

   The Port Mapper (version 2), on the other hand, is an older protocol
   that is specific to TCP and UDP.  It handles TCP and UDP ports

2. RPCBIND Program Protocol

   The RPCBIND program maps RPC program and version numbers to universal
   addresses, thus making dynamic binding of remote programs possible.

   The RPCBIND program is bound to a well-known address of each
Show full document text