Open Systems Interconnection Model (OSI Model)

The Open Systems Interconnection model (OSI model) is a conceptual model that describes the universal standard of communication functions of a telecommunication system or computing system, without any regard to the system’s underlying internal technology and specific protocol suites.

Why does the OSI model exist when we have TCP/IP model?

The OSI model exists as a comprehensive, theoretical framework to understand and design networks, while the TCP/IP model is more pragmatic and specifically tailored to the suite of TCP/IP protocols. OSI is often used for educational purposes and offers more layers for finer-grained control, whereas TCP/IP focuses on real-world implementation and has fewer layers.

OSI Layers from Bottom to Top

  1. Physical Layer: This is the most basic layer, dealing with the actual physical connection between devices (like cables and switches). It transmits raw, unstructured data over the physical medium.
  2. Data Link Layer: This is where MAC addresses operate. The Data Link Layer is responsible for creating a reliable link between two directly connected nodes, ensuring that data frames are sent and received between them. It manages error detection and correction, and it also provides the hardware means of sending and receiving data.
  3. Network Layer: This is where IP addresses come into play. The Network Layer is responsible for determining how packets are routed from the source to the destination. This includes defining the data path across a network of multiple nodes and segments, something the Data Link Layer can’t do.
  4. Transport Layer: Responsible for ensuring the integrity of the data transfer between two systems, often using protocols like TCP or UDP. It breaks down larger messages into smaller packets and ensures they are correctly reassembled at the destination.
  5. Session Layer: Manages sessions or persistent connections between applications. It establishes, maintains, and terminates connections.
  6. Presentation Layer: Transforms data into the form that the application layer can accept. This includes things like character encoding, data compression, and encryption/decryption.
  7. Application Layer: This is the layer closest to the end user. It provides a way for software applications to communicate over a network using protocols like HTTP, FTP, and SMTP.