Transmission Control Protocol over Internet Protocol.

The de facto standard Ethernet protocols incorporated into 4.2BSD Unix. TCP/IP was developed by DARPA for internetworking and encompasses both network layer and transport layer protocols. While TCP and IP specify two protocols at specific protocol layers, TCP/IP is often used to refer to the entire DoD protocol suite based upon these, including telnet, FTP, UDP and RDP.

Introduction.


The TCP acts in many ways like a postal service since it provides a way for processes to exchange letters with each other. ... In addition to acting like a postal service, the TCP insures end-to-end acknowledgment, error correction, duplicate detection, sequencing, and flow control.
From "RFC 675" by Vint Cerf, Yogen Dalal, and Carl Sunshine.
TCP/IP is defined as follows by the webopedia (1):
“Abbreviation for Transmission Control Protocol/Internet Protocol, the suite of communications protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones being TCP and IP. TCP/IP is built into the UNIX operating system and is used by the Internet, making it the de facto standard for transmitting data over networks. Even network operating systems that have their own protocols, such as Netware, also support TCP/IP”
In the following study the origins of TCP/IP will be examined.

Overview


...internetwork communication should be view(ed) as having two components: the hop by hop relaying of a message, and the end to end control of the conversation. This leads to a proposal for a hop by hop oriented internet protocol, an end to end oriented host level protocol, and the interface between them.
From IEN 2 by Jon Postel (1977)
In the early 1970’s work began on what is now known as TCP/IP. Ten years later this protocol came into full use.
“The Transmission Control Protocol was first formally specified in December of 1974 by Vint Cerf, Yogen Dalal and Carl Sunshine. Early networking projects made it clear that to build a network of cooperating computers, a standard transmission protocol was necessary. TCP was designed to be flexible enough to handle the physical differences in host computers, routers, and networks in general, but still provide a standard to allow these physically different entities to be able to transmit data amongst themselves.” (2)
The development and implementation of TCP/IP took time and had many twists and turns along the way such as the separation of IP from TCP to create a suit of protocols.

ARPAnet and DoD(US) - The Planning


From time to time, I have departed from the proposed terminology, but I believe I have done this only where it seems appropriate. “A Partial Specification of an International Transmission Protocol” by Vint Cerf.
In 1966 Bob Taylor worked for the Advanced Research Projects Agency (ARPA) in the USA. ARPA was part of the Department of Defense in the US. Taylor was director of the Information Processing Techniques Office. From the terminal room attached to his office Bob Taylor could access any one of three different mainframe computers. “There was a modified IBM Selectric typewriter terminal connected to a computer at the Massachusetts Institute of Technology in Cambridge. A Model 33 Teletype terminal… linked to a computer at the University of California in Berkeley. And another Teletype terminal, a model 35, was dedicated to a computer in Santa Monica, California…”(3)
Each terminal required the use of a different login procedure, used different programming languages and had a different operating system. The room in question would not have been very large and would therefore be quite cramped and cluttered looking. It was from these beginnings that a network that could link together these systems and allow them to communicate started – the ARPAnet.
Many extremely talented individuals worked long hours and created possibly brilliant solutions to bring this network into being, effectively inventing the concept of packet switching as they went.
This network grew and as it did so did the popularity of the BBS(4), further experiments in networking and of course the need to communicate from one system to another.
“The initial host-to-host communications protocol introduced in the ARPAnet was called the Network Control Protocol (NCP).”(5) The ARPAnet relied on the fact that - each mainframe that allowed access to the network spoke exactly the same language.
The situation was similar to that of mobile phones where text messages could once (as late as 1998) only be sent to a user on the same network and then only if the receiving phone was up to the task.
This is where such people as Vint Cerf, Bob Kahn, Yogen Dalal, and Carl Sunshine enter the picture. The mission is simple create an International Transmission Protocol.
What they came up with is TCP/IP. A time line for it’s development is shown below.
  • 1973 "A Partial Specification of an International Transmission Protocol" is written by Vint Cerf. This paper first makes a reference to TCP. Fragmentation and reassembly of messages, formerly done by node computers on the network, become the responsibility of host computers.
  • Vint Cerf and Bob Kahn write "A Protocol for Packet Network Interconnection", which is later published in 1974. This is the most detailed TCP outline to this point, and precursor to the first official specification.
  • 1974 December: A 3-way handshake is adopted for TCP. Cerf, Yogen Dalal, and Carl Sunshine write RFC 675, the first complete specification of TCP. The authors describe TCP in great depth, giving exact specifications for all elements of the Transmission Control Program.
  • 1975 July: V. Cerf, A. McKenzie, R. Scantlebury and H. Zimmerman write "Proposal For An Internetwork End to End Protocol". The authors propose for a host to host protocol for computer networks being developed all over the world.
  • 1976 October: Birchfiel, Plummer and Tomlinson write IEN 18, " Proposed Revisions to the TCP" which proposes changes to the TCP previously specified in RFC 675. Tomlinson discovered that the first design of TCP 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 too late from an earlier exchange.
  • 1977 March: Cerf writes IEN 5, " TCP Version 2 Specification" .
  • July: The triple network Internet is demonstrated for the first time. Cerf, Kahn and others link up 3 networks using TCP: packet radio, ARPANET and SATNET. Messages travel 94,000 miles from San Francisco to London to California "without dropping a single bit".
  • August: Jon Postel writes IEN 2, in which he discusses internet protocol as being formed by two components: a hop to hop oriented protocol, and an end to end oriented protocol.
  • 1978, January: Cerf and Postel write IEN 21, "TCP Version 3 Specification" which begins the splitting of TCP into TCP/IP. IP becomes in charge of routing the packets, while TCP takes care of packeting, error control, re-transmission and reassembly. TCP/IP enables fast and inexpensive gateways to be built. Jon Postel writes the fourth version specification for both TCP and IP. This is the first time IP has it's own formal specification. No less than five 2-day meetings are held this year to discuss TCP. Jon Postel writes the meeting notes, which are in IEN's 65-69.
  • 1979 Postel writes new specifications for TCP and IP which show up in IEN's 123, 124, 127, 128.
  • 1980, January: RFC's 760 and 761 outline new specifications for the two protocols.
  • Febuary: TCP/IP becomes the preferred military protocol.

http://www.cs.utexas.edu/users/chris/think/Early_Days_Of_TCP/Timeline/

Implementation – The Internet


“...an understanding of the history of the design provides a necessary context for current design extensions” From The Design Philosophy of the DARPA Internet Protocols by David D. Clark (1988)

As 1983 dawns, every site within or connected to the ARPAnet is supposed to switch to TCP/IP. Some sites are given a grace period of a few months, but by the spring any system that has not converted is bumped off the network. Although the event plays out with few problems for most networkers, buttons circulate that boast "I survived the TCP/IP transition." The networking community has already begun to call the ARPAnet and affiliated networks the "Internet," and in 1983 this evolution in language is made official.

www.historyoftheinternet.com
Any system using TCP was generally known as an Internetwork or internet. As TCP was developed it was divided into two protocols TCP and IP usually just called TCP/IP. This Protocol was implemented on ARPAnet that by this time had over one hundred hosts.
As 1983 dawns, every site within or connected to the ARPAnet is supposed to switch to TCP/IP. Some sites are given a grace period of a few months, but by the spring any system that has not converted is bumped off the network. Although the event plays out with few problems for most networkers, buttons circulate that boast "I survived the TCP/IP transition." The networking community has already begun to call the ARPAnet and affiliated networks the "Internet," and in 1983 this evolution in language is made official. (www.historyoftheinternet.com)
TCP/IP was tested with three separate networks “Cerf, Kahn and others link up 3 networks using TCP: packet radio, ARPANET and SATNET. Messages travel 94,000 miles from San Francisco to London to California "without dropping a single bit".”(6)
From this point on it was clear that TCP/IP was going to be a workable solution.
However the uptake of TCP/IP was not as universally successful as many would have you think. Although it is true that from here on (with the exception of DoD departing from ARPAnet and the Internet outliving the same) growth was exponential -companies that had for some time provided BBS services (such as AOL) were quick to start offering Internet access as well. Yet in some regions even today TCP/IP is not as fully supported as would be truly usefull. Take a look at this example.
(The following Quote comes from Webpage: http://www.sidhe.org/vmsperl/tcpiphistory.html)
TCP/IP history, a VMS Perl perspective
A brief, biased recounting of history by someone who wasn't even there
VMS, for the longest time, has had very strong networking support built-in. Unfortunately, that support has been for DEC's networking protocols, DECNET and LAT. TCP/IP, the networking protocol in common use on Unix, wasn't available on VMS.
This particular state of affairs was fixed, fairly quickly, by several third-parties. The freeware CMUIP stack, from Carnegie-Mellon University, as well TGV's Multinet (now owned by Process), Process software's TCPware, and Wollongong's stack. DEC, too, came out with a TCP stack, UCX, that was available.
Unfortunately, with the exception of CMUIP (which was limited to Vax), all these solutions required paying extra. In some cases a lot extra. Also, each of the different TCP/IP stacks had a different interface. Most implemented at least part of the Berkley socket library (the standard TCP/IP interface library for Unix systems), but they all did it differently. DEC provided some socket routines in DEC C, but when they first came out they were a touch unstable, and required Dec C. VMS Perl, supporting Vax C and Gnu C, couldn't count on them.
So while many users take advantage of TCP/IP without even knowing what it is many others struggle to get the support for it that they require.

Conclusion


“The (Internet) architecture tried very hard not to constrain the range of service which the Internet could be engineered to provide.” From The Design Philosophy of the DARPA Internet Protocols by David D. Clark (1988)
TCP/IP was created to answer a need - a need to communicate across differing systems. In many ways TCP/IP was the final ingredient for a revolutionary change in communications that was for some time waiting to happen. The wave of change wrought by TCP/IP is clear, yet we are far from the panicle of what it can actually do or be used for. It is highly likely that it will be some considerable time yet before we find ourselves pushing the boundaries of the usefulness of this protocol.

Author’s Notes.

...barring total disaster, all elements are eventually acknowledged...
Vint Cerf, 1973


Many sources have been quoted in the building of this report; many of these have been Internet pages. Reference to the original source material has been made throughout. But it should be noted that on such occasions where minor spelling corrections and reformatting has occurred this has not been noted. In addition many of the “flava” quotes are not taken directly from the quoted authors own works; that which has been taken to be broadly in line with the original, although this has not always been verifiable. A selection of quotes gathered by other researchers can be found at:
http://www.cs.utexas.edu/users/chris/think/Early_Days_Of_TCP/Resources/Quotes.html
When the work presented has not been the author’s own words, every effort has been made to indicate this.
A great deal of source material was gathered for the presentation of this report so that it was impossible to use all of it. Given this, then, it is clearly possible that some points may not have been covered to as great a depth as they could have been.
(1) http://webopedia.internet.com/TERM/T/TCP_IP.html
(2) http://www.cs.utexas.edu/users/chris/think/Early_Days_Of_TCP/Introduction/
(3) “Where Wizards Stay up Late” by Katie Hafner and Matthew Lyon
(4) Bulletin Board System
(5) http://boyers.homeip.net
(6) http://www.cs.utexas.edu/users/chris/think/Early_Days_Of_TCP/Introduction/

Log in or register to write something here or to contact authors.