OSI Model and related Protocols
Definition -
OSI (Open Systems Interconnection Model) is a conceptual framework used to describe the functions of a networking system.
Why do we need a model like the OSI model?
In earlier days, the users had to purchase all the computer-related devices from a single manufacture. That means if a user buys a computer from Dell, he or she has to buy other accessories like a printer also from Dell. This is mainly due to the incompatibility of the packet structure. This was very problematic for the users. Therefore ISO (International Organization for Standardization) introduced a standard. All data segments that move from one point to another have to follow this standard. This is where the OSI model is used.
Advantages of OSI Model
- Acts as a guidance tool for any network model.
- Flexible in nature as there are clearly separated services, interfaces, and protocols.
- Helps network operators to determine required hardware and software components.
- Easy to troubleshoot and identify errors.
OSI Model Structure
OSI model consists of 7 main layers. Each layer has a specific functionality.
Application Layer
This is the 7th layer or the final layer of the OSI model. Manipulation of data in various ways is the main responsibility of this layer. It specifies the shared protocols and interface methods used by the hosts in a network. There are several core functionalities of this layer.
- Send Emails(Email forwarding and storage).
- Conversion of domain names into corresponding IP addresses.
- Receiving and handling webpage requests from users or clients and display the response back.
- Sending data and files.
In order to do these functionalities, the application layer uses different protocols such as HTTP, HTTPS, SMTP, DNS, etc. However, HTTP( HyperText Transfer Protocol) is the most widely used protocol. This HTTP protocol is stateless.
Presentation Layer
The Presentation layer is the 6th layer that resides between the Application layer and Session layer. The delivery and formatting of information to the application layer is the core responsibility of this layer. This basically acts as a data translator. This layer ensures that the data is in a usable format. It makes sure that the information sent by an application layer of system “A” is readable by the application layer of a system “B”.
other functionalities —
- Data encryption and decryption.
- Data comporession and decompresssion.
Session Layer
5th layer in the OSI model and provides a mechanism for managing sessions(establish, maintain, and synchronize) between end-user application processes. Basically provides interprocess communication between 2 systems. The session layer avoids data loss with the help of marked data streams which helps to resynchronize messages properly. There are several protocols used in the session layer.
Example:
- X.225 protocol — Used to re-establish a connection in case of failure.
- Zip (Zone Information Protocol)
- SCP(Session Control Protocol)
There are 3 main functionalities of this layer,
- Dialog Management- Allows systems to communicate in half-duplex or full-duplex modes.
- Token Management- Restricts 2 parties from attempting the same operation at the same time.
- Synchronization- Add checkpoints to a stream of data.
Transport Layer
4th layer of the OSI model and resides below the Session layer. Segmentation is the main responsibility of this layer. It basically provides transparent transport of data. It sends an acknowledgment for every message delivery(either successful or unsuccessful).
Segmentation — Data or information is divided into small parts and then send it. This is done in order to increase the reliability(Even if we lose 1 packet, the rest will be delivered). Then the layer can retransmit the failed packets. This division is done by the transport layer.
The transport layer uses protocols such as TCP, UDP, DCCP, etc. However, TCP and UDP are the 2 most widely used protocols.
TCP(Transmission Control Protocol) —
- Connection-oriented.
- Slower than UDP.
- Uses handshake protocols like ACK, SYN0ACK.
- TCP does error checking and error recovery.
UDP —
- Connectionless protocol.
- Faster than TCP.
- Do not use any handshake protocols.
- UDP is lightweight.
Network Layer
This layer is responsible for the delivery of packers from source to destination across multiple networks. This layer is not needed if the source and destination are in the same network. Basically acts as a network controller and decides which physical path the data will take. The network layer may use protocols like DDP, IPsec, IPX, etc. There are several functionalities of the network layer.
- Conversion of received segments into packets.
- Adds source and destination IP address to packets.
- Responsible for routing packets.
- Controls network traffic.
Data Link Layer
The Data Link layer gets the packets from the network layer and transforms them into frames by padding error connection bits. This layer defines the format of data on the network. Ensures reliability and error-free transmission by controlling access to the transmission medium. Uses protocols like ARP, RARP, PPP, etc. There are 2 main sub-layers of the Data Link Layer.
- Media Access Control: Controls how devices in the network get access to a medium.
- Logical Link Control: Error checking and frame synchronization.
Core functionalities —
- Conversion of received packets into frames.
- Error detection and correction.
- Flow control.
Physical Layer
This is the first layer of the OSI model. This layer contains the primary networking hardware transmission technologies. This is the layer is responsible for sending data bits over a communication medium. The communication mode is also decided by the physical layer. It could be either half-duplex or full-duplex.
- Half-duplex — Both parties can communicate with each other but NOT simultaneously.
- Full-duplex — Both parties can communicate with each other simultaneously.
Main functionalities of physical layer
- Define the data transmission rate.
- Handling synchronization of the transmitter and receiver.
- Line Configuration.
- Defines the type of encoding.