Layer six is the presentation layer and this layer is concerned with the actual format that data is
presented in.
In other words we're looking at data representation or syntax.
The presentation layer ensures that data that is sent by one application can be successfully read by
another application.
So we need to ensure that the receiving system can understand the data that it's receiving.
In other words that the data is readable.
It is important to understand that different systems have different ways of formatting their data.
Linux Mac and Windows may format their data entirely differently.
So to ensure that the receiving system can receive and understand the data that it's receiving the data
needs to be changed to machine independent format.
There are some well-known examples here including JPEG MPEG ASCII MP 3 and so forth and so on.
If you've ever tried to open a JPEG file in notepad or the incorrect application you'll see what happens
when the format is not understood.
If you open up a JPEG picture file in notepad you'll get a screen full of unrecognized characters which
aren't of any use.
So this layer formats the data to be presented to the application layer.
It structures the data it negotiates data transfer syntax for example using ASCII or Unicode for the
transmission of data between two systems.
It can also provide encryption so when you're sending for example a music file from a Linux machine
to a Windows machine this lay ensures that the data is transmitted in the format that both sides understand.
So as an example when using an MP 3 you could connect to a Web site running an Apache server on Linux
from your Windows machine or from a mobile device such as an iPhone you can listen to music view pictures
watch videos and so forth because the data is presented in a format that both sides understand.