Importance of OSI Model as a Developer
As a developer, it is good to learn how things work under the hood. OSI model provides a way to think about the various components and protocols that make up the internet.
What is OSI Model
Open Systems Interconnection (OSI) model is a framework for understanding how communication occurs across networks.
OSI Model
OSI model is divided into seven layers. Every layer has a specific function.
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Physical Layer
Physical layer deal with the physical connections of the devices. Voltage level and bits (0 and 1) are transferred here.
Data Link Layer
Bits came from the physical layer organized into the frames. Headers (containing MAC address) are added in this layer. The Data Link Layer has two sub-layers.
MAC (Media Access Control) Layer
It controls how to get access and permission to the data and transform data. It carries the physical address of each device in the header.
LLC (Logical Link Control) Layer
LLC is responsible for error-checking and flow control mechanisms.
Network Layer
Routing data frames across different networks is the responsibility of the network layer. The most important protocol in the network layer is IP. Send the packets from network to network in this layer. Data in this layer is known as packets.
Transport Layer
The transport layer handles end-to-end communication between two nodes. In this layer, data are known as segments. TCP and UDP are the two common transport layer protocols.
TCP - Transmission Control Protocol
TCP is reliable but it is slow. All the packets are error-free, with no loss in sequence and secure delivery.
UDP - User Datagram Protocol
UDP is unreliable but it is fast. It is not a secure, fast and connectionless protocol.
Session Layer
Deals with establishing, maintaining, and terminating connections between applications.
Presentation Layer
Deals with the format and meaning of the data being exchanged. The Presentation Layer converts these different data formats (images, video, etc.) into a readable format.
Application Layer
Deals with the interface between the application and the network. Some of the protocols used in the Application Layer are Telnet, FTP, SMTP, HTTP etc.