Internet Guide Logo

What is TCP/IP (Internet Protocol Suite)

bullet 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.

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).

bullet 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.

bullet 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.

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.

bullet Application layer:

BGP, DHCP, DNS, FTP, HTTP, IMAP, IRC, LDAP, MGCP, NNTP, NTP, POP, RPC, RTP, RTSP, RIP, SIP, SMTP, SNMP, SOCKS, SSH, Telnet, TLS/SSL, XMPP.

bullet Transport layer:

DCCP, RSVP, SCTP, TCP, UDP

bullet Internet layer:

EGN, ICMP, IGMP, IGMP-AC, IP (IPv4 and IPv6), IPsec, LISP, Seamoby, swIPe

bullet Link layer:

ARP, DSL, Ethernet, FDDI, ISDN, L2TP, MAC, NDP, PPP (PPPoE), RARP