Connection by name: User oriented protocol
RFC 76

Document Type RFC - Unknown (October 1970; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf html bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 76 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
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.)

   <label> ::= <usercode>/<filename>|<device name>

   <devicename> ::= <string>

   <usercode> ::= <string>

   <filename> ::= <string>|<filename>/<string>

   <string> ::= <char>|<char> <string>

   <char> ::= A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|0|1|2|
              3|4|5|6|7|8|9|.|,

   A standard set of <devicenames> should be established to reference
   line printers, card readers, etc. - those hard peripherals with fixed
   processing tasks.  A beginning set of <labels> might be:

      LP            line printer
      CR            card reader
      CP            card punch
      PTR           paper tape recorder
      PTP           paper tape punch
      MT            magnetic tape
      DSK           disk
      TTY           teletype compatible terminal

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

   The format of <usercode> is that of the responding host for the
   current discussion.  Future discussions about foreign-user usage of
   host facilities may result in a standard format for the entire
   network.

   Most systems can identify files by one <string> plus the <usercode>.
Show full document text