How the Internet came to be: The birth of the Internet

by Vinton Cerf, as told to Bernard Aboba
Copyright (C) 1993 Vinton Cerf. All rights reserved. May be reproduced in any medium for noncommercial purposes.
This node is a part of How the Internet Came to Be node


Bob Kahn described the packet radio and satellite systems, and the internet problem, which was to get host computers to communicate across multiple packet networks without knowing the network technology underneath. As a way of informally exploring this problem, I ran a series of seminars at Stanford attended by students and visitors. The students included Carl Sunshine, who is now at Aerospace Corporation running a laboratory and specializing in the area of protocol proof of correctness; Richard Karp, who wrote the first TCP code and is now president of ISDN technologies in Palo Alto. There was Judy Estrin, a founder of Bridge Communications, which merged with 3COM, and is now an officer at Network Computing Devices (NCD), which makes X display terminals. Yogen Dalal, who edited the December 1974 first TCP specification, did his thesis work with this group, and went on to work at PARC where he was one of the key designers of the Xerox Protocols. Jim Mathis, who was involved in the software of the small-scale LSI-11 implementations of the Internet protocols, went on to SRI International and then to Apple where he did MacTCP. Darryl Rubin went on to become one of the vice presidents of Microsoft. Ron Crane handled hardware in my Stanford lab and went on to key positions at Apple. John Shoch went on to become assistant to the president of Xerox and later ran their System Development Division. Bob Metcalfe attended some of the seminars as well. Gerard Lelann was visiting from IRIA and the Cyclades/Cigale project, and has gone on to do work in distributed computing. We had Dag Belsnes from University of Oslo who did work on the correctness of protocol design; Kuninobu Tanno (from Tohoku University); and Jim Warren, who went on to found the West Coast Computer Faire. Thinking about computer networking problems has had a powerful influence on careers; many of these people have gone on to make major contributions.

The very earliest work on the TCP protocols was done at three places. The initial design work was done in my lab at Stanford. The first draft came out in the fall of 1973 for review by INWG at a meeting at University of Sussex (Septemer 1973). A paper by Bob Kahn and me appeared in May 1974 in IEEE Transactions on Communications and the first specification of the TCP protocol was published as an Internet Experiment Note in December 1974. We began doing concurrent implementations at Stanford, BBN, and University College London. So effort at developing the Internet protocols was international from the beginning. In July 1975, the ARPANET was transferred by DARPA to the Defense Communications Agency (now the Defense Information Systems Agency) as an operational network.

About this time, military security concerns became more critical and this brought Steve Kent from BBN and Ray McFarland from DoD more deeply into the picture, along with Steve Walker, then at DARPA.

At BBN there were two other people: William Plummer and Ray Tomlinson. It was Ray who discovered that our first design lacked and needed a three-way handshake in order to distinguish the start of a new TCP connection from old random duplicate packets that showed up later from an earlier exchange. At University College London, the person in charge was Peter Kirstein. Peter had a lot of graduate and undergraduate students working in the area, using a PDP-9 machine to do the early work. They were at the far end of a satellite link to England.

Even at the beginning of this work we were faced with using satellite communications technology as well as ARPANET and packet radio. We went through four iterations of the TCP suite, the last of which came out in 1978.

The earliest demonstration of the triple network Internet was in July 1977. We had several people involved. In order to link a mobile packet radio in the Bay Area, Jim Mathis was driving a van on the San Francisco Bayshore Freeway with a packet radio system running on an LSI-11. This was connected to a gateway developed by Virginia Strazisar at BBN. Ginny was monitoring the gateway and had artificially adjusted the routing in the system. It went over the Atlantic via a point-to-point satellite link to Norway and down to London, by land line, and then back through the Atlantic Packet Satellite network (SATNET) through a Single Channel Per Carrier (SCPC) system, which had ground stations in Etam, West Virginia, Goonhilly Downs England, and Tanum, Sweden. The German and Italian sites of SATNET hadn't been hooked in yet. Ginny was responsible for gateways from packet radio to ARPANET, and from ARPANET to SATNET. Traffic passed from the mobile unit on the Packet Radio network across the ARPANET over an internal point-to-point satellite link to University College London, and then back through the SATNET into the ARPANET again, and then across the ARPANET to the USC Information Sciences Institute to one of their DEC KA-10 (ISIC) machines. So what we were simulating was someone in a mobile battlefield environment going across a continental network, then across an intercontinental satellite network, and then back into a wireline network to a major computing resource in national headquarters. Since the Defense Department was paying for this, we were looking for demonstrations that would translate to militarily interesting scenarios. So the packets were traveling 94,000 miles round trip, as opposed to what would have been an 800-mile round trip directly on the ARPANET. We didn't lose a bit!

After that exciting demonstration, we worked very hard on finalizing the protocols. In the original design we didn't distinguish between TCP and IP; there was just TCP. In the mid-1970s, experiments were being conducted to encode voice through a packet switch, but in order to do that we had to compress the voice severely from 64 Kbps to 1800 bps. If you really worked hard to deliver every packet, to keep the voice playing out without a break, you had to put lots and lots of buffering in the system to allow sequenced reassembly after retransmissions, and you got a very unresponsive system. So Danny Cohen at ISI, who was doing a lot of work on packet voice, argued that we should find a way to deliver packets without requiring reliability. He argued it wasn't useful to retransmit a voice packet end to end. It was worse to suffer a delay of retransmission.

That line of reasoning led to separation of TCP, which guaranteed reliable delivery, from IP. So the User Datagram Protocol (UDP) was created as the user-accessible way of using IP. And that's how the voice protocols work today, via UDP.

Late in 1978 or so, the operational military started to get interested in Internet technology. In 1979 we deployed packet radio systems at Fort Bragg, and they were used in field exercises. The satellite systems were further extended to include ground stations in Italy and Germany. Internet work continued in building more implementations of TCP/IP for systems that weren't covered. While still at DARPA, I formed an Internet Configuration Control Board chaired by David Clark from MIT to assist DARPA in the planning and execution of the evolution of the TCP/IP protocol suite. This group included many of the leading researchers who contributed to the TCP/IP development and was later transformed by my successor at DARPA, Barry Leiner, into the Internet Activities Board (and is now the Internet Architecture Board of the Internet Society). In 1980, it was decided that TCP/IP would be the preferred military protocols.

In 1982 it was decided that all the systems on the ARPANET would convert over from NCP to TCP/IP. A clever enforcement mechanism was used to encourage this. We used a Link Level Protocol on the ARPANET; NCP packets used one set of one channel numbers and TCP/IP packets used another set. So it was possible to have the ARPANET turn off NCP by rejecting packets sent on those specific channel numbers. This was used to convince people that we were serious in moving from NCP to TCP/IP. In the middle of 1982, we turned off the ability of the network to transmit NCP for one day. This caused a lot of hubbub unless you happened to be running TCP/IP. It wasn't completely convincing that we were serious, so toward the middle of fall we turned off NCP for two days; then on January 1, 1983, it was turned off permanently. The guy who handled a good deal of the logistics for this was Dan Lynch; he was computer center director of USC ISI at the time. He undertook the onerous task of scheduling, planning, and testing to get people up and running on TCP/IP. As many people know, Lynch went on to found INTEROP, which has become the premier trade show for presenting Internet technology.

In the same period there was also an intense effort to get implementations to work correctly. Jon Postel engaged in a series of Bake Offs, where implementers would shoot kamikaze packets at each other. Recently, FTP Software has reinstituted Bake Offs to ensure interoperability among modern vendor products.

This takes us up to 1983. 1983 to 1985 was a consolidation period. Internet protocols were being more widely implemented. In 1981, 3COM had come out with UNET, which was a UNIX TCP/IP product running on Ethernet. The significant growth in Internet products didn't come until 1985 or so, where we started seeing UNIX and local area networks joining up. DARPA had invested time and energy to get BBN to build a UNIX implementation of TCP/IP and wanted that ported into the Berkeley UNIX release in v4.2. Once that happened, vendors such as Sun started using BSD as the base of commercial products.


Up: How the Internet came to be
Previous node: How the Internet came to be: The birth of the ARPANET
Next node: How the Internet came to be: The Internet takes off