OSI model
OSI (Open Systems Interconnection) model was created by the International Organization for Standardization (ISO), an international standard-setting body. It was designed to be a reference model for describing the functions of a communication system. The OSI model provides a framework for creating and implementing networking standards and devices and describes how network applications on different computers can communicate through the network media.
The OSI model has seven layers, with each layer describing a different function of data traveling through a network. Here is the graphical representation of these layers:
So, what is the purpose of these layers?
They are most commonly used by vendors. They enable them to implement some functionality into a networking device, which then enables easier interoperability with devices from other vendors.
Here is a brief description of each of the layers of the OSI model.
- Physical – defines how to move bits from one device to another. It details how cables, connectors and network interface cards are supposed to work and how to send and receive bits.
- Data Link – encapsulates a packet in a frame. A frame contains a header and a trailer that enable devices to communicate. A header (most commonly) contains a source and destination MAC address. A trailer contains the Frame Check Sequence field, which is used to detect transmission errors. The data link layer has two sublayers:
1. Logical Link Control – used for flow control and error detection.
2. Media Access Control – used for hardware addressing and for controlling the access method.
- Network – defines device addressing, routing, and path determination. Device (logical) addressing is used to identify a host on a network (e.g. by its IP address).
- Transport – segments big chunks of data received from the upper layer protocols. Establishes and terminates connections between two computers. Used for flow control and data recovery.
- Session – defines how to establish and terminate a session between the two systems.
- Presentation – defines data formats. Compression and encryption are defined at this layer.
- Application – this layer is the closest to the user. It enables network applications to communicate with other network applications.
It is a common practice to reference a protocol by the layer number or layer name. For example, HTTPS is referred to as an application (or Layer 7) protocol. Network devices are also sometimes described according to the OSI layer on which they operate – e.g. a Layer 2 switch or a Layer 7 firewall.
The following image shows which protocols reside on which layer of the OSI model:
TCP/IP model
The TCP/IP model was created in the 1970s by the Defense Advance Research Project Agency (DARPA) as an open, vendor-neutral, public networking model. Just like the OSI model, it describes general guidelines for designing and implementing computer protocols. It consists of four layers: Network Access, Internet, Transport, and Application:
As you can see from the picture above, the TCP/IP model has fewer layers than the OSI model. The Application, Presentation, and Session layers of the OSI model are merged into a single layer in the TCP/IP model. Also, Physical and Data Link layers are called the Network Access layer in the TCP/IP model. Here is a brief description of each layer:
- Link – defines the protocols and hardware required to deliver data across a physical network.
- Internet – defines the protocols for the logical transmission of packets over the network.
- Transport – defines protocols for setting up the level of transmission service for applications. This layer is responsible for reliable transmission of data and the the error-free delivery of packets.
- Application – defines protocols for node-to-node application communication and provide services to the application software running on a computer.
Differences between OSI and TCP/IP model
There are some other differences between these two models, besides the obvious difference in the number of layers. OSI model prescribes the steps needed to transfer data over a network and it is very specific in it, defining which protocol is used at each layer and how. The TCP/IP model is not that specific. It can be said that the OSI model prescribes and TCP/IP model describes.