CBI Software History
Iterations: An Interdisciplinary Journal of Software History
graphics/spacer.gif (43 bytes)graphics/spacer.gif (43 bytes) graphics/spacer.gif (67 bytes)


Table of ContentsPrint PDF VersionCBI Home


20 Years—One Standard: The Story of TCP/IP

Jonathan B. Spira

Date published: 4 April 2003

[Note: This commentary was first published in the January 1, 2003, issue of the Basex: TechWatch newsletter.]

The story of TCP/IP grew out of the experiences Robert Kahn had with the Interface Message Processor (IMP). Kahn had joined DARPA after helping Bolt Beranek Newman build a new government/research network, the ARPANET. He had the idea that ultimately led to a new protocol, and in 1973 joined forces with Vinton Cerf, then a faculty member at Stanford. Cerf had been working with the Network Control Protocol (NCP) at UCLA; this experience made them the perfect team to collaborate on the development of what was to become TCP/IP.

Kahn and Cerf were acutely aware of the difficulties of making computer communication more widespread; heterogeneous computers with differing operating systems needed to communicate freely. Their eventual design was prescient, as today’s Internet is a decentralized system; each node (regardless of its function, e.g. as a Web server, a Web browser, a mail server) is a peer and this aspect is perhaps the greatest reason for the Internet’s ubiquity today.

Kahn and Cerf, in the summer of 1973, prepared a paper entitled “A Protocol for Packet Network Intercommunication.” The document described a new protocol that acted like an envelope, carrying parts of a letter inside; the broken up letter pieces were called “segments.” This new protocol was called the Transmission Control Protocol (TCP). The paper was published the following May in the IEEE Transactions on Communications. [V.G. Cerf and R.E. Kahn, “A Protocol for Packet Network Interconnection,” IEEE Transactions on Communications COM-22 (May 1974): 637-48.]

In 1977, BBN used TCP for the very first time on a UNIX system. In 1978, Cerf, Jon Postel (1948-1998), then Director of the University of Southern California’s Information Sciences Institute (ISI), Computer Networks Division, and Danny Cohen, in a meeting at ISI, decided to split TCP into two separate protocols. [end of page 1] The result was TCP and the Internet Protocol (IP). TCP retained the responsibility for breaking up the segments and messages and reassembling the packets at the destination. IP was responsible for transmitting the individual segments across the network. IP essentially addressed the “envelope” and ensured it reached its proper destination.

In November of 1981, Postel posted Request for Comment (RFC) 801, the NCP/TCP Transition Plan. The RFC outlined a migration path from the ARPANET’s Network Computer Protocol, or NCP, to TCP/IP. The installation of the ARPANET itself had begun in September 1969, and it was operational by 1971. When Postel penned RFC 801, the ARPANET had been in operational service for over ten years. In the years leading up to 1981, ARPA had sponsored research to evolve the ARPANET. There was great interest in digital packet broadcast radio and satellite networks. There was also much interest in local networks. Although the Network Control Protocol, or NCP, had run ARPANET since its inception, it was inadequate as a foundation for future network growth. NCP was designed to guarantee delivery of every data packet a user might transmit. However, as ARPANET grew more complex and its volume of usage increased, this built-in failsafe made the network less scalable. In addition, other networks were beginning to develop but were unable to communicate with each other.

TCP, on the other hand, allowed the network to lose a packet occasionally—without compromising the integrity of the transmission—in order to improve the efficiency of the flow and reduce the network’s vulnerability to any disruptions (such as the link between sender and receiver).

Postel, in the RFC, noted that the Department of Defense had recently adopted the internet “concept” and the IP and TCP were now DoD standards for all DoD packet networks. Computerworld, in February 1982, proclaimed that ”[T]wo communications protocols [are] expected to appear this year in commercial DP products . . . [and will] allow major reductions in data communications costs.”

By then, vendors such as Xerox and 3Com were getting on the TCP/IP bandwagon, although some experts were cautioning that mainframe operating systems from IBM and other major vendors were “too complex” for TCP/IP to be added in a cost-effective manner.

In writing what was to be a kind of network independence manifesto (declaration of network independence?), Postel took care to proclaim this sea change with a caveat, one that is very revealing of the collaborative culture of the nascent Internet of the day: “As with all new systems, there will be some aspects which are not as robust and efficient as we would like (just as with the initial ARPANET). But with your help, these problems can be solved and we can move into an environment with significantly broader communication services.” [end of page 2]

Postel outlined a schedule, which called for “Full Internet Service” on January 1, 1983. This was specifically defined as

All hosts are TCP-capable and use TCP-based services. NCP is removed from service, relay services end, all services are TCP-based.

Postel had a very long-term outlook for the “new” ARPANET. He also knew that many developers might be tempted to advance short-term goals at the cost of long-term growth. His caution still rings true today:

There are some very tempting shortcuts in the implementation of IP and TCP. DO NOT BE TEMPTED! Others have and they have been caught!

The close of the last century was perhaps marked by a new way of telling time, famously called Internet time by many. Surely the Internet has speeded up processes, relationships, and given an entirely new meaning to “instant gratification.” However, to its credit, the Internet itself changes on what might best be described as the antithesis of Internet time. The Internet actually took the first twenty years, from 1973 to 1993, of its existence to gain a foothold. In the past ten years, 1993-2003, the Internet assumed a place of mammoth importance in the worlds of commerce, government, and society so much so that it would be difficult to imagine a world sans Internet today.

The secret of the Internet’s success was its adherence to standards, a philosophy which forward thinking computer scientists such as Kahn and Cerf instilled in it. In fact, the history of TCP is a textbook example of why standards are of paramount importance: they should never be underestimated. In a universe without TCP/IP, the computer world would still be searching for its lingua franca, possibly even paralyzed by a babel of strange and unintelligible languages. [end of page 3]

Jonathan B. Spira, “20 Years-One Standard: The Story of TCP/IP,” Iterations: An Inter-disciplinary Journal of Software History 2 (April 4, 2003): 1-3.

Back to Top | Table of Contents | CBI Home

graphics/spacer.gif (67 bytes) graphics/spacer.gif (67 bytes)
graphics/spacer.gif (67 bytes) Comments, questions, suggestions to: cbi@tc.umn.edu