The ARPANET (Advanced Research Projects Agency Network) developed by ARPA of the United States Department of Defense during the Cold War, was the world's first operational packet switching network, and the predecessor of the global Internet.
Packet switching, now the dominant basis for both data and voice communication worldwide, was a new and important concept in data communications. Previously, data communication was based on the idea of circuit switching, as in the old typical telephone circuit, where a dedicated circuit is tied up for the duration of the call and communication is only possible with the single party on the other end of the circuit.
With packet switching, a system could use one communication link to communicate with more than one machine by disassembling data into datagraphs, then gather these as packets. Not only could the link be shared (much as a single post box can be used to post letters to different destinations), but each packet could be routed independently of other packets.
The earliest ideas of a computer network intended to allow general communication between users of various computers were formulated by J.C.R. Licklider of Bolt, Beranek and Newman (BBN) in August 1962, in a series of memos discussing his "Intergalactic Computer Network" concept. These ideas contained almost everything that the Internet is today.
In October 1963, Licklider was appointed head of the Behavioral Sciences and Command and Control programs at ARPA (as it was then called), the United States Department of Defense Advanced Research Projects Agency. He then convinced Ivan Sutherland and Bob Taylor that this was a very important concept, although he left ARPA before any actual work on his vision was performed.
ARPA and Taylor continued to be interested in creating a computer communication network, in part to allow ARPA-sponsored researchers in various locations to use various computers which ARPA was providing, and in part to make new software and other results widely available quickly. Taylor had three different terminals in his office, connected to three different computers which ARPA was funding: one for the SDC Q-32 in Santa Monica, one for Project Genie at the University of California, Berkeley, MIT was never involved with ARPAnet. Taylor later recalled:
"For each of these three terminals, I had three different sets of user commands. So if I was talking online with someone at S.D.C. and I wanted to talk to someone I knew at Berkeley or M.I.T. about this, I had to get up from the S.D.C. terminal, go over and log into the other terminal and get in touch with them. I said, oh, man, it's obvious what to do: If you have these three terminals, there ought to be one terminal that goes anywhere you want to go. That idea is the ARPANET."
Somewhat contemporaneously, a number of people had (mostly independently) worked out various aspects of what later became known as "packet switching"; the people who created the ARPANET would eventually draw on all these different sources.
By mid-1968, a complete plan had been prepared, and after approval at ARPA, a Request For Quotation (RFQ) was sent to 140 potential bidders. Most regarded the proposal as outlandish, and only 12 companies submitted bids, of which only four were regarded as in the top rank. By the end of the year, the field had been narrowed to two, and after negotiations, a final choice was made, and the contract was awarded to BBN on 7 April 1969.
BBN's proposal followed Taylor's plan closely; it called for the network to be composed of small computers known as Interface Message Processors (more commonly known as IMPs), what are now called routers. The IMPs at each site performed store-and-forward packet switching functions, and were connected to each other using modems connected to leased lines (initially running at 50 kbit/second). Host computers connected to the IMPs via custom bit-serial interfaces to connect to ARPANET.
BBN initially chose a ruggedized version of Honeywell's DDP-516 computer to build the first-generation IMP. The 516 was originally configured with 24 kB of core memory (expandable) and a 16 channel Direct Multiplex Control (DMC) direct memory access control unit. Custom interfaces were used to connect, via the DMC, to each of the hosts and modems. In addition to the lamps on the front panel of the 516 there was also a special set of 24 indicator lights to show the status of the IMP communication channels. Each IMP could support up to four local hosts and could communicate with up to six remote IMPs over leased lines.
The small team at BBN (initially only seven people), helped considerably by the detail they had gone into to produce their response to the RFQ, quickly produced the first working units. The entire system, including both hardware and the world's first packet switching software, was designed and installed in nine months.
The initial ARPANET consisted of four IMPs. They were installed at:
The first permanent ARPANET link was established on November 21, 1969, between the IMP at UCLA and the IMP at SRI. By December 5, 1969, the entire 4-node network was connected.
The first message ever to be sent over the ARPANET (sent over the first host-to-host connection) occurred at 10:30 PM on October 29, 1969. It was sent by UCLA student programmer Charley Kline and supervised by UCLA Professor Leonard Kleinrock. The message was sent from the UCLA SDS Sigma 7 Host computer to the SRI SDS 940 Host computer. The message itself was simply the word "login." The "l" and the "o" transmitted without problem but then the system crashed. Hence, the first message on the ARPANET was "lo". They were able to do the full login about an hour later.
The contents of the first e-mail transmission (sent in 1971) have long since been forgotten; in an FAQ on his website, the sender, Ray Tomlinson (who sent the message between two computers located side-by-side) claims that the contents were 'entirely forgettable, and I have, therefore, forgotten them' and speculates that the message was most likely 'QWERTYUIOP' or something similar.
The starting point for host-to-host communication on the ARPANET was the 1822 protocol which defined the way that a host sent messages to an ARPANET IMP. The message format was designed to work unambiguously with a broad range of computer architectures. Essentially, an 1822 message consisted of a message type, a numeric host address, and a data field. To send a data message to another host, the sending host would format a data message containing the destination host's address and the data to be sent, and transmit the message through the 1822 hardware interface. The IMP would see that the message was delivered to its destination, either by delivering it to a locally connected host or by delivering it to another IMP. When the message was ultimately delivered to the destination host, the IMP would send an acknowledgment message (called Ready for Next Message or RFNM) to the sending host.
Unlike modern Internet datagrams, the ARPANET was designed to transmit all 1822 messages reliably, or at least to be able to tell the host when a message was lost – today’s IP is unreliable, and TCP provides reliability. Nonetheless, the 1822 protocol did not prove to be adequate by itself for juggling multiple connections between different applications residing on a single host. This problem was addressed with the Network Control Program or NCP, which provided a standard method to establish reliable, flow-controlled, bidirectional communications links between different processes on different hosts. The NCP interface allowed application software to connect across the ARPANET implementing higher-level communication protocols. This was an early example of the protocol layering concept incorporated into the OSI model.
In 1983, TCP/IP protocols replaced NCP as the principal protocol of the ARPANET, and the ARPANET became just one component of the fledgling Internet.
NCP provided a standard set of network services that could be shared by several applications running on a single host computer. This led to the evolution of application protocols that operated more or less independently of the underlying network service. When the ARPANET migrated to the Internet protocols in 1983, the major application protocols migrated along with it.
In March, 1970, the ARPANET reached the U.S. East Coast, when an IMP at BBN itself was joined up to the network. Thereafter, the network grew quickly: 9 IMPs by June 1970, and 13 by December; 18 by September, 1971 (at which point 23 hosts, at universities and government research centers, were connected to the ARPANET); 29 by August, 1972, and 40 by September, 1973.
At that point, two satellite links, across the Pacific and Atlantic Oceans to Hawaii and Norway (NORSAR) had been added to the network. From Norway, a terrestrial circuit added an IMP in London to the growing network.
By June 1974, there were 46 IMPs, and the network reached 57 in July, 1975. By 1981, the number of hosts had grown to 213, with a new host being added approximately every twenty days.
After the ARPANET had been up and running for several years, ARPA looked for another agency to hand off the network to; ARPA's primary business was funding cutting-edge research and development, not running a communications utility. Eventually, in July 1975, the network was turned over to the Defense Communications Agency, also part of the Department of Defense.
In 1983, the U.S. military portion of the ARPANET was broken off as a separate network, the MILNET. Prior to this there were 113 nodes on the ARPANET. After the split, that number was 68 nodes with the remainder moving to MILNET.
Support for inter-IMP circuits of up to 230.4 kbit/s was added in 1970, although considerations of cost and IMP processing power meant this capability was not actively used.
1971 saw the start of the use of the non-ruggedized (and therefore significantly lighter) Honeywell 316 as an IMP. It could also be configured as a Terminal IMP (TIP), which added support for up to 63 ASCII serial terminals through a multi-line controller in place of one of the hosts. The 316 featured a greater degree of integration than the 516, which made it less expensive and easier to maintain. The 316 was configured with 40 kB of core memory for a TIP. The size of core memory was later increased, to 32 kB for the IMPs, and 56 kB for TIPs, in 1973.
In 1975, BBN introduced IMP software running on the Pluribus multi-processor. These appeared in a small number of sites. In 1981, BBN introduced IMP software running on its own C/30 processor product.
The original IMPs and TIPs were phased out as the ARPANET was shut down after the introduction of the NSFNet, but some IMPs remained in service as late as 1989.
Senator Albert Gore began to craft the High Performance Computing and Communication Act of 1991 (commonly referred to as "The Gore Bill") after hearing the 1988 report toward a National Research Network submitted to Congress by a group chaired by UCLA professor of computer science, Leonard Kleinrock, one of the central creators of the ARPANET (the ARPANET, first deployed by Kleinrock and others in 1969, is the predecessor of the Internet). The bill was passed on December 9, 1991 and led to the National Information Infrastructure (NII) which Gore referred to as the "information superhighway."
A common semi-myth about the ARPANET states that it was designed to be resistant to nuclear attack. The Internet Society writes about the merger of technical ideas that produced the ARPANET in A Brief History of the Internet, and states in a note:
It was from the RAND study that the false rumor started claiming that the ARPANET was somehow related to building a network resistant to nuclear war. This was never true of the ARPANET, only the unrelated RAND study on secure voice considered nuclear war. However, the later work on Internetting did emphasize robustness and survivability, including the capability to withstand losses of large portions of the underlying networks.
The ARPANET was designed to survive network losses, but the main reason was actually that the switching nodes and network links were not highly reliable, even without any nuclear attacks.Charles Herzfeld, ARPA director from 1965 to 1967, speaks about limited computer resources helping to spur ARPANET's creation:
The ARPANET was not started to create a Command and Control System that would survive a nuclear attack, as many now claim. To build such a system was clearly a major military need, but it was not ARPA's mission to do this; in fact, we would have been severely criticized had we tried. Rather, the ARPANET came out of our frustration that there were only a limited number of large, powerful research computers in the country, and that many research investigators who should have access to them were geographically separated from them.
Support and style of management by ARPA was crucial to the success of ARPANET. The ARPANET Completion Report, published jointly by BBN and ARPA, concludes by stating:
...it is somewhat fitting to end on the note that the ARPANET program has had a strong and direct feedback into the support and strength of computer science, from which the network itself sprung.