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/
“...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/