TCP/IP Protocols
In this tutorial, we are going to see What is TCP/IP Protocols. TCP/IP is a suite of protocols. TCP/IP stands for “Transmission Control Protocol/Internet Protocol”. It comes from the names of the two major protocols of the protocol suite, i.e. TCP and IP.
TCP/IP represents in a way the set of communication rules on the Internet and is based on the notion of IP addressing, which means providing an IP address to each machine on the network in order to be able to route data packets. Since the TCP/IP protocol suite was originally created for military purposes, it is designed to meet a number of criteria, including:
- Splitting messages into packets;
- Use of an address system;
- Routing of data on the network;
- Controlling data transmission errors.
Understanding all the TCP/IP protocols is not essential for a simple user, just as a television viewer does not need to know how his television set works, nor how audiovisual networks work. However, this knowledge is necessary for people who want to manage or maintain a TCP/IP network.
Difference Between Standard and Implementation:
TCP/IP groups together two notions:
- Standard: TCP/IP represents the way communications are carried out on a network.
- Implementation: the name TCP/IP is often extended to software based on the TCP/IP protocol. TCP/IP is in fact a model on which network application developers rely. The applications are thus implementations of the TCP/IP protocol.
TCP/IP is a layered model:
In order to be able to apply the TCP/IP model to any machine, i.e. independently of the operating system, the TCP/IP protocol system has been decomposed into several layers, each performing a specific task. Moreover, these modules perform these tasks one after the other in a precise order, so we have a layered system, which is why we speak of a layered model.
The term layer is used to refer to the fact that the data that transit on the network crosses several levels of protocols. Thus, the data (packets of information) which circulate on the network are successively treated by each layer, which comes to adds an element of information (called a header) then are transmitted to the following layer.
The TCP/IP model is very close to the OSI model (a model with 7 layers) which was developed by the International Organization of Standards (ISO) to standardize communications between computers.
The purpose of a layered system:
The purpose of a layered system is to separate the problem into different parts (layers) according to their level of abstraction.
Each layer of the model communicates with an adjacent layer (the one above or the one below). Each layer uses the services of the lower layers and provides them to the higher one.
OSI model:
The OSI model is a model that has 7 layers, while the TCP/IP model has only 4. In fact, the TCP/IP model was developed approximately at the same time as the OSI model, which is why it is based on it but does not fully comply with the specifications of the OSI model. The layers of the OSI model are the following:
Image source: www.wikimedia.org
- The physical layer defines how data is physically converted into digital signals on the communication media (electrical pulses, light modulation, etc.).
- The data link layer defines the interface with the network card and the sharing of the transmission media.
- The network layer manages the addressing and routing of data, i.e. their routing through the network.
- The transport layer is responsible for transporting data, dividing it into packets and managing any transmission errors.
- The session layer defines the opening and closing of communication sessions between the machines on the network.
- The presentation layer defines the format of the data handled by the application level (their representation, possibly their compression and encryption) independently of the system.
- The application layer ensures the interface with the applications. It is therefore the level closest to the users, managed directly by the software.
TCP/IP model:
The TCP/IP model, inspired by the OSI model, takes the layers approach but contains only four:
Image source: www.wikimedia.org
As you can see, the layers of the TCP/IP model have much more different tasks than the layers of the OSI model, since some layers of the TCP/IP model correspond to several layers of the OSI model.
The roles of the different layers are as follows:
- Link Layer: specifies the form in which data should be routed regardless of the type of network used
- Internet Layer: responsible for delivering the data packet (datagram)
- Transport Layer: this layer is responsible for routing the data, as well as the mechanisms for knowing the status of the transmission
- Application Layer: it covers standard network applications (Telnet, SMTP, FTP, etc.)
Here are the main protocols that are part of the TCP/IP suite: TCP or UDP IP, ARP, RARP FTS, FDDI, PPP, Ethernet, Token ring.
Data encapsulation
During transmission, the data crosses each of the layers at the transmitting machine. At each layer, a piece of information is added to the data packet, it is a “header”, a set of information that guarantees the transmission. At the receiving machine, during the passage in each layer, the header is read, then removed. Thus, at the reception, the message is in its original state.
Image source: www.wikimedia.org
At each level, the data packet changes its aspect, because a header is added to it, so the names change according to the layers:
- The data packet is called a message at the Application layer
- The message is then encapsulated as a segment at the Transport layer
- The segment once encapsulated in the Internet layer is called a datagram
- Finally, at the Network Access layer, it is called a frame