Network Working Group                                      J. Bouknight
Request for Comments: 76                                      J. Madden
NIC 5180                                                    G. Grossman
                                                 University of Illinois
                                                        28 October 1970


               Connection-By-Name: User-Oriented Protocol


I. Introduction

   Shortly after the first of the year, 1971, the Center for Advanced
   Computation (CAC) at the University of Illinois will begin to use the
   facilities of the ARPA network.  We are the first of a small class of
   network nodes whose chief characteristic is that the node is a port
   to the network only.  All computational power for these nodes will be
   taken from other nodes on the network, ILLIAC IV for example.

   An important characteristic of most of the users at our Center is a
   lack of sophistication about data communication techniques and
   practices.  The user will eventually be in the majority of those
   using the network from all nodes but the problem is ours, almost from
   the start.

   In our discussions with our prospective users of the network as we
   designed our port facility, we found that the greatest confusion and
   consternation arose over having to deal with network protocol at the
   "nitty-gritty" level of sockets, links, etc.  While most of them have
   been acclimated to computer systems at the file and device-by-name
   level where the software system handles details, here on the current
   version of the network, the user handles all details.

   Thus, we were compelled to seek a user level interface to network
   protocol where all user protocol is handled symbolically with system
   procedures making the translation into host-to-host protocol.

   Currently, connections are established by exchange of known socket
   numbers for the four loose ends of the connection.  This requires
   either that the user or process always know all socket numbers he
   will use at his or other installations OR that his NCP (and/or
   related software) remember them for him, allowing him to reference
   them symbolically.

   We propose a more general solution to the "telephone book" approach
   of obtaining socket numbers for user or processes.  Only the host, at
   each site, knows its socket number space at any given instant in time
   as well as the status of the user or process to which a socket number



Bouknight, et al.                                               [Page 1]

RFC 76         Connection-By-Name: User-Oriented Protocol   October 1970


   assigned.  Additionally, most permanently assigned devices and/or
   processes are known by standard mnemonic labels such as DSK (disk),
   LP (line printer), CR (card reader), TECO (PDP-10 text editor), etc.
   In most systems, all other communications are done through files or
   pseudo files, known only to the user by their names and not by their
   internal mechanism.  In other words, most intrasystem communication
   at the user level is by symbolic reference to both devices and
   process.

   We propose facilities, by extension of the current protocol, that
   will allow users to use the network on a connection-by-name basis as
   they already do in their host system.  In the remainder of this paper
   we will present the suggested extensions to the current protocol and
   give an example of its usage in a dialogue between a user at CAC,
   controlling two processes; one at UTAH, and one at PAOLI (ILLIAC IV
   construction site).

II. Proposed Extensions to Protocol

   Let us define a class of syntax elements for use in our proposed
   extensions to the protocol. (This syntax is expressed in the
   metalanguage of the ALGOL-60 report.)