Table of Contents
PRESENTATION LAYER
THE PRESENTATION LAYER
The next layer in the OSI model is the presentation layer. In the vertical hierarchy of the OSI model, the presentation layer is above the session layer and below the application layer. There are a few crucial responsibilities this layer holds that are worth discussing and appreciating the well thought out network model.
Let’s dive in…
What’s the end objective here?
The end objective is to facilitate two or more computers (applications running on the computer in specific) to communicate with each other irrespective of their underlying hardware infrastructure.
That being said, this underlying system architecture defines the protocols in place and the protocols in turn define how data is interpreted in the system. Thus, there needs to be a mechanism or a governing entity that takes care of translating the data into host machine understandable format.
At the receiving end past the session layer, the application needs to understand what the sender is saying. To understand the message it needs to know the language and other relevant information. Say an application were to transmit an integer but the architectures may use different byte ordering ( Big Endian or Little Endian ), thus the data is interpreted in an entirely different than it is intended. Although this was a small example, in real-time these are some of the more serious design problems to be considered; with this brief introduction on the layer, let’s jump into the responsibilities.
Roles and responsibilities
Translation
The translation is the most important role of the presentation layer. The translator’s role is to convert the data into a form that is generic or into a form that the host machine can understand. There are a lot of protocols in play that helps achieve this functionality.
Computer applications communicate amongst themselves and each time it can be of a different nature. When I say nature I mean the type of data that can be exchanged. Thus, there is an agreed upon format and the data will be packed accordingly. This phenomenon wherein the format is agreed upon and the process of appropriate conversion takes place is referred to as the presentation formatting or translation formatting.
This formatting, translation or conversion (in this context can be interchangeably used) of data; there are the obvious ones that can be discussed along with the commonly used design procedure and there could be ones that are missed out, ones that are more specific to the application itself. Let’s briefly look into them…
The conversion Logic
There are mainly two approaches:
- Covert the data into a universal standard format and the receiver is expected to convert the data from this standard format to the host application format. This is the most logical approach for many reasons and few of them would be
- There is one standard format; this means the sender application does not need to know all the languages in the world. This is a simple and logical approach.
- The overall size of the application is reduced considering it holds only relevant conversion information.
- The other approach is to let the conversion happen at the receiver’s end. This is not a popular approach but has its pros and cons like any other approach.
- This would reduce the sender’s overhead and reduce complexity.
- This approach would greatly increase the complexity at the receiver’s end, this is because the language is understood after the data has reached the layer, and then deciphering and conversion of data to an understandable format has to happen.
- There is one other method, wherein the receiver and sender try to understand the language they are communicating in prior to data transfer, and in the eventuality, they are the same, there is no conversion needed.
The implementation complexity for all approaches are equally high, at this point it is good enough to just understand them at face value.
The data-type handling
There are complex data structures in play in an application. This needs to be converted or packed into a way that is generic or application specific.
Again, this is just one of the parameters or design considerations at this layer.
Tagging
Tagging is a technique by which the destination PC is somehow informed of the message; its arguments and parameters. There are again a few ways to perform tagging, which is beyond the scope of this article.
Thus, many such parameters are to be considered at the translation phase of this layer.
Encryption and Decryption
This layer is also responsible to encrypt the data that is sent out and obviously, decryption happens at the receiving end. TELNET and SSH are good application demonstrations of this layer. Although not strictly OSI model compliant (more in congruence with the TCP/IP protocol suite), they each demonstrate the use of this layer.
Note: TELNET isn’t as secure or rather completely insecure and SSH provides a secure tunnel for communication.
Compression
Compression is one of the other responsibilities of the presentation layer. This ensures that redundant data is not being pushed into the communication channel thereby reducing the bandwidth usage. This particularly comes into good use while the data is audio or video related, where bandwidth usage is of prime importance on the network where resources are shared.
This concludes the responsibilities of this layer and with all being covered, it is important to know that it is within the scope of the application (software) to cover the responsibilities of the presentation as part of its data packing and handling; this is the reason why they are seldom merged into a single unit.
As always thanks for reading, feel free to drop your comments and queries in the response window below.