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 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 now 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.
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 networks.
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 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, 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 named TCP/IP.
In 1975, DARPA contracted three organisations to develop the TCP/IP specification into an operational protocol suite. The three organisations were:
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 born.
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 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. Leadership of the Internet Architecture Board (IAB) is no longer provided by DARPA: instead it is provided by the Internet Society (ISOC).
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 IP networks.
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 lost.
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. 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.
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:
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.
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.
DCCP, RSVP, SCTP, TCP, UDP
EGN, ICMP, IGMP, IGMP-AC, IP (IPv4 and IPv6), IPsec, LISP, Seamoby, swIPe
ARP, DSL, Ethernet, FDDI, ISDN, L2TP, MAC, NDP, PPP (PPPoE), RARP