TCP/IP is a communications protocol that is used to created a computer
networking model for packet switching computer 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. While writing the specification for the Transmission
Control Program, Kahn and Cerf 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.
In 1974, 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
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
- Bolt, Beranek and Newman Technologies (developed the
IMP for ARPANET)
- Stanford University (Vint Cerf was an assistant professor
at Stanford in 1975)
- University College London (created the second international
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.
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
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 Protocol (TCP)
- 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 various protocols included in the Internet protocol suite have
been classified into four "loosely" defined layers. The
four layers are:
- Application layer: protocols used by applications designed
for users services.
- Transport layer: creates a data channel for a specific
- Internet layer: sends data(packets) across computer networks.
- Link layer: moves data between the Internet layers of
The four layers listed above are listed within the correct hierarchy.
The application layer refers to the software programs that end-users
use on the Internet. For example, HTTP is in the application layer,
this is the protocol used on the World Wide Web. The transportation
layer helps these applications send and receive data packets across
the Internet. Data packets are to sent from, and to, IP addresses.
The Internet layer defines the structure of these packets, and the
format of IP addresses. The Internet layer also sends the packet
with the aid of the transport layer; the transport layer ensures
the packets are sent correctly. The link layer moves packets across
the physical infrastructure; and supports the physical transmission
of the data. Encapsulation is used between the different layers
so that they can communicate. TCP, for example, will often encapsulate:
HTTP, POP3 and FTP.
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, UDP.
ECN, ICMP, IGMP, IP
ARP, DSL, FDDI, ISDN, NDP, OSPF, PTPP,