EN - rfc1
EN - rfc1
CONTENTS
INTRODUCTION
Messages
Links
Simple Use
Deep Use
Error Checking
Establishment of a Connection
A Summary of Primitives
Error Checking
Closer Interaction
Open Questions
Crocker [Page 1]
RFC 1 Host Software 7 April 1969
Experiment One
Experiment Two
Introduction
The software for the ARPA Network exists partly in the IMPs and
partly in the respective HOSTs. BB&N has specified the software of
the IMPs and it is the responsibility of the HOST groups to agree on
HOST software.
Messages
Destination 5 bits
Link 8 bits
Trace 1 bit
Spare 2 bits
The destination is the numerical code for the HOST to which the
message should be sent. The trace bit signals the IMPs to record
status information about the message and send the information back to
the NMC (Network Measurement Center, i.e., UCLA). The spare bits are
unused.
Crocker [Page 2]
RFC 1 Host Software 7 April 1969
Links
The link field is a special device used by the IMPs to limit certain
kinds of congestion. They function as follows. Between every pair of
HOSTs there are 32 logical full-duplex connections over which messages
may be passed in either direction. The IMPs place the restriction on
these links that no HOST can send two successive messages over the
same link before the IMP at the destination has sent back a special
message called an RFNM (Request for Next Message). This arrangement
limits the congestion one HOST can cause another if the sending HOST
is attempting to send too much over one link. We note, however, that
since the IMP at the destination does not have enough capacity to
handle all 32 links simultaneously, the links serve their purpose only
if the overload is coming from one or two links. It is necessary for
the HOSTs to cooperate in this respect.
Crocker [Page 3]
RFC 1 Host Software 7 April 1969
Simple Use
As with any new facility, there will be a period of very light usage
until the community of users experiments with the network and begins
to depend upon it. One of our goals must be to stimulate the
immediate and easy use by a wide class of users. With this goal, it
seems natural to provide the ability to use any remote HOST as if it
had been dialed up from a TTY (teletype) terminal. Additionally, we
would like some ability to transmit a file in a somewhat different
manner perhaps than simulating a teletype.
Deep Use
One of the inherent problems in the network is the fact that all responses
from a remote HOST will require on the order of a half-second or so,
no matter how simple. For teletype use, we could shift to a
half-duplex local-echo arrangement, but this would destroy some of the
usefulness of the network. The 940 Systems, for example, have a very
specialized echo.
Error Checking
The point is made by Jeff Rulifson at SRI that error checking at major
software interfaces is always a good thing. He points to some
experience at SRI where it has saved much dispute and wasted effort.
On these grounds, we would like to see some HOST to HOST checking.
Besides checking the software interface, it would also check the
HOST-IMP transmission hardware. (BB&N claims the HOST-IMP hardware
will be as reliable as the internal registers of the HOST. We believe
Crocker [Page 4]
RFC 1 Host Software 7 April 1969
Establishment of a Connection
The simplest connection we can imagine is where the local HOST acts as
if it is a TTY and has dialed up the remote HOST. After some
consideration of the problems of initiating and terminating such a
connection , it has been decided to reserve link 0 for communication
between HOST operating systems. The remaining 31 links are thus to be
used as dial-up lines.
Each HOST operating system must provide to its user level programs a
primitive to establish a connection with a remote HOST and a primitive
to break the connection. When these primitives are invoked, the
operating system must select a free link and send a message over link
0 to the remote HOST requesting a connection on the selected link.
The operating system in the remote HOST must agree and send back an
accepting message over link 0. In the event both HOSTs select the same
link to initiate a connection and both send request messages at
essentially the same time, a simple priority scheme will be invoked in
which the HOST of lower priority gives way and selects another free
link. One usable priority scheme is simply the ranking of HOSTS
by their identification numbers. Note that both HOSTs are aware that
simultaneous requests have been made, but they take complementary
actions: The higher priority HOST disregards the request while the
lower priority HOST sends both an acceptance and another request.
Crocker [Page 5]
RFC 1 Host Software 7 April 1969
play, for the higher priority HOST sends a message over link 0 while
the lower priority HOST waits for it. The user level programs are, of
course, not concerned with this. Selection of the free link is done
by the higher priority HOST.
A Summary of Primitives
b) Terminate connection.
Error Checking
We propose that each message carry a message number, bit count, and a
checksum in its body, that is transparent to the IMP. For a checksum
we suggest a 16-bit end-around-carry sum computed on 1152 bits and
then circularly shifted right one bit. The right circular shift every
1152 bits is designed to catch errors in message reassembly by the IMPs.
Closer Interaction
The above described primitives suggest how a user can make simple use
of a remote facility. They shed no light on how much more intricate
use of the network is to be carried out. Specifically, we are
concerned with the fact that as some sites a great deal of work has
gone into making the computer highly responsive to a sophisticated
console. Culler's consoles at UCSB and Englebart's at SRI are at
least two examples. It is clear that delays of a half-second or so
for trivial echo-like responses degrade the interaction to the point
of making the sophistication of the console irrelevant.
Crocker [Page 6]
RFC 1 Host Software 7 April 1969
Crocker [Page 7]
RFC 1 Host Software 7 April 1969
/ \
| +-----------+ +-----------+ |
| | | | | |
| | | | | |
| | terminal | | terminal | |
| | | | | |
| | | | | |
| +-----+-----+ +-----+-----+ |
| | | |
| | | |
| | | |
| +-----+-----+ +-----------+ |
| | | | Request connection | | | |
UCLA { | | | -> over link 25 | | | } SRI
| | +-+-+ | +-+ +-+ | +-+-+ | |
| | | OS|---+-=|I|----------|I|=-+---| OS| | |
| | +-+-+ | +-+ +-+ | +---+ | |
| | | | | |
| | | | | |
| +-----------+ +-----------+ |
| HOST: UCLA HOST: SRI |
\ /
Crocker [Page 8]
RFC 1 Host Software 7 April 1969
/ \
| +-----------+ +-----------+ |
| | | | | |
| | | | | |
| | terminal | | terminal | |
| | | | | |
| | | | | |
| +-----+-----+ +-----+-----+ |
| | | |
| | | |
| | | |
| +-----+-----+ "Please send front"+-----------+ |
| | | | end control" | | | |
UCLA { | | | -> | | | } SRI ___
| | +-+-+ | +-+ +-+ | +--+---+ | | / |
| | | OS|---+-=|I|----------|I|=-+--|OS|NLS| +----+---| |
| | +-+-+ | +-+ +-+ | +------+ | | |___/
| | | DEL prog. | | | | |
| | | <- | | | |____|
| +-----------+ +-----------+ |
| HOST: UCLA HOST:SRI |
\ /
Crocker [Page 9]
RFC 1 Host Software 7 April 1969
/ \
| +-----------+ +-----------+ |
| | | | | |
| | | | | |
| | terminal | | terminal | |
| | | | | |
| | | | | |
| +-----+-----+ +-----+-----+ |
| |Trivial | |
| |Responses | |
| | | |
| +-----+------+ +-----------+ |
| | | | | | | |
UCLA { | | | Major Responses | | | } SRI ___
| | +--+--+ | +-+ +-+ | +--+---+ | | / |
| | |DEL |---+-=|I|----------|I|=-+--|OS|NLS| +---+---| |
| | |front| | +-+ +-+ | +------+ | | |___/
| | | end | | | | | | |
| | |prog.| | | | | |____|
| | +-----+ | | | |
| | | OS | | | | |
| | +-----+ | | | |
| | | | | |
| +------------+ +-----------+ |
| HOST: UCLA HOST: SRI |
\ /
Open Questions
2. The procedure for requesting the DEL front end is not yet
specified.
Experiment One
Experiment Two
SRI will write a DEL front end for full NLS, graphics included. UCLA
and UTAH will use NLS with graphics.
[ This RFC was put into machine readable form for entry ]
[ into the online RFC archives by Celeste Anderson 3/97 ]