TCP/IP includes communication protocols that are used to create
a computer networking model for packet switching networks. The creation
of TCP/IP was funded by DARPA; DARPA was an agency of the U.S. Department
of Defense. TCP/IP was coinvented by Bob Kahn and Vint Cerf, who
worked for DARPA in the 1970's. TCP/IP became a U.S. Department
of Defense standard in 1982, and was originally called: DoD TCP/IP.
TCP/IP has 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 conclusion, TCP/IP dictates how data packets
are formatted, addressed, trafficked, sent (routed) and accepted.
TCP/IP is also known as the Internet protocol suite. In 1983, DARPA
created the Internet Architecture Board (IAB) to oversee the development
of TCP/IP, and, in 1986-1987, the IAB created the Internet Engineering
Task Force (IETF) and the Internet Research Task Force (IRTF) to
engineer TCP/IP. The technical areas of TCP/IP that are 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 1980's, such as: ARPANET, NSFNET, MILNET and ESNET.
TCP/IP was also used by a range of commercially funded computer
networks in the 1980's, such as: CERFnet, PSInet and UUnet. When
TCP/IP computer networks were interconnected - through a process
of Internetworking - in the 1980's,
they became the Internet (interconnected networks).
In 1992, the Internet Society replaced DARPA: providing oversight
and leadership of the IAB and related DARPA Internet organisations.
Development of TCP/IP
ARPA funded the creation of the first American 'wide area' computer
networks (ARPANET) in the late 1960's. ARPA was renamed to DARPA
in the early 1970's. ARPANET used the Network Control Program (NCP)
to traffic data between it's nodes (locations). The Network Control
Program (NCP) was written by the computer scientists who created
ARPANET, and, therefore, the creation of the Network Control Program
(NCP) was funded by DARPA.
Vint Cerf had collaborated in the creation of the Network Control
Program (NCP), and Bob Kahn was part of the BBN team which built
the routers (IMPs) for ARPANET. DARPA employed Bob Kahn (he previously
worked at BBN) in 1972. During 1972 Kahn formulated an idea for
a simple 'open' network architecture: Kahn's proposed network protocol
would only handle the task of routing data between it's nodes; the
nodes would handle the more complex processes. The simplicity of
this 'barebone' network architecture would make it easier to interconnect
In 1973, Bob Kahn invited Vint Cerf (assistant professor at Stanford
University from 1972-1976) to help 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.
CYCLADES was created in the early 1970's and pioneered end-to-end
protocols that made hosts, instead of the network, responsible for
the reliable delivery of data. Therefore, the key principles of
TCP/IP would be:
1. Robust: A simple datagram service that will be sent-received
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 scientlists, 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 the Transmission Control Program (TCP). The specification
for the Transmission Control Program was released in two important
1. A Protocol for Packet Network Intercommunication. (IEEE)
2. Specification of Internet Transmission Control Program.
It was during 1974 that Vint Cerf coined the termed 'Internet';
it was coined as 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 of time, 1974-1975 - due to the influence of
the PARC Universal Packet (PUP) protocol suite - it was decided
that the Transmission Control Program should be fragmented into
a suite of interlinking protocols. The result was a protocol suite
In 1975, DARPA contracted three organisations to develop the TCP/IP
specification into an operational protocol suite. The three organisations
1. Bolt, Beranek and Newman Technologies (developed the IMP
2. Stanford University (Vint Cerf was an assistant professor
at Stanford in 1975)
3. University College London (created the
second international ARAPNET node)
By 1981, Internet Protocol (IP) version 4 (IPv4) had been developed
through the work of the above organisations. This protocol version
is still used by the Internet.
In 1976, Vint Cerf joined DARPA, and from 1976-1982 he worked to
create a standardised version of TCP/IP. In 1982, TCP/IP eventually
became a Department of Defense (DoD) standard, and was named DoD
TCP/IP. TCP/IP was applied to ARPANET on the 1st of January,
1983; a date that is referred to as being the day the Internet was
While TCP/IP was funded by DARPA and the U.S. Department of Defense,
it was implemented on a variety of U.S. federal and commercial networks
in the 1980's. As the number of TCP/IP computer networks grew in
the 1980's, the importance of it's development was apparent.
In 1983, DARPA created the Internet Activities Board (IAB) to oversee
the development of TCP/IP. The renamed Internet Activities Board
(IAB) continue (2014) to oversee the development of TCP/IP. Leadership
of the Internet Activities Board (IAB) is no longer provided by
DARPA: instead it is provided by the Internet Society. TCP and IP
(TCP/IP) are the core protocols of the Internet protocol suite.
Internet Protocol (IP)
The Internet Protocol (IP) is the primary communications protocol
of the Internet, and is part of the Internet layer of the Internet
protocol suite. The Internet Protocol (IP) enables the interconnection
of IP computer networks and the creation of the Internet (interconnected
networks). The Internet Protocol (IP) does this by defining
an address for devices connected to IP networks, and formats data
so that it can be sent (routed) between IP addresses, and is considered
a datagram service.
Each device that is connected to an IP network is assigned a numerical
label that is referred to as an IP address.
The IP address serves two functions: 1) identifies a host; 2) provides
a location for the host. The format of IP addresses is defined by
the Internet Protocol (IP). 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 number and IPv6 defines an IP address
as a 128-bit number. IPv6 was created because the Internet had expanded
to such a degree that there was not enough 32-bit IP addresses for
the number of devices that connected to the Internet.
Not only does the Internet Protocol (IP) define an address for
every device that connects to an IP network: it also defines a structure
for every data sent on an IP network. Data on IP networks are structured
into blocks of a data known as packets. The Internet Protocol (IP)
formats the structure of data packets with a payload and a header.
The payload is the data that is being sent. The header includes
the IP address of the source host, the IP address of the destination
host, and other information that is needed to route the data packet
from the source to the destination.
The task of IP routing
is the responsibility of the hosts. Hosts use routers (physical
device) - installed with routing protocols - to transport data across
Transmission Control Protocol (TCP)
The Transmission Control Protocol (TCP) is classified as a transportation
protocol and is part of the transport layer of the Internet protocol
suite. Internet services use a range of application protocols, such
as: HTTP (World Wide Web), SMTP (Email), POP3 (Email), IMAP (Email),
and FTP (Downloading). TCP is the "bridge" or "middle
man" between these application protocols and the Internet Protocol
(IP). TCP uses a specific port number for
each application layer protocol, and combined with an IP address,
this number will complete a communications session.
TCP helps application protocols send and receive data packets in
a reliable manner: it does this through an ordered transportation
procedure that includes error-checking the delivery. The problem
with the Internet Protocol (IP) is that it is unreliable: when data
is broken down into packets and sent across the Internet, the packets
can be lost or not sent 'in order': due to packets being sent along
different paths by a router.
While some services do not need data to be sent in an ordered manner,
others do: such as emails or web content. TCP ensures that data
packets will be sent and received in an accurate rather than a timely
manner. TCP is similar to the 'recorded delivery' of a postal service:
where customers will pay extra to ensure their letter will not be
While the Transmission Control Protocol (TCP) and the Internet
Protocol (IP) are the core protocols
of TCP/IP: they are not the only Internet protocols. TCP and IP
handle the "barebone" task of transporting data across
IP networks. While TCP and IP enable Internet services, they are
not the protocols that provide them.
TCP/IP was developed in the 1970's and launched in the 1980's.
During this era the number of Internet protocols was fairly modest.
In the 1980's, when TCP/IP networks were interconnected - NSFNET,
ARPANET, CSNET - routing protocols were developed to route data
internally and externally across these networks. Due to the expansion
of IP networks and host computers, the Domain Name System (DNS)
was created in 1983 to handle the task of naming Internet hosts.
By the 1990's, when access to the Internet was opened to the general
public, new services were designed for the Internet: most notable
the World Wide Web (e-tailing). By
2000, more protocols had been developed: most notable 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.
Therefore, instead of being referred to as the TCP/IP protocol
suite, the protocols of the Internet were named the Internet protocol
suite. The Internet protocol suite is currently engineered by the
Internet Engineering Task Force (IETF); leadership of the IEFT is
provided by the IAB and the Internet Society.
Core Protocols of the Internet Protocol Suite
A computer network does not need to implement all the protocols
of the Internet protocol suite to access the Internet. At a minimum,
it should support the following protocols:
- Address Resolution Protocol (ARP)
- Internet Protocol (IP)
- Internet Control
Message Protocol (ICMP)
- Internet Group Management Protocol (IGMP)
- Transmission Control
- User Datagram Protocol (UDP)
The Internet protocol suite is based upon a four layer networking
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. For more information about computer networking models: ANSI;
Daisy Chain; Extranet's,
Intranet's and VPNs.
Four Layer Model of the Internet protocol suite
The Internet protocol suite has four "loosely" defined
abstraction layers, 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. The application layer
includes protocols - like HTTP and POP - that provide Internet services
like the World Wide Web and Email. The transport, Internet and link
layers include protocols that route data across the Internet for
the application layer protocols. The lower the layer, the closer
the protocol is to the physical transmission of data.
BGP, DHCP, DNS, FTP, HTTP,
IMAP, IRC, LDAP, MGCP, NNTP, NTP, POP,
RPC, RTP, RTSP, RIP, SIP, SMTP, SNMP,
SOCKS, SSH, Telnet, TLS/SSL,
DCCP, RSVP, SCTP, TCP,
EGN, ICMP, IGMP,
IGMP-AC, IP (IPv4 and IPv6),
IPsec, LISP, Seamoby, swIPe
ARP, DSL, Ethernet, FDDI, ISDN, L2TP, MAC,
NDP, PPP (PPPoE), RARP