The
presentation layer performs certain functions that are requested sufficiently
often to warrant finding a general solution for them, rather than letting
each user solve the problems. In particular, unlike all the lower layers,
which are just interested in moving bits reliably from here to there, the
presentation layer is concerned with the syntax and semantics of the information
transmitted.
A typical example of a presentation service
is encoding data in a standard, agreed upon way. Most user programs do
not exchange random binary bit strings. They exchange things such as people's
names, dates, amounts of money, and invoices.
These items are represented as character strings,
integers, floating point numbers, and data structures composed of several
simpler items. Different computers have different codes for representing
character strings, integers and so on. In order to make it possible for
computers with different representation to communicate, the data structures
to be exchanged can be defined in an abstract way, along with a standard
encoding to be used "on the wire". The job of managing these abstract data
structures and converting from the representation used inside the computer
to the network standard representation is handled by the presentation layer.
The presentation layer is also concerned with
other aspects of information representation. For example, data compression
can be used here to reduce the number of bits that have to be transmitted
and cryptography is frequently required for privacy and authentication. |