RFC 887 (rfc887) - Page 2 of 16


Resource Location Protocol



Alternative Format: Original Text Document



RFC 887                                                    December 1983
Resource Location Protocol

2. Resource Naming

Although the resource location problem can, in most cases, be reduced to
the problem of finding a host which implements a given Internet based
protocol, locating only a particular lowest level Internet protocol
(i.e. one assigned a protocol number for transport using IP) is not
completely sufficient.  Many significant network services and resources
are provided through higher level protocols which merely utilize the
various lower level protocols for their own transport purposes (e.g. the
FTP protocol [2] employs the TCP protocol [4] for its lower level
transport).  Conceptually, this protocol nesting may even be carried out
to arbitrary levels.

Consequently, the Resource Location Protocol names a resource by the
protocol number assigned to its lowest level Internet transport protocol
and by a variable length protocol/resource specific identifier.  For
example, the UDP based Echo Protocol can be named by its assigned
protocol number (17) and its assigned 16-bit "well-known" port number
(7).  Alternatively, the Internet Control Message Protocol [5] (lacking
any higher level client protocols) would be named simply by its assigned
protocol number (1) and an empty protocol specific identifier.  On the
other hand, some as yet undefined resource protocol (provided via say
TCP), might be named by the assigned protocol number (6), its 16-bit
"well-known" TCP port number, and then some additional fixed or variable
length identifier specific to that TCP port.

In general, the components of the protocol/resource specific identifier
are defined to be the "natural" quantities used to successively
de-multiplex the protocol at each next highest protocol level.  See
section 5 for some sample assignments.

3. Protocol Summary

The Resource Location Protocol is a simple request/reply procedure.  The
querying host constructs a list of resources which it would like to
locate and sends a request message on the network.  A request message
may be sent either to a particular IP address and host or, on networks
which provide broadcast address capability, to the IP address which
refers to all hosts on that network (see [7]).  For example, a host
attempting to locate a domain name server might construct a request
containing the resource name [17, 53] (referring to the Domain Name
Server protocol provided at "well-known" UDP port 53) and then broadcast
that request on its local network.

Each receiving host examines the list of resources named in the request
packet, determines which of the resources it provides, and returns a
reply message to the querying host in confirmation.  The receiving host
determines whether or not it provides a resource by successive
decomposition of the resource name until either the name is exhausted or
it encounters a component which is not supported.  In the previous


Accetta