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.