The OSI Model
No matter where you are in the IT world, understanding the OSI Model is key. The OSI (Open System Interconnection) model is a framework used to implement standards for network communication. Created in 1984, the goal of the OSI model was to provide a vendor-neutral set of standards for Technology vendors to ensure interoperability. It is a hierarchical architecture that logically partitions the functions required to support system-to-system communication.
The OSI model has seven (7) layers that define specific tasks. The layers are:
Layer 1: Physical
Layer 2: Data Link
Layer 3: Network Layer
Layer 4: Transport Layer
Layer 5: Session Layer
Layer 6: Presentation Layer
Layer 7: Application Layer
The OSI model was created to provide software developers and hardware manufacturers a standard interface allowing interoperability. Other key benefits include:
Reduces complexity by breaking concepts down into smaller, more digestible parts and simplifying troubleshooting.
Ensures Vendor Interoperability by providing a standard for vendors to meet when creating computers, network devices, and software.
Provides modular engineering allowing a vendor to write code for a specific layer. For example, a web browser for the application layer.
Simplifies Learning and Development by breaking the concepts down into digestible pieces.
In figure 1.1 we will take a look at each layer and see some protocol and device examples:
Device Type by Layer
Let's take a look at where our network devices fall on the OSI Model.
Layers 7 - 5 - Hosts and firewalls
Layer 3 – Routers and Layer 3 Switches (Switches that perform routing functions)
Layer 2 – Switches (No routing functionality, Switches at Layer 2 forward traffic based on MAC Address), Network bridges (similar function to switches but with fewer features and intelligence.)
Layer 1 – Hub, Repeaters, ethernet cables
Layer 4 In Depth - Transmission Protocols
There are two types of transmission protocols available at this layer, TCP, and UDP.
TCP is a reliable transport protocol. Think of it like Certified Mail. TCP establishes a three-way handshake in data communication. The three-way handshake is a process by which a network node initiates and acknowledges a connection. This is done through a series of SYN and ACK messages. Data is sent in a sequence, and in the event, the data arrives in the wrong order, TCP reorders the information correctly. TCP also offers error detection and recovery. Errors are detected via a checksum. In the event, a segment of data is damaged and discarded, or an acknowledgment (ACK) isn't received, retransmission is triggered. The particular segment of data is retransmitted until a retransmission timeout is reached. Finally, I'd like to highlight that TCP offers Flow Control. TCP uses an end-to-end flow control protocol (Windowing) to avoid having the sender send data too fast to the receiver to process it. This is key for devices communicating over various network speeds.
TCP (Transmission Control Protocol)
Used for Unicast traffic (One-to-One)
Error Detection and Correction
Flow Control (Windowing)
UDP is described as an unreliable transport protocol. It is connectionless and doesn't offer SYN/ACK acknowledgments, error detection, and recovery or flow control. So why on earth would you use it? UDP offers lightweight transmission of data and is commonly used by time-sensitive applications (VoIP, Video Streaming, TFTP, DNS). Packets are sent individually, and while they are sent in a specific order, there's no way to guarantee they will be received and processed in the correct order as UDP doesn't offer to reorder.
UDP (User Datagram Protocol)
No error detection/recovery
No Flow Control
Layers 2 and 3 In-Depth - The Internet Layer
Layers 2 (Data Link) and 3 (Network) are both responsible for data transmission between the source and destination nodes. In the TCP/IP Model, these are combined into the Internet Layer. These layers are all about getting data to your hosts - IP and routing. Here are the key terms you need to know.
Internet Protocol (IP) - Routable protocol responsible for logical addressing standards and services
Address Resolution Protocol (ARP) - Protocol used to map a MAC address to an IP address
Media Access Control (MAC) Address - Hardware address unique for each network device
Internet Control Message Protocol (ICMP) - Used to diagnose/report errors related to IP packet delivery (i.e., Ping)
Internet Group Management Protocol (IGMP) - Used to establish multicast group membership.