Welcome to Day 73 of the #100DaysOfDevOps Challenge! Today we will see the OSI Model and their 7 Layers
What is the OSI Model?
The Open Systems Interconnection (OSI) model is a conceptual framework that divides network communications functions into seven layers. Sending data over a network is complex because various hardware and software technologies must work cohesively across geographical and political boundaries.
The OSI data model provides a universal language for computer networking, so diverse technologies can communicate using standard protocols or rules of communication. Every technology in a specific layer must provide certain capabilities and perform specific functions to be useful in networking.
Technologies in the higher layers benefit from abstraction as they can use lower-level technologies without having to worry about underlying implementation details.
The 7 layers of the OSI model
This image illustrates the seven layers of the OSI model. Below, we’ll briefly describe each layer, from bottom to top.
1. Physical Layer
The lowest layer of the OSI model is concerned with data communication in the form of electrical, optic, or electromagnetic signals physically transmitting information between networking devices and infrastructure. The physical layer is responsible for the communication of unstructured raw data streams over a physical medium. It defines a range of aspects, including:
Electrical, mechanical, and physical systems and networking devices that include specifications such as cable size, signal frequency, voltages, etc.
Topologies such as Bus, Star, Ring, and Mesh
Communication modes such as Simplex, Half Duplex, and Full Duplex
Data transmission performance, such as Bit Rate and Bit Synchronization
Modulation, switching, and interfacing with the physical transmission medium
Common protocols including Wi-Fi, Ethernet, and others
Hardware including networking devices, antennas, cables, modem, and intermediate devices such as repeaters and hubs
2. Data Link Layer
The second layer of the OSI model concerns data transmission between the nodes within a network and manages the connections between physically connected devices such as switches. The raw data received from the physical layer is synchronized and packaged into data frames that contain the necessary protocols to route information between appropriate nodes. The data link layer is further divided into two sublayers:
The Logical Link Control (LLC) sublayer is responsible for flow controls and error controls that ensure error-free and accurate data transmission between the network nodes.
The Media Access Control (MAC) sublayer is responsible for managing access and permissions to transmit data between the network nodes. The data is transmitted sequentially and the layer expects acknowledgement for the encapsulated raw data sent between the nodes.
3. Network Layer
The third layer of the OSI model organizes and transmits data between multiple networks.
The network layer is responsible for routing the data via the best physical path based on a range of factors including network characteristics, best available path, traffic controls, congestion of data packets, and priority of service, among others. The network layer implements logical addressing for data packets to distinguish between the source and destination networks.
Other functions include encapsulation and fragmentation, congestion controls, and error handling. The outgoing data is divided into packets and incoming data is reassembled into information that is consumable at a higher application level. Network layer hardware includes routes, bridge routers, 3-layer switches, and protocols such as Internet (IPv4) Protocol version 4 and Internet Protocol version 6 (IPv6).
4. Transport Layer
The fourth layer of the OSI model ensures complete and reliable delivery of data packets.
The transport layer provides mechanisms such as error control, flow control, and congestion control to keep track of the data packets, check for errors and duplication, and resend the information that fails delivery. It involves the service-point addressing function to ensure that the packet is sent in response to a specific process (via a port address).
Packet Segmentation and reassembly ensure that the data is divided and sequentially sent to the destination where it is rechecked for integrity and accuracy based on the receiving sequence.
Common protocols include the Transmission Control Protocol (TCP) for connection-oriented data transmission and User Datagram Protocol (UDP) for connectionless data transmission.
5. Session Layer
As the first of three layers that deal with the software level, the session layer manages sessions between servers to coordinate communication. Session refers to any interactive data exchange between two entities within a network. Common examples include HTTPS sessions that allow Internet users to visit and browse websites for a specific time period. The Session Layer is responsible for a range of functions including opening, closing, and re-establishing session activities, authentication and authorization of communication between specific apps and servers, identifying full-duplex or half-duplex operations, and synchronizing data streams.
Common Session Layer protocols include:
Remote procedure call protocol (RPC)
Point-to-Point Tunneling Protocol (PPTP)
Session Control Protocol (SCP)
Session Description Protocol (SDP), as described here
6. Presentation Layer
The sixth layer of the OSI model converts data formats between applications and the networks. Responsibilities of the presentation layer include:
Data conversion
Character code translation
Data compression
Encryption and decryption
The presentation layer, also called the syntax layer, maps the semantics and syntax of the data such that the received information is consumable for every distinct network entity. For example, the data we transfer from our encryption-based communication app is formatted and encrypted at this layer before it is sent across the network.
At the receiving end, the data is decrypted and formatted into text or media information as originally intended. The presentation layer also serializes complex information into transportable formats. The data streams are then deserialized and reassembled into original object format at the destination.
7. Application Layer
The application layer concerns the networking processes at the application level. This layer interacts directly with end-users to provide support for email, network data sharing, file transfers, and directory services, among other distributed information services. The upper most layer of the OSI model identifies networking entities to facilitate networking requests by end-user requests, determines resource availability, synchronizes communication, and manages application-specific networking requirements. The application layer also identifies constraints at the application level such as those associated with authentication, privacy, quality of service, networking devices, and data syntax.
Common application layer protocols include:
File Transfer Protocol (FTP)
Simple Mail Transfer Protocol (SMTP)
Domain Name System (DNS)