IMP functionality Because it was never a goal for the ARPANET to support IMPs from vendors other than BBN, the IMP-to-IMP protocol and message format were not standardized. However, the IMPs did nonetheless communicate amongst themselves to perform
link-state routing, to do reliable forwarding of messages, and to provide remote monitoring and management functions to ARPANET's Network Control Center. Initially, each IMP had a 6-bit identifier and supported up to 4 hosts, which were identified with a 2-bit index. An ARPANET host address, therefore, consisted of both the port index on its IMP and the identifier of the IMP, which was written with either port/IMP notation or as a single byte; for example, the address of MIT-DMG (notable for hosting development of
Zork) could be written as either 1/6 or 70. An upgrade in early 1976 extended the host and IMP numbering to 8-bit and 16-bit, respectively. In addition to primary routing and forwarding responsibilities, the IMP ran several background programs, titled TTY, DEBUG, PARAMETER-CHANGE, DISCARD, TRACE, and STATISTICS. These were given host numbers in order to be addressed directly and provided functions independently of any connected host. For example, "TTY" allowed an on-site operator to send ARPANET packets manually via the
teletype connected directly to the IMP.
1822 protocol The starting point for host-to-host communication on the ARPANET in 1969 was the
1822 protocol, which defined the transmission of messages to an IMP. The message format was designed to work unambiguously with a broad range of computer architectures. An 1822 message essentially consisted of a message type, a numeric host address, and a data field. To send a data message to another host, the transmitting host formatted a data message containing the destination host's address and the data message being sent, and then transmitted the message through the 1822 hardware interface. The IMP then delivered the message to its destination address, 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 receiving IMP would transmit a
Ready for Next Message (RFNM) acknowledgment to the sending, host IMP.
Network Control Program Unlike modern Internet datagrams, the ARPANET was designed to reliably transmit 1822 messages, and to inform the host computer when it loses a message; the contemporary
IP is unreliable, whereas the
TCP is reliable. Nonetheless, the 1822 protocol proved inadequate for handling multiple connections among different applications residing in a host computer. This problem was addressed with the
Network Control Program (NCP), which provided a standard method to establish reliable, flow-controlled, bidirectional communications links among different processes in different host computers. The NCP interface allowed
application software to connect across the ARPANET by implementing higher-level
communication protocols, an early example of the
protocol layering concept later incorporated in the
OSI model. Bob Kahn left BBN in 1972, briefly to be President of
Telenet, and then moved to DARPA, first as program manager for the ARPANET, under Larry Roberts, then as director of the IPTO when Roberts left to be President of Telenet. Kahn worked on both satellite packet networks and ground-based radio packet networks, and recognized the value of being able to communicate across both. Steve Crocker, now at DARPA, and the leaders of British and French network projects founded the
International Network Working Group (INWG) and, on Crocker's recommendation,
Vint Cerf, now on the faculty at
Stanford University, became its Chair.
Bob Metcalfe developed the theory and practice behind
Ethernet and the
PARC Universal Packet. These groups considered how to interconnect packet switching networks with different specifications, that is,
internetworking.
Peter Kirstein put internetworking into practice at
University College London in 1973. Research led by Kahn and Cerf resulted in the formulation of the
Transmission Control Program in 1974. At first a monolithic design, the software was redesigned as a modular protocol stack in
Version 4 in 1978, which reflected concepts from the French
CYCLADES project directed by Pouzin and the ideas of Bob Metcalfe at
Xerox Parc. This was installed in the ARPANET for production use in January 1983, replacing NCP. The development of the complete
Internet protocol suite by 1989, as outlined in and , and
partnerships with the telecommunication and computer industry laid the foundation for the adoption of TCP/IP as a comprehensive protocol suite as the core component of the emerging
Internet. == Operation ==