I would like to know how the first "Lo 'message in the ARPANET network was sent. As far as I know - the so-called mainframes were connected through Interface Message Processors (IMPs, known today as routers). Terminals were connected to the mainframes, which allowed for communication between the mainframe and the human. Communication between the two universities was to send the "LOGIN" command from terminal 1 to computer number 2. If so, the information went via terminal -> mainframe -> IMP -> telephone line -> IMP -> mainframe path or am I wrong? I would love to be able to visualize how this information was transferred from university to university and what the mainframe computers had to do with it.
I would love to be able to visualize how this information was transferred from university to university and what the mainframe computers had to do with it.
Mainframes(*1) were the computers people worked with, using their terminal. these were usually hard wired, possibly via some nodes/concentrators for large systems, to a specific mainframe, or group of mainframes, depending on the setup. Yes, these networks of computers, concentrators and terminals may have been networks with similarities to the later Internet, but manufacturer/system specific.
The ARPANET didn't develop new technologies, but open standard protocols. All parts (front end processors, phone lines, serial communication, etc.) already existed and were in wide use, but manufacturer/implementation specific.
There is also no sense in connecting terminals to terminals (*2) - one connects computers to computers, and that's what ARPANET did in a manufacturer independent way.
I do sense a basic misunderstanding of the difference between today's technology, where every toaster has a processor, to back then, were only computers had one (*3). Each and everything was done on the computer, there were no other. Thus any operation performed on a terminal was an operation on the central computer.
To relieve them of some tasks, especially for handling those pesky terminals and other slow I/O, subsystems were introduced, which were not quite computers, but usually single function microprogrammed devices, such as terminal concentrators, stand alone tape to punch card controllers or alike - generally called front-end subsystems. Depending on budget (and technological progress) those systems were part by part replaced by specialized (and later generic) microcomputers.
And that's where in network evolution the IMP (Interface Message Processor) stands. They are generic (*4) self contained (mini) computers acting as such a subsystem. The IMP is connected to the mainframe as a specialized device handling all network specific details.
Which is maybe the next important difference to today (and your assumption):
(IMPs, known today as routers)
No, they are not like routers, but more like the network card plugged into your PC, as network handling at whole was offloaded to the IMP, not just the connection to other networks, like routers do.
And that is where your mythical LO happened.
Communication between the two universities was to send the "LOGIN" command from terminal 1 to computer number 2.
Yep, all to overcome the point that terminal 1 was connected to computer 1.
If so, the information went via terminal -> mainframe -> IMP -> telephone line -> IMP -> mainframe path or am I wrong?
No, perfectly fine, just leaving out the tiny bits, that
- terminal 1 is a dumb one,
- connected to computer 1,
- working there with a program (running on computer 1)
- that enables the communication to its IMP 1 by
- packaging everything types on the terminal
- into a BBN 1822 message
- i.e. prefixing the typed data with a header
- including the target mainframe (Host) number (address)
- which had to be set previous, e.g. when starting that program
- this gets send to IMP 1 connected to computer 1
- the IMP reads the leading host number,
- selects which of its communication lines might be best,
- sends out that message over that line (which might be telephone lines or not) to a receiving IMP.
- This is either some in-between IMP, or the target IMP 2
- IMP 2 receives that message
- (Later IMP could serve multiple hosts, so they first selected which of them is computer 2)
- IMP 2 forwards the received message to its computer 2
- On computer 2 a program 2 waits for incoming messages
- Program 2 on computer 2 does whatever it has to do with that.
In this first case, program 2 had the simple task of forwarding it to a virtual terminal process with some login waiting (*5).
So yeah, simple, but always keep in mind, terminals are dumb and do not process anything beside accepting characters from a mainframe and returning keystrokes (or blocks thereof). _They are not computers.
But, since the IMP is a computer system in its own right, why not add terminals directly to the IMP and let them be handled by a very thin program?
- able to understand how set a target host address,
- connect transparently to that address
- package everything typed in a transparent way
- send it to that host, while
- unpackaging everything received from that host (for that terminal) and
- send it to said terminal.
These are essentially all the parts computer 1 was doing before.
The Terminal Interface Processor, or TIP, was born. It's simply a Honeywell x16 with some (additional) serial lines, dedicated to serve directly-connected terminals. Now it was possible to install a TIP in some department, connect all local terminals and have them work on any reachable mainframe, independent of dedicated wiring.
But the TIP came only after the first login was done.
A TIP is a stand-alone solution eliminating the need to install a 'real' computer. An appliance that one in later years would have called a terminal server plus a router in one box (*6).
*1 - Mainframes in this context means the computer used to work with, so replace it by whatever naming flavour tastes best. Host may be one with less(er) connotation.
*2 - That is, beside fooling your co-employees with fake system messages.
*3 - Or maybe two; the IBM 360/65 had just been introduced in late 1965, offering an unbelievable maximum setup of two processors sharing a whole megabyte.
*4 - Well, Honeywell Series 16
*5 - Nowadays that would be a network layer selecting the right program to be informed. But those were the simple days :))
I would like to know how the first "Lo 'message in the ARPANET network was sent.
This is a very specific question, so the answer is therefore specific.
The "LO" was typed into a terminal on UCLA's Sigma 7 system. The characters were routed to a local IMP, which sent it to the IMP at SRI. That remote IMP transferred the data to SRI's SDS-940 system.
Each of those two hosts was running the NCP program/protocol to facilitate end-to-end communication, using the network provided by the IMPs.
On the UCLA side, Charlie Kline would have been running a remote terminal program, rather like 'telnet' today. On the SRI side, incoming characters would have been delivered to a command processor by some mechanism (pseudoterminals were generally popular then).
Evidently the 'remote login' program operated in character-mode rather than line-mode, since something crashed before the LOGIN command could even be typed.
Here is a log of how the first session on a remote computer went, in 1969. The user was attmpting to type "LOGIN" on a local terminal, but the network crashed when he got as far as "LO".