Interface Message Processor

Last updated
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. [1] [2] [3] An IMP was a ruggedized Honeywell DDP-516 minicomputer with special-purpose interfaces and software. [4] In later years the IMPs were made from the non-ruggedized Honeywell 316 which could handle two-thirds of the communication traffic at approximately one-half the cost. [5] An IMP requires the connection to a host computer via a special bit-serial interface, defined in BBN Report 1822 . The IMP software and the ARPA network communications protocol running on the IMPs was discussed in RFC   1, [6] the first of a series of standardization documents published by what later became the Internet Engineering Task Force (IETF).

Contents

History

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 IMP Team.jpg
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. [7] [8] [9] [10]

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", [11] 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". [11]

The team working on the IMP called themselves the "IMP Guys": [11]

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. [13] [14] [15] [16] [17] [18] [19]

BBN designed the IMP simply as "a messenger" that would only "store-and-forward". [11] 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. [20] 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." [21]

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. [11] The last IMP on the ARPANET was the one at the University of Maryland.

The front panel of the first IMP, taken at the opening of the Kleinrock Internet Heritage Site and Archive Interface Message Processor Front Panel.jpg
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. [11] : 116,149

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"). [22]

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, [23] of the type proposed by Donald Davies' team for the NPL network in 1968. [24]

Later versions of the 1822 protocol, such as 1822L, are described in RFC   802 and its successors.

See also

Related Research Articles

A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The delivery, arrival time, and order of arrival of datagrams need not be guaranteed by the network.

<span class="mw-page-title-main">Packet switching</span> Method for transmitting data over a computer network

In telecommunications, packet switching is a method of grouping data into short messages in fixed format, i.e. packets, that are transmitted over a digital network. Packets are made of a header and a payload. Data in the header is used by networking hardware to direct the packet to its destination, where the payload is extracted and used by an operating system, application software, or higher layer protocols. Packet switching is the primary basis for data communications in computer networks worldwide.

The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the communicating end nodes of the network. Intermediary nodes, such as gateways and routers, that exist to establish the network, may implement these to improve efficiency but cannot guarantee end-to-end correctness.

<span class="mw-page-title-main">Raytheon BBN</span> American research and development company

Raytheon BBN is an American research and development company based in Cambridge, Massachusetts, United States.

<span class="mw-page-title-main">ARPANET</span> Early packet switching network (1969–1990)

The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the technical foundation of the Internet. The ARPANET was established by the Advanced Research Projects Agency of the United States Department of Defense.

The Network Control Protocol (NCP) was a communication protocol for a computer network in the 1970s and early 1980s. It provided the transport layer of the protocol stack running on host computers of the ARPANET, the predecessor to the modern Internet.

<span class="mw-page-title-main">Leonard Kleinrock</span> American computer scientist (born 1934)

Leonard Kleinrock is an American computer scientist and Internet pioneer. He is Distinguished Professor Emeritus of Computer Science at UCLA's Henry Samueli School of Engineering and Applied Science. Kleinrock made several important contributions to the field of computer science, in particular to the mathematical foundations of data communication in computer networking. He has received numerous prestigious awards.

<span class="mw-page-title-main">Donald Davies</span> Welsh computer scientist and Internet pioneer (1924–2000)

Donald Watts Davies, was a Welsh computer scientist and Internet pioneer who was employed at the UK National Physical Laboratory (NPL).

Severo M. Ornstein is an American retired computer scientist and the son of composer Leo Ornstein. In 1955, he joined MIT's Lincoln Laboratory as a programmer and designer for the SAGE air-defense system. He later joined the TX-2 group and became a member of the team that designed the LINC. He moved with the team to Washington University in St. Louis where he was one of the principal designers of macromodules.

<span class="mw-page-title-main">Pluribus</span>

The Pluribus multiprocessor was an early multi-processor computer designed by BBN for use as a packet switch in the ARPANET. Its design later influenced the BBN Butterfly computer.

<span class="mw-page-title-main">Larry Roberts (computer scientist)</span> American electrical engineer and Internet pioneer

Larry Roberts was an American computer scientist and Internet pioneer.

<span class="mw-page-title-main">NPL network</span> Historical network in England pioneering packet switching

The NPL network, or NPL Data Communications Network, was a local area computer network operated by a team from the National Physical Laboratory (NPL) in London that pioneered the concept of packet switching.

<span class="mw-page-title-main">Frank Heart</span> American computer engineer (1929–2018)

Frank Evans Heart (1929–2018) was an American computer engineer influential in computer networking. After nearly 15 years working for MIT Lincoln Laboratory, Heart worked for Bolt, Beranek and Newman from 1966 to 1994, during which he led a team that designed the first routing computer for the ARPANET, the predecessor to the Internet.

<span class="mw-page-title-main">SATNET</span> Early computer network that used satellite communication

SATNET, also known as the Atlantic Packet Satellite Network, was an early satellite network that formed an initial segment of the Internet. It was implemented by BBN Technologies under the direction of ARPA.

<span class="mw-page-title-main">PRNET</span>

The Packet Radio Network (PRNET) was a set of early, experimental mobile ad hoc networks whose technologies evolved over time. It was funded by the Advanced Research Projects Agency (ARPA). Major participants in the project included BBN Technologies, Hazeltine Corporation, Rockwell International's Collins division, and SRI International.

<span class="mw-page-title-main">ARPANET encryption devices</span> Security tools used on ARPANET

The ARPANET pioneered the creation of novel encryption devices for packet networks in the 1970s and 1980s, and as such were ancestors to today's IPsec architecture, and High Assurance Internet Protocol Encryptor (HAIPE) devices more specifically.

Roger Anthony Scantlebury is a British computer scientist and Internet pioneer who worked at the National Physical Laboratory (NPL) and later at Logica.

The Protocol Wars were a long-running debate in computer science that occurred from the 1970s to the 1990s, when engineers, organizations and nations became polarized over the issue of which communication protocol would result in the best and most robust networks. This culminated in the Internet–OSI Standards War in the 1980s and early 1990s, which was ultimately "won" by the Internet protocol suite (TCP/IP) by the mid-1990s when it became the dominant protocol suite through rapid adoption of the Internet.

<span class="mw-page-title-main">David Walden</span> American computer scientist (1942–2022)

David Corydon Walden was an American computer scientist and Internet pioneer who contributed to the engineering development of the ARPANET, a precursor of the modern Internet. He specifically contributed to the Interface Message Processor, which was the packet switching node for the ARPANET. Walden was a contributor to IEEE Computer Society's Annals of the History of Computing and was a member of the TeX Users Group.

References

  1. "IMP -- Interface Message Processor". LivingInternet. Retrieved June 22, 2007.
  2. Dave Walden. "Looking back at the ARPANET effort, 34 years later". LivingInternet. Retrieved June 22, 2007.
  3. "A Technical History of the ARPANET - A Technical Tour". THINK Protocols team. Archived from the original on 2012-09-10. Retrieved June 22, 2007.
  4. Heart, F. E.; Kahn, R. E.; Ornstein, S. M.; Crowther, W. R.; Walden, D. C. (1970). "The interface message processor for the ARPA computer network". Proceedings of the May 5–7, 1970, spring joint computer conference on - AFIPS '70 (Spring). pp. 551–567. doi:10.1145/1476936.1477021. ISBN   9781450379038. S2CID   9647377 . Retrieved 2009-07-19.
  5. Ornstein, S. M.; Heart, F. E.; Crowther, W. R.; Rising, H. K.; Russell, S. B.; Michel, A. (1971). "The terminal IMP for the ARPA computer network". Proceedings of the November 16–18, 1971, fall joint computer conference on - AFIPS '71 (Fall). pp. 243–254. doi:10.1145/1478873.1478906. ISBN   9781450379090. S2CID   17369153.
  6. Crocker, Steve (7 April 1969). Host Software. doi: 10.17487/RFC0001 . RFC 1.
  7. Roberts, Dr. Lawrence G. (May 1995). "The ARPANET & Computer Networks". Archived from the original on 24 March 2016. Retrieved 13 April 2016. Then in June 1966, Davies wrote a second internal paper, "Proposal for a Digital Communication Network" In which he coined the word packet,- a small sub part of the message the user wants to send, and also introduced the concept of an "Interface computer" to sit between the user equipment and the packet network.
  8. Pelkey, James. "Donald Davies". The History of Computer Communications. paper dated June 1966 ... introduced the concept of an "interface computer" to sit between the user equipment and the packet network.
  9. John S, Quarterman; Josiah C, Hoskins (1986). "Notable computer networks". Communications of the ACM. 29 (10): 932–971. doi: 10.1145/6617.6618 . S2CID   25341056. The first packet-switching network was implemented at the National Physical Laboratories in the United Kingdom. It was quickly followed by the ARPANET in 1969.
  10. Haughney Dare-Bryan, Christine (June 22, 2023). Computer Freaks (Podcast). Chapter Two: In the Air. Inc. Magazine. 35:55 minutes in. Leonard Kleinrock: Donald Davies ... did make a single node packet switch before ARPA did
  11. 1 2 3 4 5 6 Hafner, Katie; Lyon, Matthew (1996). Where wizards stay up late: the origins of the Internet. New York City: Simon & Schuster. ISBN   978-0-684-81201-4.
  12. Hafner, Katie (2018-06-25). "Frank Heart, Who Linked Computers Before the Internet, Dies at 89". The New York Times. ISSN   0362-4331 . Retrieved 2020-04-03.
  13. A History of the ARPANET: The First Decade (PDF) (Report). Bolt, Beranek & Newman Inc. 1 April 1981. pp. 13, 53 of 183. Archived from the original on 1 December 2012. Aside from the technical problems of interconnecting computers with communications circuits, the notion of computer networks had been considered in a number of places from a theoretical point of view. Of particular note was work done by Paul Baran and others at the Rand Corporation in a study "On Distributed Communications" in the early 1960's. Also of note was work done by Donald Davies and others at the National Physical Laboratory in England in the mid-1960's. ... Another early major network development which affected development of the ARPANET was undertaken at the National Physical Laboratory in Middlesex, England, under the leadership of D. W. Davies.
  14. Roberts, Lawrence G. (November 1978). "The evolution of packet switching" (PDF). Proceedings of the IEEE. 66 (11): 1307–13. doi:10.1109/PROC.1978.11141. S2CID   26876676. Significant aspects of the network's internal operation, such as routing, flow control, software design, and network control were developed by a BBN team consisting of Frank Heart, Robert Kahn, Severo Omstein, William Crowther, and David Walden
  15. Abbate, Janet (2000). Inventing the Internet. Cambridge, MA: MIT Press. p. 38-9, 57-8. ISBN   978-0-2625-1115-5.
  16. Heart, Frank; Kahn, Robert; Ornstein, Severo; Crowther, William; Walden, David (1970). "The Interface Message Processor for the ARPA Computer Network" (PDF). Proceedings of the May 5-7, 1970, spring joint computer conference on - AFIPS '70 (Spring). 1970 Spring Joint Computer Conference. p. 565. doi:10.1145/1476936.1477021. S2CID   9647377.
  17. 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. p. 344. ISBN   0824729005. Although there was considerable technical interchange between the NPL group and those who designed and implemented the ARPANET, the NPL Data Network effort appears to have had little fundamental impact on the design of ARPANET. Such major aspects of the NPL Data Network design as the standard network interface, the routing algorithm, and the software structure of the switching node were largely ignored by the ARPANET designers. There is no doubt, however, that in many less fundamental ways the NPL Data Network had and effect on the design and evolution of the ARPANET.
  18. Barber, Derek (Spring 1993). "The Origins of Packet Switching". The Bulletin of the Computer Conservation Society (5). ISSN   0958-7403 . Retrieved 6 September 2017.
  19. Rayner, David; Barber, Derek; Scantlebury, Roger; Wilkinson, Peter (2001). NPL, Packet Switching and the Internet. Symposium of the Institution of Analysts & Programmers 2001. Archived from the original on 2003-08-07. Retrieved 2024-06-13. The system first went 'live' early in 1969
  20. Hambling, David (2005), Weapons Grade , New York City: Carroll & Graf, ISBN   0-7867-1769-6
  21. Heart, F. E. (1970), "Interface message processors for the ARPA computer network" (PDF), Quarterly Technical Report No. 4: 7, retrieved 2023-01-24
  22. Specifications for the Interconnection of a Host and an IMP (PDF) (Report). Bolt, Beranek, and Newman, Inc. January 1976. BBN Report 1822.
  23. Davies, Donald Watts (1979). Computer networks and their protocols . Internet Archive. Chichester, [Eng.]; New York : Wiley. pp.  206. ISBN   9780471997504.
  24. Campbell-Kelly, Martin (1987). "Data Communications at the National Physical Laboratory (1965-1975)". Annals of the History of Computing. 9 (3/4): 221–247. doi:10.1109/MAHC.1987.10023. S2CID   8172150.

Further reading