Well, basically OSI is a framework which says - If you innovated anything related to networking, you need to open the standards. And to open it according to a proper framework.
OSI model is the product of international standard organization (ISO). OSI is a 7 layer framework.
- Physical Layer (L1) / technology layer
- Data Link Layer (L2) / technology layer
- Network Layer (L3) / upper layer protocol stack
- Transport Layer (L4) / upper layer protocol stack
- Session Layer (L5) / upper layer protocol stack
- Presentation Layer (L6) / upper layer protocol stack
- Application Layer (L7) / upper layer protocol stack
Physical layer and data link layer are the layers of technology. While the remaining ones (L3 to L7) are part of upper layer protocol stack. Physical layer represents the hardware part of the technology and the data link layer represents the software part of the technology. So we can say that L1 and L2 are technology dependent layers while L3 to L7 are independent.
- Physical layer (L1) - If there is anything that is physical in nature and used between two communicating pair, then that comes under the standards of physical layers of OSI.
- Data link layer (L2) - If there is any software tool or protocol which helps to create understanding between two communicating pair even before the actual communication begins, then that comes under the standards of data link layer of OSI. Start bits and stop bits are required for understanding. Authentication and compression is required as well.
- Network layer (L3) - If there is any software tool or protocol which helps to learn information about all the networks and all the paths to reach all the networks, then that comes under the standards of network layer of OSI.
- Application layer (L7) - If there is any software tool or application which helps information to transfer between user and upper layer protocol, then that comes under the standards of application layer of OSI.
- Presentation layer (L6) - If there is any software tool or protocol which helps convert code at sender's end and then reconvert it at receiver's end, then that comes under the standards of presentation layer of OSI.
- Session layer (L5) - If there is any software tool or protocol which helps to initiate a session and guarantees the delivery of data successfully, then that comes under the standards of session layer of OSI.
- Transport layer (L4) - Transport layer does sequencing and segmentation. Breaking data (payload) into pieces according to MTU (maximum transmission unit) is called as segmentation. And numbering those pieces into sequential order is called as sequencing. Sequencing also maintains the order of pieces and also makes sure that the pieces of payload are well assembled at the receiver's end.
After the process of segmentation and sequencing, data gets transmitted either in TCP (transmission control protocol) or UDP (user datagram protocol). There is a window size in TCP which acknowledges the data packets / segments, it dictates after how many segments there is need of acknowledgment. If window size is 3, then acknowledgment will be sent after every 3 segments.
There are 2 types of windows -
- Fixed windows (window size is fixed before receiving the acknowledgment, selected sized segment will be sent).
- Sliding windows (number of segments to be sent before receiving the acknowledgment can change during the actual communication in real time, but in fixed windows the size will remain the same throughout the whole communication).
When the sequence number 1 is sent and the windows size is 1 as well, then the acknowledgment will be sent as number 2 (which is the next expected segment).
If a frame is received twice then one will be overwritten. And if sequence 5 is acknowledged and got dropped before reaching the destination, acknowledgment will be sent again after some time. For multiple sessions over single computer, source port and destination port is used.
So! This was the brief explanation about open systems interconnection (OSI), fixed window, sliding window and error correction. See you in the next article!