Interface Message Processor

Computer network device
title: "Interface Message Processor" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["networking-hardware", "arpanet", "network-protocols", "history-of-the-internet", "computer-related-introductions-in-1969"] description: "Computer network device" topic_path: "technology/networking" source: "https://en.wikipedia.org/wiki/Interface_Message_Processor" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Computer network device ::
::figure[src="https://upload.wikimedia.org/wikipedia/commons/1/18/ARPANET_first_router_2.jpg"] ::
The Interface Message Processor (IMP) was the packet switching node used to interconnect participant networks to the ARPANET from the late 1960s to 1989. It was the first generation of gateways, which are known today as routers. An IMP was a ruggedized Honeywell DDP-516 minicomputer with special-purpose interfaces and software.{{cite conference | doi = 10.1145/1476936.1477021 | url = http://portal.acm.org/citation.cfm?id=1476936.1477021 | date = 1970 | pages = 551–567 | last1 = Heart | first1 = F. E. | last2 = Kahn | first2 = R. E. | last3 = Ornstein| first3 = S. M. | last4 = Crowther| first4 = W. R. | last5 = Walden| first5 = D. C. | book-title = Proceedings of the May 5–7, 1970, spring joint computer conference on - AFIPS '70 (Spring) | title = The interface message processor for the ARPA computer network | isbn = 9781450379038 | s2cid = 9647377 | access-date = 2009-07-19| url-access = subscription | doi = 10.1145/1478873.1478906 | url = http://portal.acm.org/citation.cfm?id=1478873.1478906 | date = 1971 | pages = 243–254 | last1 = Ornstein| first1 = S. M. | last2 = Heart| first2 = F. E. | last3 = Crowther| first3 = W. R. | last4 = Rising| first4 = H. K. | last5 = Russell| first5 = S. B. | last6 = Michel| first6 = A. | book-title = Proceedings of the November 16–18, 1971, fall joint computer conference on - AFIPS '71 (Fall) | title = The terminal IMP for the ARPA computer network | isbn = 9781450379090 | s2cid = 17369153 | url-access = subscription | rfc = 1 | first = Steve | last = Crocker | author-link = Steve Crocker | title = Host Software | date = 7 April 1969}} the first of a series of standardization documents published by what later became the Internet Engineering Task Force (IETF).
History
::figure[src="https://upload.wikimedia.org/wikipedia/commons/f/f4/IMP_Team.jpg" caption="IMP team (left to right): Truett Thatch, Bill Bartell (Honeywell), Dave Walden, Jim Geisman, Robert Kahn, Frank Heart, Ben Barker, Marty Thorpe, Will Crowther, and Severo Ornstein Not pictured: Bernie Cosell"] ::
The concept of an interface computer for computer networking was first proposed in 1966 by Donald Davies for the NPL network in England and implemented there in 1968-9.
The same idea was independently developed in early 1967 at a meeting of principal investigators for the Department of Defense's Advanced Research Projects Agency (ARPA) to discuss interconnecting machines across the country. Larry Roberts, who led the ARPANET implementation, initially proposed a network of host computers. Wes Clark suggested inserting "a small computer between each host computer and the network of transmission lines", i.e. making the IMP a separate computer.
The IMPs were built by the Massachusetts-based company Bolt Beranek and Newman (BBN) in 1969. BBN was contracted to build four IMPs, the first being due at UCLA by Labor Day; the remaining three were to be delivered in one-month intervals thereafter, completing the entire network in a total of twelve months. When Massachusetts Senator Edward Kennedy learned of BBN's accomplishment in signing this million-dollar agreement, he sent a telegram congratulating the company for being contracted to build the "Interfaith Message Processor".
The team working on the IMP called themselves the "IMP Guys":
- Team Leader: Frank Heart
- Software: Willy Crowther, David Walden, Bernie Cosell and Paul Wexelblat
- Hardware: Severo Ornstein, Ben Barker
- Theory and collaboration with the above on the overall system design: Bob Kahn
- Other: Hawley Rising
- Added to IMP team later: Marty Thrope (hardware), Jim Geisman, Truett Thach (installation), Bill Bertell (Honeywell)
BBN began programming work in February 1969 on modified Honeywell DDP-516s. The completed code was six thousand words long, and was written in the Honeywell 516 assembly language. The IMP software was produced primarily on a PDP-1, where the IMP code was written and edited, then run on the Honeywell.
There was considerable technical interchange with the British team building the NPL network and Paul Baran at RAND but the BBN team independently developed significant aspects of the network's internal operation, such as routing, flow control, software design, and network control.
BBN designed the IMP simply as "a messenger" that would only "store-and-forward". BBN designed only the host-to-IMP specification, leaving host sites to build individual host-to-host interfaces. The IMP had an error-control mechanism that discarded packets with errors without acknowledging receipt; the source IMP, upon not receiving an acknowledging receipt, would subsequently re-send a duplicate packet. Based on the requirements of ARPA's request for proposal, the IMP used a 24-bit checksum for error correction. BBN chose to make the IMP hardware calculate the checksum, because it was a faster option than using a software calculation. The IMP was initially conceived as being connected to one host computer per site, but at the insistence of researchers and students from the host sites, each IMP was ultimately designed to connect to multiple host computers.
The first IMP was delivered to Leonard Kleinrock's group at UCLA on August 30, 1969. It used an SDS Sigma 7 host computer. Douglas Engelbart's group at the Stanford Research Institute (SRI) received the second IMP on October 1, 1969. It was attached to an SDS 940 host. The third IMP was installed in University of California, Santa Barbara on November 1, 1969. The fourth IMP was installed in the University of Utah in December 1969. The first communication test between two systems (UCLA and SRI) took place on October 29, 1969, when a login to the SRI machine was attempted, but only the first two letters could be transmitted. The SRI machine crashed upon reception of the 'g' character. A few minutes later, the bug was fixed and the login attempt was successfully completed.
BBN developed a program to test the performance of the communication circuits. According to a report filed by Heart, a preliminary test in late 1969 based on a 27-hour period of activity on the UCSB-SRI line found "approximately one packet per 20,000 in error;" subsequent tests "uncovered a 100% variation in this number - apparently due to many unusually long periods of time (on the order of hours) with no detected errors."{{Citation | title = Interface message processors for the ARPA computer network | url = https://apps.dtic.mil/sti/pdfs/AD0699946.pdf | year = 1970 | journal = Quarterly Technical Report No. 4 | page = 7 | last1 = Heart | first1 = F. E. | access-date = 2023-01-24
A variant of the IMP existed, called the TIP (Terminal IMP), which connected terminals (i.e., teletypes) as well as computers to the network; it was based on the Honeywell 316, a later version of the 516. Later, some Honeywell-based IMPs were replaced with multiprocessing BBN Pluribus IMPs, but ultimately BBN developed a microprogrammed clone of the Honeywell machine.
IMPs were at the heart of the ARPANET until DARPA decommissioned the ARPANET in 1989. Most IMPs were either taken apart, junked or transferred to MILNET. Some became artifacts in museums; Kleinrock placed IMP Number One on public view at UCLA. The last IMP on the ARPANET was the one at the University of Maryland.
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/04/Interface_Message_Processor_Front_Panel.jpg" caption="The front panel of the first IMP, taken at the opening of the Kleinrock Internet Heritage Site and Archive"] ::
BBN Report 1822
BBN Report 1822 specifies the method for connecting a host computer to an IMP. This connection and protocol is generally referred to as 1822, the report number. The specification was written by Bob Kahn.
To transmit data, the host constructs a message containing the numeric address of another host on the network (similar to an IP address on the Internet) and a data field, and transmits the message across the 1822 interface to the IMP. The IMP routes the message to the destination host using protocols that were eventually adopted by Internet routers. Messages could store a total length of 8159 bits, of which the first 96 were reserved for the header ("leader").
While packets transmitted across the Internet are assumed to be unreliable, 1822 messages were guaranteed to be transmitted reliably to the addressed destination. If the message could not be delivered, the IMP sent to the originating host a message indicating that the delivery failed. In practice, however, there were (rare) conditions under which the host could miss a report of a message being lost, or under which the IMP could report a message as lost when it had in fact been received.
The specification incorporated an alternating bit protocol, of the type proposed by Donald Davies' team for the NPL network in 1968.
Later versions of the 1822 protocol, such as 1822L, are described in and its successors.
References
References
- "IMP -- Interface Message Processor".
- Dave Walden. "Looking back at the ARPANET effort, 34 years later".
- "A Technical History of the ARPANET - A Technical Tour".
- (May 1995). "The ARPANET & Computer Networks".
- Pelkey, James. "The History of Computer Communications".
- (1986). "Notable computer networks". Communications of the ACM.
- Haughney Dare-Bryan, Christine. (June 22, 2023). "Computer Freaks". Inc. Magazine.
- (1996). "Where wizards stay up late: the origins of the Internet". [[Simon & Schuster]].
- Hafner, Katie. (2018-06-25). "Frank Heart, Who Linked Computers Before the Internet, Dies at 89". The New York Times.
- (1 April 1981). "A History of the ARPANET: The First Decade". Bolt, Beranek & Newman Inc..
- Roberts, Lawrence G.. (November 1978). "The evolution of packet switching". Proceedings of the IEEE.
- (2000). "Inventing the Internet". [[MIT Press]].
- (1970). "Proceedings of the May 5-7, 1970, spring joint computer conference on - AFIPS '70 (Spring)".
- F.E. Froehlich, A. Kent. (1990). "The Froehlich/Kent Encyclopedia of Telecommunications: Volume 1 - Access Charges in the U.S.A. to Basics of Digital Communications". CRC Press.
- (Spring 1993). "The Origins of Packet Switching". The Bulletin of the Computer Conservation Society.
- (2001). "NPL, Packet Switching and the Internet".
- Hambling, David. (2005). "Weapons Grade". [[Carroll & Graf]].
- (January 1976). "Specifications for the Interconnection of a Host and an IMP". Bolt, Beranek, and Newman, Inc..
- Davies, Donald Watts. (1979). "Computer networks and their protocols". Chichester, [Eng.]; New York : Wiley.
- Campbell-Kelly, Martin. (1987). "Data Communications at the National Physical Laboratory (1965-1975)". Annals of the History of Computing.
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::