OSI Presentation Layer Concepts
The Presentation layer deals with the syntax, or grammatical rules, needed for communication between two computers. The Presentation layer converts system-specific data from the Application layer into a common, machine-independent format that will support a more standardized design for lower protocol layers.
The Presentation layer also attends to other details of data formatting, such as data encryption and data compression.
![[note.gif]](note.html)
The name “Presentation layer” has caused considerable confusion in the industry because some people mistakenly believe that this layer presents data to the user. However, the name has nothing to do with displaying data. Instead, this function is performed by applications running above the Application layer.
The Presentation layer is so named because it presents a uniform data format to the Application layer. As a matter of fact, this layer is not commonly implemented because applications typically perform most Presentation layer functions.
On the receiving end, the Presentation layer converts the machine-independent data from the network into the format required for the local system. This conversion could include the following:
- Bit-order translation. When binary numbers are transmitted through a network, they are sent one bit at a time. The transmitting computer can start at either end of the number. Some computers start at the most-significant digit (MSD); others start at the least-significant digit (LSD).
- Byte-order translation. Complex values generally must be represented with more than one byte, but different computers use different conventions to determine which byte should be transmitted first. Intel microprocessors, for example, start with the least-significant byte and are called little endian. Motorola microprocessors, on the other hand, start with the most-significant byte and are called big endian. Byte-order translation might be needed to reconcile these differences when transferring data between a PC and a Macintosh.
- Character code translation. Different computers use different binary schemes for representing character sets. For instance: ASCII, the American Standard Code for Information Interchange, is used to represent English characters on all microcomputers and most minicomputers (see Figure 2.8); EBCDIC, the Extended Binary Coded Decimal Interchange Code, is used to represent English characters on IBM mainframes (see Figure 2.9); and Shift-JIS is used to represent Japanese characters.
- File Syntax Translation. File formats differ between computers. For instance, Macintosh files actually consist of two related files called a data fork and a resource fork. PC files, on the other hand, consist of a single file.
![[note.gif]](note.html)
Many vendors are beginning to incorporate Unicode in their products. Unicode, a 16-bit code that can represent 65,536 characters in English and other languages, is organized into code pages devoted to the characters required for a given language. Unicode improves the portability of products between different language environments.
The redirector service (see Chapter 1, “Networking Terms and Concepts”) operates at the OSI Presentation layer.