RFC 1498 (rfc1498) - Page 3 of 10


On the Naming and Binding of Network Destinations



Alternative Format: Original Text Document



RFC 1498   On the Naming and Binding of Network Destinations August 1993


    1. Service and Users. These are the functions that one uses, and
       the clients that use them. Examples of services are one that
       tells the time of day, one that performs accounting, or one
       that forwards packets. An example of a client is a particular
       desktop computer.

    2. Nodes. These are computers that can run services or user
       programs. Some nodes are clients of the network, while others
       help implement the network by running forwarding services.
       (We will not need to distinguish between these two kinds of
       nodes.)

    3. Network attachment points. These are the ports of a network, the
       places where a node is attached. In many discussions about data
       communication networks, the term "address" is an identifier of a
       network attachment point.

    4. Paths. These run between network attachment points, traversing
       forwarding nodes and communication links.

   We might note that our first step, the listing and characterization
   of the objects of discussion, is borrowed from the world of abstract
   data types. Our second step is to make two observations about the
   naming of network objects, the first about form and the second about
   bindings.

   First, one is free to choose any form of name that seems helpful --
   binary identifiers, printable character strings, or whatever, and
   they may be chosen from either a flat or hierarchical name space.
   There may be more than one form of name for a single type of object.
   A node might, for example, have both a hierarchical character string
   name and a unique binary identifier.  There are two semantic traps
   that one can fall into related to name form.  First, the word "name"
   is, in the network world, usually associated with a printable
   character string, while the word "address" is usually associated with
   machine-interpretable binary strings. In the world of systems and
   languages, the term "print name" is commonly used for the first and
   "machine name" or "address" for the second, while "name" broadly
   encompasses both forms. (In this paper we are using the broad meaning
   of "name".)  The second semantic trap is to associate some
   conventional form of name for a particular type of object as a
   property of that type. For example, services might be named by
   character strings, nodes by unique ID's, and network attachment
   points named by hierarchical addresses.  When one participant in a
   discussion assumes a particular name form is invariably associated
   with a particular type of object and another doesn't, the resulting
   conversation can be very puzzling to all participants.




Saltzer