What is TCP/IP (Internet Protocol Suite)

Introduction

The Internet Protocol Suite, formerly named TCP/IP, is a suite of communication
protocols that are used to create a computer networking model for packet switching
networks. The development of TCP/IP was funded by DARPA, who are an agency
of the U.S. Department of Defense , and are responsible for developing technologies
for military use. The initial design of TCP/IP was developed by Bob
Kahn and Vint Cerf (1973), and the first outline
of the protocol was published in a paper titled "A Protocol for Packet
Network Interconnection" (1974). Throughout the 1970s, a standardised
version of TCP/IP was developed by a range of research institutions, and it
became a U.S. Department of Defense standard in 1982.

(Pictured: Internet Hall of Fame Inductees -- Includes Vint Cerf)

In 1983, DARPA created the Internet Architecture Board (IAB) to oversee the
development of TCP/IP, and, from 1986-1987, the IAB created the Internet Engineering
Task Force (IETF) and the Internet Research Task Force (IRTF) to evolve and
engineer TCP/IP. The technical areas that are researched and engineered are:
applications; host protocols; Internet protocols; routing; network management;
OSI interoperability; operations; and security. TCP/IP was applied to a range
of U.S. federally funded computer networks in the 1980s, such as: ARPANET,
NSFNET, MILNET and CSNET. TCP/IP was also used by a range of commercially
funded computer networks in the 1980s, such as: CERFnet, PSInet and UUnet.
When TCP/IP computer networks were interconnected - through a process of Internetworking
- in the 1980s, they became the Internet (interconnected networks).
.

By the end of the 1980s, a range of new application level protocols (such
as DNS) were developed for TCP/IP and the set of protocols was named the Internet
protocol suite. The Internet protocol suite is presently modeled with four
abstraction layers (low to high): link layer, internet layer, transport layer,
and application layer. The link layer supports the physical network communication
for any network link; the Internet layer connects host computers; the transport
layer manages the connection between hosts; and the application layer handles
process-to-process communications. In 1992, the Internet Society replaced
DARPA's role in the development of TCP/IP: providing leadership for the IAB
and related Internet organisations. The Internet Architecture Board (IAB)
currently provides long range direction for the development of the Internet
Protocol Suite, and the work of researching, evolving and designing the Internet
Protocol Suite is conducted by: Internet Engineering Steering Group (IESG),
Internet Engineering Task Force (IETF), Internet Research
Steering Group (IRSG), and
Internet Research Task Force (IRTF).

Development of TCP/IP

ARPA funded the creation of the first American 'wide area' computer networks
(ARPANET) in the late 1960s. ARPA was renamed to DARPA in the early 1970s.
The IMPs (routers), built for ARPANET by Bolt,
Beranek and Newman (BBN) technologies, came with a 1822 protocol, and
the computer scientists who built ARPANET designed a transport level protocol
named the Network Control Program (NCP). In RFC 801, author Jon Postel stated:
"the base host-to-host protocol used in the ARPANET were inadequate".
Therefore, it wasn't long before an improved alternative was being considered
for the Network Control Program (NCP).

Vint Cerf had collaborated in the creation of the Network Control Program
(NCP), and Bob Kahn was part of the BBN team that built the routers (IMPs)
for ARPANET. In 1972, DARPA employed Bob Kahn to work at their Information
Processing Techniques Office (IPTO), and he was quick to propose a new host-to-host
protocol that would make it easier to interconnect networks. In 1973, Bob
Kahn invited Vint Cerf, who was an assistant professor at Stanford University,
to help him develop his idea into a formal specification. During this process,
Kahn and Cerf have stated they were influenced by the French packet switching
network: CYCLADES, which had pioneered the end-to-end
principle and datagrams.

The key principles of Kahn's and Cerf's new protocol were: 1) Robust: A simple
datagram service that will be sent-received without question; 2). End-to-End:
A simple network, with intelligence residing with the host computers. While
Kahn and Cerf were the primary designers of TCP/IP, they were assisted in
the venture by other computer scientists, like: D.
Reed, Y. Dalal, M. Galland, C. Sunshine, J. Postel, D. Belsnes, J. Burchfiel,
and D. Lloyd. The first specification for TCP/IP was released in 1974, and
was named: Transmission Control Program (TCP). The specification for the Transmission
Control Program was released in two important documents: A Protocol for Packet
Network Intercommunication (IEEE); Specification of Internet Transmission
Control Program. (RFC 675) .

It was during 1974, that Vint Cerf coined the termed 'Internet', which was
an abbreviation of the term 'Internetwork'. While the specification for the
Transmission Control Program was outlined in 1974, it was from being a working
standardised protocol. During this period, the PARC Universal Packet (PUP)
protocol suite would influence whether the Transmission Control Program remained
a single protocol or would be fragmented into a suite of interlinking protocols.
In 1975, DARPA contracted three organisations to develop the TCP/IP specification
into a standardised and operational protocol. The three organisations were:
Bolt, Beranek and Newman Technologies (developed the IMP for ARPANET); Stanford
University (Vint Cerf was an assistant professor at Stanford in 1975); and
University College London (created the second international ARAPNET node).

From 1975-1978, the following versions of the Transmission Control Program
were developed: TCP Version 1 (TCPv1); TCP Version 2 (TCPv2);
TCP Version 3 (TCPv3) and IP Version 3 (TCPv3); and finally
a stable version TCP Version 4 (TCPv4) and IP Version 4 (IPv4).
From 1977-1983, at least three network tests were conducted by Stanford Unversity,
University College London (UCL), UCLA, SRI, MIT and BBN. These organisations
tested TCP/IP on various hardware - computers: LSI-11, DEC KA-10, IBM 360,
IBM 370, PDP-9, PDP-11 - and software/operating systems - Tenex, TOPS20, Multics,
BCPL, Unix.

In 1982, TCP/IP became a Department of Defense (DoD) standard for all military
computer networks, and was referred to as DoD TCP/IP.
TCP/IP was fully applied to ARPANET on the 1st of January 1983, a date that
is referred to as 'the day the Internet was born'. During 1982, there are
claims that some ARPANET nodes were reluctant to adopt TCP/IP, and it's predecessor
(NCP) was disabled for a few days to 'drive home' the point that the switch-over
was not to be averted. While TCP/IP was funded by DARPA, and therefore the
U.S. Department of Defense, it was implemented on a variety of U.S. federal
and commercial networks in the 1980s.

As the number of TCP/IP computer networks grew in the 1980s, the importance
of its development was apparent. In 1981, DARPA created the Internet Activities
Board (IAB) to oversee the development of TCP/IP - David
D. Clark chaired the IAB from 1981 to 1990. The IAB held a number of workshops
and conventions from 1985-1990 - such as the Interop trade show - to showcase
TCP/IP to vendors and to increase its popularity. In 1992, the Internet Activities
Board (IAB) was renamed as the Internet Architecture Board (IAB), and continues
(2014) to oversee the architectural development of the Internet. Stewardship
of the Internet Architecture Board (IAB) is no longer provided by DARPA: it
is instead provided by the Internet Society (ISOC).

When TCP/IP was released in the early 1980s, the amount of protocols available
was a 'barebone' of protocols, and it was only by the mid-1980s that the model
was 'fleshed out' to include the likes of POP and DNS. In the mid 1980s, when
TCP/IP networks were interconnected - NSFNET, ARPANET, CSNET - the expansion
of IP networks resulted in the need for a new naming system for hosts (Domain
Name System) and superior mailing protocols (SMTP and POP). By the 1990s,
when access to the Internet was opened to the general public, new services
were designed for the Internet: most notable the World Wide Web (HTTP). By
2000, more protocols had been developed: such as Voice-over-Internet
Protocols for Voice 2.0 applications. There came a point in time that
TCP and IP, while being the core protocols of the Internet, did not accurately
describe the full collection of Internet protocols, and TCP/IP was renamed
as the Internet Protocol Suite.

Internet Protocol Suite

The Internet Protocol Suite (TCP/IP) is based upon a four layer networking
model, which was originally referred to as the U.S. Department of Defense
(DoD) Model. The Internet's four layer model should not be confused with the
OSI seven layer networking model; while there are similarities between the
two models, they are different models. The first definition of the four layer
model was written in 1980 by Jon Postel, and was published in RFC 760: Application
Layer: Telnet, FTP; Transport Layer: TCP, RTP; Internet Layer:
IP; Link Layer: Local Network Protocol. Computer networks are not required
to implement all the protocols of the Internet protocol suite, at a minimum,
a computer network should support the following protocols: ARP, IP, ICMP,
IGMP, TCP and UDP.

(Pictured: Telnet an early protocol used on the Internet)

When TCP/IP was released, the two 'core' protocols of TCP/IP were the Internet
Protocol (IP) and Transmission
Control Protocol (TCP) (using ports), and these
protocols have retained that status to the present day. Each of the abstraction
layers of the Internet protocol suite is loosely defined, with each layer
using encapsulation to communication with the layer below and above it.
The highest layer is the application layer, and the lowest layer is the
link layer. Application layer protocols, like HTTP and POP, provide Internet
services like the World Wide Web and Email. The three lower layers - transport,
internet and link layers - include protocols that route data across the
Internet for the application layer protocols, and these three protocols
are sometimes referred to as the communication protocol layers (rfc1122).
The lower the layer, the closer the protocol is to the physical transmission
of data.

The Internet currently uses two versions of the Internet Protocol (IP):
Version 4 and Version 6. IPv4 defines an IP address
as a 32-bit decimal number and IPv6 defines an IP address as a 128-bit hexadecimal
number. IPv4 was standardised in the 1970s by BBN, Stanford and UCL and
it's specification published in 1980. IPv6 was designed in the mid 1990s
and its specification published in 1998. IPv6 was primarily designed because
the commercialisation of the Internet in the early 1990s had expanded the
Internet to such a degree that there was not enough 32-bit IP addresses
(roughly 4.3 billion) to support the number of networks connected to it.
IPv6 was recommended as a new protocol in 1995 in RFC1752: titled 'The Recommendation
for the IP Next Generation Protocol' and was edited by S. Bradner and A.
Mankin and it's specification, including a new datagram
header, was published in RFC2460.