The presentation layer is the sixth level of the seven layer OSI model. It responds to service requests from the application layer and issues service requests to the session layer.
The presentation layer is responsible for the delivery and formatting of information to the application layer for further processing or display. It relieves the application layer of concern regarding syntactical differences in data representation within the end-user systems. Note: An example of a presentation service would be the conversion of an EBCDIC-coded text file to an ASCII-coded file.
The presentation layer is the first one where people start to care about what they are sending at a more advanced level than just a bunch of ones and zeros. This layer deals with issues like how strings are represented – whether they use the Pascal method (an integer length field followed by the specified amount of bytes) or the C/C++ method (null-terminated strings, i.e. “thisisastring\0”). The idea is that the application layer should be able to point at the data to be moved, and the Presentation layer will deal with the rest.
Encryption is typically done at this level too, though it can be done at the application, session, transport, or network layer; each having its own advantages and disadvantages. Another example is representing structure, which is normally standardised at this level, often by using XML. As well as simple pieces of data, like strings, more complicated things are standardised in this layer. Two common examples are ”objects” in object-oriented programming, and the exact way that streaming video is transmitted.
In many widely used applications and protocols, no distinction is made between the presentation and application layers. For example, HTTP, generally regarded as an application layer protocol, has presentation layer aspects such as the ability to identify character encodings for proper conversion, which is then done in the application layer.
List of Presentation Layer Services
- Encryption
- Compression
Sublayers
The presentation layer is composed of two sublayers:
- CASE (Common Application Service Element)
- SASE (Specific Application Service Element)
The CASE sublayer provides services for Application layer and request services from Presentation layer. It provides support for common application services, such as:
- ACSE (Association Control Service Element)
- ROSE (Remote Operation Service Element)
- CCR (Commitment Concurrency and Recovery)
- RTSE (Reliable Transfer Service Element)
The SASE sublayer provides application specific services (protocols), such as:
- FTAM (File Transfer, Access and Manager)
- VT (Virtual Terminal)
- MOTIS (Message Oriented Text Interchange Standard)
- CMIP (Common Management Information Protocol)
- JTM (Job Transfer and Manipulation) a former OSI standard
- MMS (Manufacturing Messaging Service)
- RDA (Remote Database Access)
- DTP (Distributed Transaction Processing)
Examples
- AFP, AppleShare File Protocol
- ICA Citrix Systems Core Protocol]
- LPP, Lightweight Presentation Protocol
- NCP, NetWare Core Protocol
- NDR, Network Data Representation
- XDR, eXternal Data Representation
- X.25 PAD, Packet Assembler/Disassembler Protocol