RFC 1 Host Software 7 April 1969
them, but we still want the error checking.)
III. The Host Software
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.
The connection so established is a TTY-like connection in the
pre-log-in state. This means the remote HOST operating system will
initially treat the link as if a TTY had just called up. The remote
HOST will generate the same echos, expect the same log-in sequence and
look for the same interrupt characters.
High Volume Transmission
Teletypes acting as terminals have two special drawbacks when we
consider the transmission of a large file. The first is that some
characters are special interrupt characters. The second is that
special buffering techniques are often employed, and these are
appropriate only for low-speed character at time transmission.
We therefore define another class of connection to be used for the
transmission of files or other large volumes of data. To initiate
this class of link, user level programs at both ends of an established
TTY-like link must request the establishment of a file-like connection
parallel to the TTY-like link. Again the priority scheme comes into
Crocker [Page 5]