Abschnitt 2.3

2.3  Die Darstellungsschicht

Die Darstellungsschicht (Presentation Layer, Schicht 6) ist für die Darstellung der Daten (Syntax) zuständig. Die Bedeutung der Daten (Semantik) obliegt der Anwendungsschicht. Die Darstellungsschicht soll gewährleisten, daß die Anwendungen miteinander kommunizieren können, ohne sich um die Syntax der Daten kümmern zu müssen. Die Protokolle der Darstellungsschicht müssen daher eine anwendungsspezifische Syntax in eine gemeinsame Syntax umwandeln. Die Darstellungsschicht des Kommunikationspartners muß diese gemeinsame Syntax natürlich ebenfalls unterstützen.

Daraus ergeben sich folgende Funktionen innerhalb der Datendarstellungsschicht:

n Von der Sitzungsschicht muß das Eröffnen einer Sitzung zur Datenübertragung angefordert
      werden.

n Mit dem Kommunikationspartner - mit dessen Darstellungsschicht - muß eine gemeinsame
      Syntax abgestimmt werden.

n Die anwendungsspezifische Syntax muß in die ausgehandelte Syntax umgewandelt
      werden (beim Empfang natürlich auch umgekehrt)

n Nach Beendigung der Datenübertragung muß von der Sitzungsschicht die Beendigung
      einer Sitzung angefordert werden.

Zur Umwandlung zwischen anwendungsspezifischer Syntax und ausgehandelter Syntax wären insbesondere folgende Beispiele zu nennen:

n Umsetzen von Zeichensätzen

    Nicht alle Computer benutzen dieselbe Zeichensätze, um Daten darzustellen. IBM verwendet vorzugsweise den EBCDIC-Zeichensatz, während andere Systeme meist den ASCII-Zeichensatz benutzen. Um dennoch sinnvolle Informationen zwischen Systemen auszutauschen zu können, die unterschiedliche Zeichensätze verwenden, kann man in der Darstellungsschsicht "Übersetzungsprogramme" einsetzen.

n Umsetzen von Datenstrukturen

    Hierfür folgendes als Beispiel:

Bezogen auf die Anordnung von Zahlen im Speicher eines Computers gibt es bei den Prozessorherstellern zwei unterschiedliche Strömungen. Die Intel Prozessoren (z. B. der 80486) ordnen die einzelnen Bytes einer Zahl so an, daß zuerst die niederwertigen und dann die höherwertigen Bytes im Speicher erscheinen. Bei Motorola-Prozessoren (z.  B. beim 68000) ist dies genau umgekehrt. Hier kommen zuerst die höherwertigen, dann die niederwertigen Bytes. Aus einem hexadezimalen Wert 0123H im Intel-Format würde ein Motorola-Prozessor den Wert 2301H konstruieren. Damit auch solche Computer kommunizieren können, muß eine Umsetzung dieser Datenstrukturen erfolgen. Dies ist ebenfalls eine Aufgabe der Darstellungsschicht.

n Umsetzung von Befehlcodes

    Ein Anwendungsprogramm muß mit verschiedenen Druckern in einem Netzwerk  zusammenarbeiten können. Daß diese Drucker völlig unterschiedliche Fabrikate sind, ist die Regel. Die Befehlssätze dieser Drucker sind dann ebenfalls unterschiedlich. Solche  Befehle können z. B. bewirken, daß ein Buchstabe fett gedruckt wird oder daß ein nächstes Blatt eingezogen wird. Es ist also auch hier ein Umsetzen der Befehle erforderlich, um  unterschiedliche Anwendungsprogramme an unterschiedliche Drucker anzupassen  - wieder eine Aufgabe für die Darstellungsschicht.

n Datenkompression

    Manche Anwendungen tauschen große Mengen von Daten untereinander aus, z.B. wenn  es darum geht, Bildinformationen zu übertragen. Diese zum Teil riesigen Datenmengen würden viel Zeit für eine Übertragung in Anspruch nehmen. Gerade bei Bildinformationen findet man aber sehr viel redundante Informationen vor. Dies ist z.B. dann der Fall, wenn bestimmte Bildflächen die gleiche Farbe haben. Alle Bildpunkte in diesen Flächen sind  dann absolut gleich. Statt sämtliche Punkte dieser Fläche aufzulisten, würde es genügen, die Fläche zu beschreiben und den Bildpunkt nur einmal anzugeben. In dieser oder in ähnlicher Weise kann man bei Datenkompressionsverfahren die ursprüngliche Datenmenge erheblich reduzieren. Übertragen werden muß nur diese reduzierte Datenmenge; dies geht dann entsprechend schneller und man kommt mit weniger Übertragungskapazität aus.

n Datenverschlüsselung

    Daten, die ein Netzwerk durchlaufen, können irgendwo auf ihrem Weg "abgehört" werden. Wenn es sich dabei um sicherheitsempfindliche oder geheime Daten Handelt, empfiehlt sich eine Verschlüsselung dieser Daten. Dazu werden die Daten auf der Senderseite nach  nach einem bestimmten Algorithmus und mit Hilfe eines "Schlüssels" in einen "unleserlichen" Datenstrom verwandelt. Dadurch kann derjenige der diese Informationen abhört, nichts mehr mit den Daten anfangen. Auf der Empfängerseite muß dieser Schlüssel natürlich bekannt sein, um den Datenstrom wieder zu entschlüsseln und lesbar zu machen.Diese Funktion kann in der Darstellungsschicht, aber auch in der darunterliegenden Schichten liegen. Wenn die Funktion in der Darstellungsschicht liegt, werden nur die Nutzerdaten verschlüsselt und nicht die zusätzlichen Daten, die in den darunterliegenden Schichten hinzugefügt werden. Diese zusätzliche Daten können aber ebenfalls wichtige Daten enthalten,z.B. die Adresse von Sender und Empfänger. Man könnte dann als Abhörender das Kommunikationsverhalten von Netzteilnehmern ausspionieren. Um auch diese Informationen zu sichern, kann man die Datenverschlüsselung auch in die Sicherungsschicht legen.