The Open Systems Interconnection (OSI) reference model was developed by the International Standards Organization (ISO) in 1984 to define network communications, and interpret the flow of data on a network. The OSI reference model is made up of seven layers that starts with the physical connection and ends with the application. The seven OSI layers are:
- Physical Layer
- Data-Link Layer
- Network Layer
- Transport Layer
- Session Layer
- Presentation Layer
- Application Layer
Each layer performs a specific function and can have one or more sublayers. The upper layers of the OSI reference model define functions with respect to the application; the lower three layers detail functions that handle transport and delivery of data from the source to the destination.
The Application Layer, Presentation Layer, and Session Layer, define functions focused on the application. The lower four layers: Transport Layer, Network Layer, Data-Link Layer, and the Physical Layer, define functions focused on end-to-end delivery of the data.
OSI Layer Definitions
- The Physical Layer corresponds to the physical elements of the transmission medium such as signaling specifications, cable types and interfaces. It also characterizes voltage levels, physical data rates, and transmission distances.
- The Data-Link Layer works with the transport of data across one particular link or medium. Data at the data link layer is condensed into frames. Data-link specifications correspond to physical addresses, frame sequences, flow control, and physical topology. At this level data is transformed from frames into bits when transmitted across media and changed back into frames when received from the media. Bridges and switches operate at the data-link layer. In the IEEE 802, the data link layer is divided into two sublayers: Logical Link Control (LLC) and Media Access Control (MAC).
- The upper sublayer – Logical Link Control (LLC) administers the communication between devices.
- The lower sublayer – Media Access Control (MAC) manages protocol access to the physical media.
- The Network Layer corresponds to data routing, labeled packets at this layer, and establishes the methods to facilitate this including the functionality of routing, logical addressing, and how routes are determined. It also defines how packets are broken down into smaller packets to support media with smaller maximum transmission unit (MTU) sizes.
- The Transport Layer handles several functions including selection of protocols. This layer provides dependable, transparent transport of data segments from upper layers. The most significant functions of the Transport layer are error recovery (retransmission) and flow control to control unneeded congestion when sending data at a rate that the network can support, depending on the choice of protocols. Multiplexing of incoming data for different flows to applications on the same host is also performed. Messages are labeled with a sequence number at the transmission end. At the receiving end the packets are reassembled, inspected for errors, and acknowledged. Reordering of the incoming message when packets are received out of order is also handled at this layer.
- The Session Layer establishes how to start, manage, and end communication sessions between applications. Communication sessions entail the service requests and responses that transmit between applications on different devices. This includes the control and management of multiple bidirectional messages so that the application can be alerted if only a portion of the series of messages are completed. This supplies the presentation layer with a complete view of an incoming stream of data.
- The Presentation Layer verifies that data transmitted from an application on the source system is able to be interpreted on the application layer by implementing data representation with a range of coding and conversion functions which includes: conversion of character representation formats, such as text encoding type, picture encoding, encryptions, and voice / video codecs are defined at this layer.
- The Application Layer provides network communication services to the end user or operating system. It communicates with software by defining communication resources, evaluates network availability, and sends out information services. It also provides synchronization between the peer applications that operate on separate systems.