100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Python

The OSI Model

Understand the 7 layers of the OSI reference model, their responsibilities, and example protocols at each layer.

Introduction to NetworkingBeginner12 min readJul 8, 2026
Analogies

Introduction

The OSI (Open Systems Interconnection) model is a conceptual, seven-layer framework created to standardize how different networking systems communicate. Rather than describing a single implementation, it divides the complex task of moving data between two devices into seven independent layers, each with a well-defined responsibility. Engineers use the OSI model as a shared vocabulary for describing where in the communication process a protocol, device, or problem operates.

🏏

Cricket analogy: The OSI model is like the ICC's seven-part matchday manual, not a single ground's actual playbook, but a shared vocabulary that lets a commentator, umpire, or curator all agree on exactly which stage of the match — toss, pitch prep, fielding setup, and so on — a discussion is about.

Explanation

Listed from bottom (closest to the physical wire) to top (closest to the user application), the seven layers are: Layer 1, Physical, which handles the transmission of raw bits as electrical signals, light pulses, or radio waves over cables, fiber, or the air, and involves devices like hubs, repeaters, and network interface cards. Layer 2, Data Link, which organizes bits into frames, handles physical addressing using MAC addresses, and performs error detection on a single link; switches and bridges operate here, using protocols such as Ethernet and PPP. Layer 3, Network, which handles logical addressing (IP addresses) and routing of packets across multiple networks to reach a destination; routers operate here, using protocols such as IP, ICMP, and OSPF. Layer 4, Transport, which provides end-to-end delivery guarantees, including segmentation, flow control, and error recovery between the source and destination hosts; this is where TCP (reliable, connection-oriented) and UDP (best-effort, connectionless) operate. Layer 5, Session, which establishes, manages, and terminates the communication sessions (dialogues) between applications, including synchronization checkpoints for long transfers; protocols and APIs such as NetBIOS and RPC operate here. Layer 6, Presentation, which translates data between the format the application needs and the format suitable for network transmission, handling tasks like encryption/decryption, compression, and character encoding (e.g., converting to/from formats like SSL/TLS encryption, JPEG, or ASCII/Unicode). Layer 7, Application, which is the layer closest to the end user, providing network services directly to applications; protocols such as HTTP, FTP, SMTP, and DNS operate here. Each layer only communicates directly with the layers immediately above and below it, and adds its own header (encapsulation) as data passes down the stack on the sending side, which is then removed (decapsulation) as data passes up the stack on the receiving side.

🏏

Cricket analogy: Layer 1 is the raw radio signal of the stump mic and floodlights; Layer 2 is the scorer noting which batter faced which ball on a physical scoresheet; Layer 3 is the ICC routing a transferred player's registration across boards; Layer 4 is the match ensuring every over is bowled and scored correctly end to end; Layer 5 is the innings break managing the session between overs; Layer 6 is the broadcaster translating raw footage into the graphics overlay viewers see; and Layer 7 is the actual live TV commentary the fan watches — each layer wrapping the one below with its own responsibility.

Example

python
# A simple representation of the 7 OSI layers, bottom to top,
# with one example protocol/device per layer.

osi_layers = [
    (1, "Physical", "Hub / NIC / cabling"),
    (2, "Data Link", "Ethernet, switches, MAC addressing"),
    (3, "Network", "IP, routers, routing"),
    (4, "Transport", "TCP / UDP, end-to-end delivery"),
    (5, "Session", "RPC, session establishment"),
    (6, "Presentation", "TLS encryption, data formatting"),
    (7, "Application", "HTTP, DNS, SMTP"),
]

for num, name, example in reversed(osi_layers):
    print(f"Layer {num} ({name}): {example}")

Analysis

Printing the layers in reverse (from Layer 7 down to Layer 1) mirrors how a sending device actually prepares data: an application (Layer 7) generates a request, which is formatted/encrypted (Layer 6), wrapped in a session context (Layer 5), segmented for reliable delivery (Layer 4), addressed for routing (Layer 3), framed with a MAC address for the local link (Layer 2), and finally converted into raw bits on the wire (Layer 1). On the receiving side, the exact reverse happens, stripping each header layer by layer until the original application data is recovered. This layered separation of concerns is powerful because it lets vendors innovate independently at each layer — for example, a network engineer can replace Ethernet cabling with Wi-Fi (Layer 1/2) without needing to change anything about how HTTP (Layer 7) works, since the layers above only depend on a well-defined interface, not the specific implementation below.

🏏

Cricket analogy: A commentator's script (L7) is drafted, translated into broadcast graphics (L6), slotted into the innings' running order (L5), split into segments timed to overs (L4), routed to the right regional feed (L3), tagged for the local relay tower (L2), and finally sent as a raw signal (L1) — the same layered wrapping OSI describes from application down to physical.

Key Takeaways

  • The 7 OSI layers, bottom to top, are: Physical, Data Link, Network, Transport, Session, Presentation, Application.
  • Physical (L1) handles raw bit transmission; Data Link (L2) handles framing and MAC addressing; Network (L3) handles IP addressing and routing.
  • Transport (L4) provides end-to-end delivery via TCP or UDP; Session (L5) manages dialogues; Presentation (L6) handles formatting/encryption; Application (L7) is closest to the user.
  • Data is encapsulated with headers as it moves down the stack on send, and decapsulated as it moves up the stack on receive.
  • The layered design lets each layer be changed independently without affecting the others.

Practice what you learned

Was this page helpful?

Topics covered

#Python#ComputerNetworksStudyNotes#ComputerNetworks#TheOSIModel#OSI#Model#Explanation#Example#Networking#StudyNotes#SkillVeris