Computer Networks: Protocol Layering and the OSI Model
Published: 2024-05-20 02:09:43

Protocol layering simplifies network protocols by dividing the functions into multiple layers, making it easier to manage and develop network systems.
This article introduces the protocol layering and the basic concept of the OSI model.

1. What is Protocol Layering?
2. Overview of the OSI Model
3. The Layers of the OSI Model and Their Functions
 * Physical Layer
 * Data Link Layer
 * Network Layer
 * Transport Layer
 * Session Layer
 * Presentation Layer
 * Application Layer

## What is Protocol Layering?
Protocol layering is a design approach that separates network functions into multiple layers that can perform complex tasks in simpler, manageable segments.
Each layer receives specific services from the lower layer and provides specific services to the higher layer after performing certain functions. This is like modulizing functions in software development, by separating functions, it simplifies the management of each service.
In network communication, the interactions between higher and lower layers are called "interfaces," while the interactions between the same layers across different systems are called "protocols."

## Overview of the OSI Model
The OSI Model is a conceptual framework used to understand and implement standardized communications protocols in network systems. Developed by the International Organization for Standardization (ISO), the model divides the complexities of network communication into seven distinct layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Each layer serves a specific function, working cooperatively with the layers above and below to provide a scalable and interoperable communication system. By segregating the network architecture into manageable layers, the OSI Model simplifies network design and ensures that different technologies can work together seamlessly.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78s5quwi8zjhykbdswyp.png)
(image from [Windows network architecture and the OSI model](https://learn.microsoft.com/en-us/windows-hardware/drivers/network/windows-network-architecture-and-the-osi-model))

3-1. Application Layer
This layer is responsible for handling the networking functions of applications. For example, in an email application, the functionality that allows messages to be sent is managed by this layer, whereas the process of writing messages is not related to this layer.

3-2. Presentation Layer
This Layer is responsible for translating data between the application layer and the network format. It ensures that data is presented in a format that the application layer can handle. For example, it converts data from a device-specific format to a network-friendly format. Additionally, you might have experienced issues reading a Word file due to version differences. This is usually a bug in this layer.


3-3. Session Layer
This layer establishes, manages, and terminates connections (or sessions) between applications. If communication is interrupted, it can restart or resume the session where it left off. 

3-4. Transport Layer
This layer has a role in delivering data safely and reliably from one end system to another. It manages the flow of data, ensuring packets are sent in the correct order, and retransmits any lost packets. It's like ensuring that all friends traveling arrive correctly, without anyone getting lost anywhere.

3-5. Network Layer
This layer is responsible for delivering data to its intended destination across multiple network segments. It involves determining the optimal path for data transmission through various routers. Thanks to this layer, it selects the most efficient path to ensure the data reaches the correct destination efficiently and reliably.

3-6. Data Link Layer
This layer allows devices that are directly connected, like two computers on the same network, to talk to each other. It takes a series of bits (0s and 1s) and groups them into frames. These frames help send and receive data clearly and efficiently between devices.


3-7. Physical Layer
This layer converts a bit (a sequence of the digits 0 and 1) into high and low voltages or flashes of light, and conversely, converts high and low voltages or flashes of light back into bits.