Fachkonzept - Transportkontrolle
Ein Protokoll zur Regelung eines zuverlässigen Datentransports
Wir betrachten hier ein an TCP angelehntes Protokoll zur Transportkontrolle bei einem unsicheren Transportmedium. Mit Sender und Empfänger werden im Folgenden jeweils Prozesse bezeichnet.
Wenn kein Datenpaket verloren geht, dann lässt sich der Datentransport wie im folgenden Sequenzdiagramm beschreiben.
Ein Sender verschickt Datenpakete an einen Empfänger. Die Datenpakete sind mit Sequenznummern durchnummeriert.
Wenn der Empfänger ein Datenpaket erhält, dann schickt er eine Bestätigungsdatenpaket (ACK) mit der als nächstes erwarteten Sequenznummer an den Sender zurück. Der Sender schickt anschließend das nächste Datenpaket an den Empfänger.
Wie agieren Sender und Empfänger, wenn ein Datenpaket verloren geht? Der Empfänger kann in einem solchen Fall natürlich kein Bestätigungsdatenpaket an den Sender zurückschicken. Der Sender merkt das, indem er beim Versenden einen Timer startet und nach einer voreingestellten Wartezeit registriert, dass er immer noch keine Bestätigung für das gesendete Datenpaket erhalten hat. Der Sender schickt daraufhin eine Kopie des verlorengegangenen Datenpakets an den Empfänger.
Natürlich kann auch ein Bestätigungsdatenpaket verloren gehen. In diesem Fall erhält der Sender ebenfalls keine Bestätigung und verschickt noch einmal eine Kopie des Datenpakets an den Empfänger. Der Empfänger stellt an der Sequenznummer fest, dass er jetzt ein Duplikat eines Datenpakets erhalten hat. Er ignoriert das Datenpaket und sendet erneut ein Bestätigungsdatenpaket.
Es kann auch der Fall eintreten, dass ein Bestätigungsdatenpaket verzögert beim Sender eintrifft. Auch in diesem Fall wird das Datenpaket erneut verschickt. Der Empfänger erkennt das an der Sequenznummer und ignoriert das Datenpaket. Der Sender ignoriert zudem ein erneut erhaltenes Bestätigungsdatenpaket des Empfängers.