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 who are responsible developing technologies for a military use. The initial design of TCP/IP was developed by Bob Kahn and Vint Cerf during 1973, and the first outline of the protocol was published in a paper titled "A Protocol for Packet Network Interconnection" in 1974. The standardised version of TCP/IP was developed by a range of research institutions in the mid to late 1970's, and 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 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). .

By the end of the 1980's a range of new application level protocols (such as DNS) were developed for TCP/IP and TCP/IP was eventually renamed as 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 1960's. ARPA was renamed to DARPA in the early 1970's. ARPANET used the Network Control Program (NCP) to transit 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 to work at their IPTO. 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 networks. RFC 801, written by Jon Postel, stated that "the base host-to-host protocol used in the ARPANET were inadequate" and therefore a new (TCP/IP) was required to replace it.

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 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 the Transmission Control Program (TCP). The specification for the Transmission Control Program was released in two important documents:

1. A Protocol for Packet Network Intercommunication. (IEEE)
2. Specification of Internet Transmission Control Program. (RFC 675)

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, the PARC Universal Packet (PUP) protocol suite would influence whether the Transmission Control Program renamed 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:

1. Bolt, Beranek and Newman Technologies (developed the IMP for ARPANET)
2. Stanford University (Vint Cerf was an assistant professor at Stanford in 1975)
3. University College London (created the second international ARAPNET node)

These organisations would develop the following versions of the Transmission Control Program from 1975-1978: 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). At least three network tests were conducted by Stanford Unversity, University College London (UCL), UCLA, SRI, MIT and BBN from 1977-1983. 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 sometimes 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 being 'the day the Internet was born'. There are claims that some ARPANET nodes were reluctant to adopt the new protocol suite during 1982, and it's predecessor (NCP) was disabled on a number of days to 'drive home the point' that the switchover was not to be averted.

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 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 it's popularity. The Internet Activities Board (IAB) was renamed as the Internet Architecture Board (IAB) in 1992, and continues (2014) to oversee the architecture 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).

bullet Evolution of the TCP/IP Model

The DoD four layer network model (TCP/IP) was developed so that networks with different physical hardware and software could more easily interconnect. The Internet Protocol (IP) and it's place in the four layer model was first published in RFC 760; written in 1980 by Jon Postel:

  1. Application Layer: Telnet, FTP
  2. Transport Layer: TCP, RTP
  3. Internet Layer: IP
  4. Link Layer: Local Network Protocol

The Internet Protocol (IP) outlined a datagram format which provided a header with a 32-bit decimal number address system and fragmentation options. By separating the Internet Protocol (IP) from the physical technology that transmits the IP datagram - through placing the protocols on different layers - this structure aids the interconnection of networks. Transport protocols, like TCP (using ports), helped hosts to send datagrams in a reliable manner; IP is a connectionless, unreliable and best effort protocol. Network services were provided by application layer protocols, such as: FTP (file transfer) and Telnet in 1980.

The amount of application layer protocols listed in RFC 760 was a 'barebone' of protocols, and it was only by the mid-1980's that the model was 'fleshed out' to include the likes of POP and DNS (application layer protocols). In the mid 1980's, 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 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 (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 DoD Model, did not accurately describe the full collection of Internet protocols: hence the set of communication protocols being renamed as the Internet Protocol Suite. Computer networks are not required to implement all of the protocols of the Internet protocol suite to access the Internet: at a minimum, a computer network should support the following protocols: ARP, IP, ICMP, IGMP, TCP and UDP.

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 hexidecimal number. IPv4 was standardised in the 1970's by BBN, Stanford and UCL and it's specification published in 1980. IPv6 was designed in the mid 1990's and it's specification published in 1998. IPv6 was primarily designed because the commercialisation of the Internet in the early 1990's 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 Four Layer Model of the Internet Protocol Suite

The Internet protocol suite is based upon a four layer networking model; 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 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, 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.

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