Abschnitt 2.5

2.5  Die Transportschicht

Die Transportschicht ( Transport Layer, Schicht 4) ist die Verbindungsschicht zwischen den kommunikationsorientierten Schichten und den anwendungsorientierten Schichten. Die Transportschicht soll für den Nutzer ( meist der Sitzungsschicht ) eine effiziente, zuverlässige und preiswerte Verbindung zwischen den Endsystemen bereitstellen. Die Transportschicht hat die Ende-zu-Ende-Kontrolle über die gesamte Verbindung. Zum Aufbau dieser Verbindung benutzt sie wiederum die Dienste, die von der darunterliegenden Vermittlungsschicht zur Verfügung stehen. Je nach Netzwerk können diese Dienste unterschiedlich sein, die Transportschicht muß diese Unterschiede ausgleichen, sie dürfen oberhalb der Transportschicht nicht sichtbar sein.

Man geht davon aus, daß es prinzipiell drei Typen von Netzwerken gibt, die der Transportschicht zur Verfügung stehen können:

 

  • Typ A
    Das Netzwerk stellt einen fehlerfreien Dienst zur Verfügung ohne N-RESETs. N-RESET ist eine Meldung vom Netzwerk, daß ein Rücksetzen im Netzwerk stattgefunden hat, wobei möglicherweise Daten verlorengegangen sind. N-RESETs sind in Typ A-Schichten so selten, das man sie ignorieren kann.
     
  • Typ B
    Das Netzwerk liefert Datenpakete ab, die in sich fehlerfrei sind. Es können aber Daten bei RESET des Netzes verlorengehen, was aber mittels N-RESET gemeldet wird.
     
  • Typ C
    Ein unzuverlässiges Netzwerk, bei dem Datenpakete verlorengehen oder doppelt ankommen können
     

Für diese verschiedenen Netzwerktypen hat man auch verschiedene Transportprotokollklassen entwickelt. Diese Protokollklassen müssen u. a. die Fehler ausgleichen, die eventuell durch das verwendete Netz entstehen können. Folgende Protokollklassen gib es:

Protokollklasse

Netzwerktyp

Funktion

0

A

Das Protokoll baut Verbindungen auf und geht davon aus, daß kein Fehler beim Datentransport auftreten

1

B

Wie Protokollklasse 0, es werden aber N-RESET-Meldungen ausgewertet.

2

A

Wie Protokollklasse 0, hier ist es aber möglich, mehrere Verbindungen über dieselbe Netzwerkverbindung zu realisieren (Multiplex)

3

B

Eine Kombination aus Klasse 1 und 2.

4

C

Dieses Protokoll geht davon aus, daß alle möglichen Fehler auftreten können. Dies können N-RESET-Meldungen sein, verlorene Datenpakete oder doppelte Datenpakete. Auch das Vertauschen von Datenpaketen darf diesem Protokoll keine Probleme machen.

Die Transportschicht hat grundsätzlich die Möglichkeit, mit der darunterliegenden Netzschicht eine bestimmte Qualität für die Verbindung auszuhandeln, die sogenannten Quality Of Service (QOS). Einige Aspekte dieser QOS sind:

  • die Verbindungsaufbauzeit,
     
  • die Fehlermöglichkeit beim Aufbau der Verbindung,
     
  • Durchsatz,
     
  • die Übertragungsverzögerung,
     
  • die Wahrscheinlichkeit für Übertragungsfehler und
     
  • die Möglichkeit zur Wiederherstellung der Verbindung bei Netzausfällen.
     

Derjenige, der eine Transportverbindung anfordert (z.B. ein Prozeß innerhalb der Sitzungsschicht), muß dabei einen QOS-Parameter angeben. Kann die Transportschicht keine Verbindung mit dieser geforderten Qualität zur Verfügung stellen, wird diese Verbindung auch nicht zustande kommen.

Die wichtigsten Funktionen der Transportschicht sind im folgenden aufgelistet:

  • Auf- und Abbau von Transportverbindungen
     
  • Ende-zu-Ende-Multiplexen
     
  • Ende-zu-Ende-Splitten
     
  • Ende-zuEnde-Flußkontrolle (englisch: Flow Control)
     
  • Ende-zu-Ende-Sequenzkontrolle
     
  • Segmentierung, Blockbildung und Verkettung
     
  • Bevorzugte Übertragung von Daten
     
  • Fehlerkorrektur

    Beim Auftreten von Störungen im Netz kann die Transportschicht bis zu einem gewissen Grad Fehler korrigieren, ohne daß die darüberliegende Sitzungsschicht davon etwas merkt.
     

Einige dieser Funktionen bedürfen noch einer näheren Erläuterung.

Ende-zu-Ende-Multiplexen

Unter Multiplex versteht man die Funktion einer Schicht, mehrere Verbindungen dieser Schicht über eine   Verbindung der darunter liegenden Schicht zu realisieren. Bezogen auf die Transportschicht bedeutet dies, für mehrere Transportverbindungen nur eine Netzwerkverbindung (Vermittlungsschicht) zu nutzen. Dies kann sinnvoll sein, wenn das Netz eine sehr schnelle Verbindung zur Verfügung stellt, die Transportverbindungen aber nur langsame Geschwindigkeiten erfordern. Das Multiplexen ermöglicht dann eine bessere Nutzung der Netzwerkverbindung.

Der Vorsatz Ende-zu-Ende bezieht sich auf die Transportschicht, bei der eine Ende-zu-Ende-Beziehung zwischen den Kommunikationsanwendungen existiert. Auch die darunter liegende Schichten haben ebenfalls Funktionen zum Multiplexen. Hier ist aber nicht unbedingt eine Ende-zu-Ende-Beziehung vorhanden.

Ende-zu-Ende-Splitten

Unter Splitten versteht man die Funktion einer Schicht, eine Verbindung dieser Schicht über mehrere Verbindungen der darunter liegenden Schicht zu realisieren. Bezogen auf die Transportschicht bedeutet dies, für eine Transportverbindung mehrere Netzwerkverbindungen zu benutzen. Das kann erforderlich sein, wenn die Transportverbindung eigentlich eine leistungsfähige Netzwerkverbindung voraussetzt. Ist dies nicht möglich, kann durch Splitten der Transportverbindung auf mehrere langsamere Netzwerkverbindungen insgesamt eine ausreichende Leistung erzieht werden.

Ende-zu-Ende-Flußkontrolle

Eine Flußkontrolle ist dann erforderlich, wenn die Gefahr besteht, daß der Sender seine Daten schneller aussendet, als der Empfänger in der Lage ist diese Daten entgegenzunehmen. Die Flußkontrolle dient dazu, diesen "Datenfluß" so auszuregeln, das kein Überlauf auf der Empfangsseite vorkommen kann.

Ende-zu-Ende-Sequenzkontrolle

In einem Netzwerk besteht grundsätzlich die Gefahr, das Datenblöcke unterschiedliche Wege laufen und dadurch möglicherweise in ihrer Reihenfolge vertauscht werden. D. h. die korrekte Sequenz (Reihenfolge) ist nicht mehr gewährleitet. Die Funktion Sequenzkontrolle ermöglicht das Überwachen und eventuell auch das Wiederherstellen der korrekten Reihenfolge. Dies kann z.B. durch eine Nummerierung der Datenblöcke geschehen.

Segmentierung, Blockbildung und Verkettung

Zunächst müssen wir hier auf die Begriffe über die Übergabe von Daten zwischen den Schichten kurz eingehen.

Wenn man eine OSI-Schicht allgemein bezeichnen will, so ist die Bezugsschicht die (N)-Schicht. Die darüber liegende Schicht ist die (N+1)-Schicht, die darunter liegende Schicht ist die (N-1)-Schicht. Bezogen auf die Transportschicht ist die Sitzungsschicht die (N+1)-Schicht und die Vermittlungsschicht die (N-1)-Schicht.

Will eine (n)-Schicht Daten, die ihr von der (N+1)-Schicht zur Übertragung übergeben wurde, an die (N-1)-Schicht weiterleiten, so wird sie diese Daten zunächst mit einer Zusatzinformation ergänzen und erst dann an die (N-1)-Schicht übergeben.

Aus Sicht der (N)-Schicht werden die Daten von der (N+1)-Schicht als Service Data Unit (SDU) bezeichnet. Die Zusatzinformation nennt man Protocol Control Information (PCI). Diese wird im allgemeinen der SDU vorgestellt. Beide zusammen bilden eine sogenannte Protocol Data Unit (PDU). Letztere wird an die (N-1)-Schicht weitergeleitet.

Aus Sicht der (N-1)-Schicht ist die PDU der (n)-Schicht eine SDU, d.h. man kann das eben Gesagte auch für diese Schicht wiederholen.

Werden z. B. der Transportschicht von der Sitzungsschicht Datenblöcke zur Übertragung an die Gegenstelle übergeben, so kann der Fall eintreten, daß die Datenblöcke zu groß sind. Der Grund kann sein, daß die Netzwerkschicht nur kleine Blöcke transpotieren kann. Dann muß die Transportschicht durch eine Segmentierung diese Datenblöcke in kleinere Blöcke aufteilen und an die Vermittlungsschicht übergeben. Ein (N)-SDU wird also blockweise in mehreren (N)-PDU untergebracht.

Umgekehrt kann es vorkommen, daß viele Blöcke einer (N+1)-Schicht in einen großen Block einer (N-1)-Schicht untergebracht werden sollen. Dann stehen zwei Mechanismen zur Verfügung.

Bei der Blockbildung werden mehrere (N)-SDU in einer (N)-PDU untergebracht und als eine komplette (N)-PDU an die (N-1)-Schicht übergeben.

Bei der Verkettung hingegen werden mehrere (N)-PDU aneinandergehängt und direkt als Gesamtblock der (N-1)-Schicht übergeben. Aus Sicht der (N-1)-Schicht ist dieser Gesamtblock eine (N-1)-SDU.

Nicht jede Protokollklasse muß sämtliche Funktionen der Transportschicht unterstützen. Steht ein Netz hoher Qualität zur Verfügung (Typ A), so sind z.B. die Mechanismen zur Flußkontrolle und zur Sequenzkontrolle nicht erforderlich. Diese Mechanismen werden dann durch die unterliegenden Schichten bereitgestellt. Es genügt die Protokollklasse 0.

Bei einem qualitativ niederwertigen Netz (Typ C) müssen hingegen sämtliche Funktionen der Transportschicht angewendet werden (Protokollklasse 4).

Zusammenfassend kann man sagen, daß die Transportschicht die Grenze zwischen den anwendungsorientierten Schichten und den kommunikationsorientierten Schichten darstellt, und mit ihren Funktionen den Anwendungen eine Ende-zu-Ende´-Transportverbindung bereitstellt.