Safekipedia

Internet protocol suite

Adapted from Wikipedia · Adventurer experience

Diagram showing the first internetworked connection by SRI International

The Internet protocol suite, commonly known as TCP/IP, is a set of rules for how computers talk to each other on the Internet and other computer networks. It helps computers share information. The main parts of this suite are the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and the Internet Protocol (IP). These parts work together to make sure data gets from one place to another correctly.

Originally, this set of rules was called the Department of Defense (DoD) Internet Architecture Model because the research was funded by the Defense Advanced Research Projects Agency of the United States Department of Defense. It provides ways for data to be sent, received, and moved across networks. This is done by breaking data into small pieces called packets and sending them from one computer to another.

The Internet protocol suite organizes its jobs into four main levels or abstraction layers. These layers help sort out all the different tasks needed for networking. Starting from the closest to the hardware, these layers are the link layer, which handles communication within a single network; the internet layer, which connects different networks together; the transport layer, which manages communication between specific computers; and the application layer, which deals with programs and applications that use the network.

Today, the rules and standards for the Internet protocol suite are kept up to date by the Internet Engineering Task Force (IETF). This suite was developed before another well-known model called the OSI model, which is a broader framework for all kinds of networking systems. Because of its importance, TCP/IP is the foundation of how most of the Internet works.

History

Further information: History of the Internet

Diagram of the first internetworked connection

The Internet protocol suite started with research in the late 1960s. It was funded by the Defense Advanced Research Projects Agency (DARPA). This research helped create the ARPANET in 1969. Researchers like Steve Crocker began finding ways for computers to talk to each other.

In the 1970s, Bob Kahn and Vinton Cerf worked on new methods to connect different networks. They made a system where networks could hide their differences and talk through a common set of rules. This led to the creation of the Transmission Control Protocol, which later split into the Internet Protocol (IP) and Transmission Control Protocol (TCP).

By 1983, Internet Protocol version 4 (IPv4) was used a lot, and the system became known as TCP/IP. Over time, many companies used TCP/IP, and it became the standard way for computers to connect online.

Key architectural principles

The Internet protocol suite follows a few key ideas to help it work well. One is the end-to-end principle. This means most of the smart parts of communication happen at the beginning and end, while the middle parts just move data quickly. Over time, things like firewalls and caches have changed this idea a bit.

Another important idea is robustness. Senders should follow the rules carefully, but receivers should be ready to accept messages even if they aren’t perfect. This helps keep things working even when there are small mistakes.

The suite also uses encapsulation. This means wrapping data in layers, like putting a letter in an envelope. This helps different parts of the network understand and move the data properly. The main layers are:

  • The application layer is where programs like web browsers talk to each other.
  • The transport layer makes sure data gets from one computer to another, using protocols like UDP and TCP.
  • The internet layer handles moving data between different networks, mainly using IP.
  • The link layer deals with how computers talk to each other on the same local network.

Main article: Communication protocol § Software layering

End-to-end principle

Robustness principle

Encapsulation

Application layer

Processes

Reliable or unreliable

Client–server model

Peer-to-peer

Services

Transport layer

User Datagram Protocol

Connectionless

Transmission Control Protocol

Internet layer

IP addresses

Link layer

RFC

Link layer

The link layer helps computers talk to each other on the same local network, like at home or school. It works with hardware such as cables and Wi-Fi. This layer moves small pieces of information, called packets, between computers without needing a router.

Special parts of a computer, like the network card and its software, help prepare these packets for sending. They also change Internet Protocol addresses into special codes each device uses, called media access control addresses. The link layer is similar to Layer 2 in another networking model called the OSI model.

Internet layer

The internet layer helps send data from one network to another. It uses a system called IP addressing to know where data should go. This layer makes sure data can travel across many different networks, which is what lets the Internet work.

The main part of this layer is the Internet Protocol (IP). It has two versions: Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). IPv6 was introduced to solve the problem of running out of addresses.

Transport layer

The transport layer helps computers talk to each other. It sets up ways for data to move between programs on different computers.

It works in two main ways:

  • One way sets up a connection first, like TCP. This makes sure data arrives correctly and in order.
  • The other way sends data quickly without checking first, like UDP. This is faster but does not always make sure every piece of data arrives.

Some apps, like watching live video or playing online games, use UDP because they need things to happen right away.

Application layer

The application layer has the protocols that apps use to give services or share data over networks. Examples include Hypertext Transfer Protocol for web browsing, File Transfer Protocol for moving files, and Simple Mail Transfer Protocol for email. These protocols put data into pieces that lower layers, like Transmission Control Protocol or User Datagram Protocol, move across the network.

In the TCP/IP model, the application layer groups tasks that other models split into different layers. It works with the transport layer, which handles connections, but it does not worry about how data looks. Common services use special numbers, like port 80 for HTTP, and these are managed by the Internet Assigned Numbers Authority. The application layer has user protocols for apps and support protocols to help the network.

Layering evolution and representations in the literature

The Internet protocol suite grew and changed over many years of work and study. During this time, different groups tried to organize the rules for how computers communicate. This sometimes led to different ways of grouping these rules. Efforts to combine these ideas helped create useful tools for both students and experts.

The table below shows some of these different models for organizing computer network rules. These models have from three to seven layers, and they come from textbooks and other sources.

Arpanet Reference Model
(RFC 871)
Internet Standard
(RFC 1122)
Internet model
(Cisco Academy)
TCP/IP 5-layer reference model
(Kozierok, Comer)
TCP/IP 5-layer reference model
(Tanenbaum)
TCP/IP protocol suite or Five-layer Internet model
(Forouzan, Kurose)
TCP/IP model
(Stallings)
OSI model
(ISO/IEC 7498-1:1994)
Three layersFour layersFour layersFour+one layersFive layersFive layersFive layersSeven layers
Application/ ProcessApplicationApplicationApplicationApplicationApplicationApplicationApplication
Presentation
Session
Host-to-hostTransportTransportTransportTransportTransportHost-to-host or transportTransport
InternetInternetworkInternetInternetNetworkInternetNetwork
Network interfaceLinkNetwork interfaceData link (Network interface)Data linkData linkNetwork accessData link
—N/a—N/a—N/a(Hardware)PhysicalPhysicalPhysicalPhysical

Comparison of TCP/IP and OSI layering

See also: OSI model § Comparison with TCP/IP model

The TCP/IP model groups things differently than the OSI model. The OSI model has separate layers, like application, presentation, and session. TCP/IP has just one application layer on top of the transport layer. This means TCP/IP applications can use different ways to do their work without following one strict design.

Some examples show how this works. For example, the NFS application uses XDR to present data. It then uses RPC to make remote calls. RPC helps make sure data is sent safely, even though it uses UDP, which doesn’t guarantee safety by itself. Some people debate where the TCP/IP model ends and the hardware begins. Others try to fit the OSI model’s ideas into TCP/IP. But the group that makes Internet rules, the IETF, doesn’t worry too much about strict layers. They’ve even said that layering can sometimes cause problems.

Implementations

The Internet protocol suite works on many kinds of computers and devices. It only needs to send and receive small pieces of data called packets. Because of this, it can be used on almost any computer system.

A basic version of this system has several important parts: Internet Protocol (IP) for sending data, Address Resolution Protocol (ARP) for finding devices, Internet Control Message Protocol (ICMP) for messages between computers, Transmission Control Protocol (TCP) for reliable data transfer, User Datagram Protocol (UDP) for faster but less reliable data, and Internet Group Management Protocol (IGMP) for group communications. For newer versions of IP, it also includes Neighbor Discovery Protocol (NDP), ICMPv6, Multicast Listener Discovery (MLD), and often adds IPSec for extra security.

Images

The SRI Packet Radio Van, where one of the first three-way internet transmissions took place.

Related articles

This article is a child-friendly adaptation of the Wikipedia article on Internet protocol suite, available under CC BY-SA 4.0.

Images from Wikimedia Commons. Tap any image to view credits and license.