The design choice: a computer for the network
When ARPA planned its network in 1967 and 1968, a major question was how to connect many different, incompatible computers. Each site had its own machine, with its own software and its own way of handling input and output. Writing network software for every type of computer would have burdened the sites, and some did not want the task at all.
Wesley Clark, a computer designer at Washington University in St. Louis, suggested a solution. Instead of connecting the big host computers to each other, put a small dedicated computer at each site to handle all communication. The host would talk only to this local machine, and the small machines would talk to each other across the network. The idea freed the hosts from the details of the network and gave ARPA a uniform system it could control and measure. This small computer became known as the Interface Message Processor, or IMP.
Building the IMP
ARPA issued a request for proposals in 1968, and in early January 1969 the contract went to Bolt Beranek and Newman (BBN) of Cambridge, Massachusetts, a firm with a good record in computing research. The team was led by Frank Heart, and its members included Robert Kahn, Severo Ornstein, Will Crowther, Dave Walden and Ben Barker.
The IMP was built from a Honeywell DDP-516 minicomputer, which BBN modified and housed in a rugged steel cabinet, so that it could withstand rough handling in transport. The machine had a tiny memory by modern standards, commonly given as about 12,000 words, and the team wrote the software in assembly language with great attention to efficiency. The software broke messages from the host into packets, stored them, chose the next hop, checked for errors and sent acknowledgments. Because ARPA wanted a network that could run unattended, the IMP could also restart itself after a failure and be monitored from BBN in Cambridge.
The units were delivered on a tight schedule. BBN is generally said to have met its deadline of the first delivery in the late summer of 1969, which impressed ARPA.
The lines
The IMPs were connected by leased telephone lines supplied by AT&T, with a speed of 50 kilobits per second. Special modems were used at each end. Each IMP was linked to the host computer by a custom hardware interface, which had to be built for each type of host. The link between the IMP and the host was a short, direct connection, since the IMP sat in the same room.
Because every IMP connected to at least two others, messages could be routed along different paths, and the routing method adjusted when line conditions changed. This allowed the network to continue working when one line failed, a feature that distinguished it from a simple point-to-point link.
Installing the first nodes
The first IMP arrived at the University of California, Los Angeles, around the start of September 1969, where it was attached to a Sigma 7 host in Leonard Kleinrock’s laboratory. The second was installed at the Stanford Research Institute in October, connected to an SDS 940 host in Douglas Engelbart’s research group. The University of California, Santa Barbara, and the University of Utah were added by December. Hosts were of different makes and types, which showed that the design really did hide differences between them.
The first message
On October 29, 1969, a UCLA student programmer, Charley Kline, tried to log in to the machine at SRI over the new link, with a telephone connection in parallel so that the two ends could talk to each other. The standard account is that he typed the characters of the word login one at a time, and the SRI system crashed after the first two letters, so the first transmitted text was lo. The problem was fixed within about an hour, and the login succeeded. The details come from the participants’ later recollections and notes, so minor differences exist between versions.
A hardware heritage
The IMP was the first router in the sense we use the term today. It worked as an interface and a packet forwarder, and its design set a pattern. As the network grew, BBN also produced a version known as the Terminal IMP, which let users attach terminals directly. Over the following years, successive generations of dedicated routing hardware followed it, and the idea of separating the network’s job from the hosts’ job continued into TCP/IP, where routers play the same role.
Limits
The system had constraints. Each IMP could serve only a small number of hosts and lines. The 50-kilobit lines meant that sending a large file took a long time. Some early hosts had difficulty implementing the communication software. These limits led to the next steps in the network’s life, including more efficient protocols, as the ARPANET grew through the 1970s.