Rechnernetze
Home Nach oben

Anforderungen an Transportprotokolle

Transportprotokolle sind nach dem ISO-OSI-Basisreferenzmodell auf der vierten Schicht angeordnet. Die Internet-Protokoll-Suite siedelt sie ebenfalls oberhalb der Vermittlungsschicht an. An Transportprotokolle lassen sich verschiedene Anforderungen stellen, die im folgenden aufgelistet und erläutert werden.

1

Erweiterung der Endsystemverbindungen zu sicheren Teilnehmerverbindungen

Ein Transportprotokoll soll die Dienste der Vermittlungsschicht verwenden, um unabhängig von anderen Prozessen, die evtl. auf dem gleichen Rechner laufen, eine Übermittlung zwischen zwei Prozessen auf verschiedenen (oder auch dem gleichen) Rechner durchzuführen. Die Anwendungsprozesse sehen durch die Transportschicht jeweils eine eigene Verbindung zu einem anderen Anwendungsprozess.

2

Multiplexen von Prozessverbindungen über die gleiche Endsystemverbindung

Um die Vermittlungsschicht zu entlasten, sollten gegebenenfalls Verbindung zwischen den gleichen Endsystemen über die gleiche Endsystemverbindung geführt werden. Dieses wird als Multiplexen bezeichnet. Beispielsweise ist bei der Verwendung öffentlicher Datenverbindung wie ISDN solch eine Möglichkeit die einzig mögliche, um mehrere Verbindungen gleichzeitig zu betreiben.

3

Kontrollierte Datenversendung

Ein Sender kann dem Empfänger mitteilen, dass gewisse Daten zeitliche Priorität über andere haben und innerhalb einer gewissen Zeit bearbeitet werden müssen. (z.B. der URGENT-Mechanismus in TCP)

Darüber hinaus kontrolliert der Sender den Zeitpunkt, zu dem Daten abgesendet werden. Als Kriterien können  beispielsweise verwendet werden
periodische zeitgesteuerte Übertragung, 
Füllung von Puffern, 
bestimmte Zeichen in der Datenfolge (<crlf>)

(z.B. der PUSH-Mechanismus in TCP)

4

Wahlweise Strom- oder Blockdatenübertragung

Eine stromorientierte Übertragung stellt dem Anwendungsprozess einen unendlichen Datenstrom ohne innere Struktur zur Verfügung, in dem beliebig viele Daten übertragen werden können. Häufig ist bei einer Übertragung jedoch die Länge der Datenblöcke bekannt, so dass das Transportprotokoll die Segmentierung der Daten effektiv unterstützen könnte. Ein Segment der Länge unendlich würde dann einem unstrukturierten Strom von Daten entsprechen.

5

Die Übertragung großer Datenblöcke durch Kontrollpunkte sichern 

Werden sehr große Datenblöcke übertragen, so sollten diese in Abschnitte eingeteilt werden können, um beim Abbruch der Verbindung die Übertragung an solchen Kontrollpunkten wieder aufzunehmen.

6

Effizienter Verbindungsaufbau mit möglichst geringem Overhead

Beim Aufbau einer Verbindung sollten möglichst wenig Daten übertragen werden, um den Overhead gering zu halten. Im Falle kurzer Verbindungen sollte der Overhead sogar möglichst null sein.

7

Effiziente, adaptierbare Sicherungsverfahren für unverfälschte Datenübertragung

Werden Verbindungen durch ein ARQ-Verfahren gesichert, so sollte Sicherungsinformation wie Quittungen (ACK) und Zurückweisungen (REJ) möglichst mit gesendeten Daten übertragen werden. Außerdem sollten Fenstergrößen optimal gewählt werden.

8

Automatische Fehlererholung

Treten Fehler bei der Übertragung auf, so sollten diese automatisch korrigiert werden, z.B. durch ein ARQ-Verfahren. Ist eine Fehlererholung nicht möglich, so ist dieses dem Anwendungsprozess zu melden.

9

Effiziente Realisierung spezieller Diensttypen wie

  1. Einzelne Nachricht gesichert an einen anderen Prozess senden (Alarm, Notification).
  2. Einzelne Nachricht gesichert an mehrere andere Prozesse senden (Broadcast bzw. Multicast).
  3. Transaktionsunterstützung (nur Anfrage mit Antwort, z.B. Datenbanken oder HTTP).

Wenn für derartige Dienste jeweils Verbindung auf- und später wieder abgebaut werden müssen, so ist dieses für einen Anwendungsprozess sehr umständlich zu handhaben und bei komplexem Verbindungsaufbau ebenfalls sehr ineffizient. Ein Anwendungsprozess sollte in solchen Fällen die jeweiligen Daten der Transportschicht zur Verfügung stellen und diese erledigt dann den Rest der Arbeit, indem sie

  1. Die Nachricht gesichert an den Empfänger sendet und nur bei einem Fehler den Anwendungsprozess informiert.
  2. Die Nachricht an einen Router sendet, der sie gegebenenfalls kopiert und an die verschiedenen Zielrechner weiterleitet. Dadurch soll das Übertragen von Kopien so weit es geht vermieden werden.
  3. Wird eine Verbindung nach der Übertragung wieder abgebaut, so kann dieses u.U. effizienter durchgeführt werden, wenn die Transportschicht die Verbindung nur in dem unbedingt notwendigen Umfang aufbaut bzw. eine verbindungslose Kommunikation durchführt.
10

Sicherung gegen Mithören

Die Transportschicht sollte wahlweise geeignete Verschlüsselungsverfahren anbieten und effizient durchführen.

11

Sicherung gegen absichtliche Verfälschung

Daten sollten nicht absichtlich verfälscht werden können, ohne dass der Empfänger dieses bemerkt. Entsprechende Dienste sollten unterstützt bzw. von der Transportschicht angeboten werden.

12

Anpassbare Blocklängen im Vermittlungsdienst

Ist die Blocklänge zu groß, so kann die Fehlerwahrscheinlichkeit unerträglich groß werden, ist sie zu klein, so ist der Overhead bei zu kleinen Blocklängen zu groß. Die Transportschicht sollte dieses automatisch anpassen, abhängig von der Fehlerwahrscheinlichkeit der Übertragungswege bzw. der Endsystemverbindung.

13

Anpassbare Fehlererkennungswahrscheinlichkeit

Um die Daten gegen unbeabsichtigte Fehler zu schützen werden Fehlererkennungsverfahren verwendet. Deren Sicherheit hängt vom Umfang der Prüfinformation ab, die beim CRC-Verfahren meist zwischen 8 und 32 Bits beträgt. Abhängig von der gewünschten Sicherheit sollte der Anwendungsprozess die Fehlererkennungswahrscheinlichkeit und auch das Verfahren (Prüfsumme, CRC usw.) einstellen können.

Können Fehler für gewisse Dienste toleriert werden (z.B. Sprachübertragung), so kann die Erkennung von Datenfehlern auch ganz ausgeschaltet werden; je nach Anwendung müssten lediglich verlorene Blöcke erkannt und entsprechend neu angefordert werden.

14

Managebarkeit

Die Transportprotokolle sollten über SNMP und gegebenenfalls andere Netzwerkmanagement-Protokolle administriert werden können.

15

Mehrpunktverbindung

Daten sollten zwischen mehreren Teilnehmern gleichzeitig übermittelt und an alle anderen Teilnehmer verschickt werden.

Heutige Transportprotokolle bieten meist nur einen kleinen Teil dieser Dienste an. Einige dieser Erweiterungen sind bereits vorgeschlagen bzw. erforscht worden, z.B. T/TCP oder gesicherte Datenübertragung mit SSL oder TLS. Andere Anforderungen bedürfen noch weiterer Untersuchungen.