Institut für Kommunikationsnetze und Rechnersysteme - Universität ...
Institut für Kommunikationsnetze und Rechnersysteme - Universität ...
Institut für Kommunikationsnetze und Rechnersysteme - Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
– 12 –<br />
einem Datenstrom zusammengefügt, der über eine entsprechende Schnittstelle von der zugehörigen<br />
Anwendung entgegengenommen wird. In beiden Kommunikationsendpunkten sind<br />
dabei jeweils zwei Puffer <strong>für</strong> die zu sendenden Daten sowie <strong>für</strong> die empfangenen Pakete erforderlich,<br />
die – zusammen mit anderen verbindungsspezifischen Informationen – mittels separater<br />
Datenstrukturen <strong>für</strong> jede Verbindung vom Betriebssystem verwaltet werden.<br />
Eine der wichtigsten Funktionen von TCP ist die Gewährleistung einer gesicherten Übertragung.<br />
Dies geschieht einerseits mit Hilfe einer Prüfsumme im PDU-Kopf, die sich sowohl auf<br />
die TCP-Steuerdaten als auch auf die Nutzdaten sowie Teile des IP-Paketkopfes erstreckt. Darüber<br />
hinaus findet eine Reihenfolgesicherung statt, die mit Hilfe von Sequenznummern, Bestätigungen<br />
(acknowledgements) <strong>und</strong> einer senderseitigen Zeitüberwachung realisiert wird.<br />
Bestätigungspakete enthalten jeweils die nächste vom Empfänger erwartete Sequenznummer,<br />
womit gleichzeitig eine Empfangsbestätigung <strong>für</strong> alle kleineren Sequenznummern verb<strong>und</strong>en<br />
ist (kumulative Quittierung). Im Fall einer bidirektionalen Kommunikation können Quittungen<br />
auch zusammen mit Nutzdaten in der Gegenrichtung gesendet werden. Die Zeitüberwachung<br />
sorgt da<strong>für</strong>, dass Segmente spätestens dann wiederholt werden, wenn nach einer gewissen Zeitspanne<br />
noch keine Bestätigung eingetroffen ist. Die Zeitspanne wird dabei mit Hilfe von Messungen<br />
der Umlaufzeit (ro<strong>und</strong> trip time, RTT) zwischen dem Senden von Daten <strong>und</strong> dem Empfang<br />
der entsprechenden Quittung laufend angepasst.<br />
Neben der Reihenfolgesicherung gehört die Flusssteuerung zu den Aufgaben von TCP. Dies<br />
bedeutet zunächst, dass ein Überlaufen des Empfangspuffers (z. B. verursacht durch eine<br />
Anwendung auf der Empfangsseite, die im Puffer anstehende Daten nur mit einer geringen<br />
Rate auslesen <strong>und</strong> verarbeiten kann) verhindert werden muss. Dazu wird ein Fenstermechanismus<br />
(sliding window) eingesetzt, bei dem der Kommunikationspartner zusammen mit den<br />
Bestätigungen die aktuelle Größe des Empfangsfensters (receiver advertised window, RWnd)<br />
mitteilt. Diese gibt die Differenz von Puffergröße <strong>und</strong> der Menge von Daten an, die zwar bestätigt,<br />
aber noch nicht aus dem Empfangspuffer ausgelesen worden sind. Für die gegenüber liegende<br />
Senderseite bedeutet dies, dass das Volumen von gesendeten, aber noch nicht bestätigten<br />
Paketen den zuletzt mitgeteilten Wert des RWnd nicht überschreiten darf, d. h. das Sendefenster<br />
wird durch die Größe des RWnd begrenzt. Zu beachten ist, dass dies im Fall einer großen<br />
RTT auch bei verzögerungsfreiem Auslesen des Empfangspuffers zu einer Begrenzung der<br />
Senderate führen kann.<br />
Die Flusssteuerung verhindert jedoch nicht nur das Überlaufen des Empfangspuffers, sondern<br />
umfasst auch Mechanismen, die auf eine Vermeidung von Überlast im Netz abzielen. Diese<br />
Mechanismen, die auch als Überlaststeuerung (congestion control) bezeichnet werden, sorgen<br />
insbesondere da<strong>für</strong>, dass die Senderate an die momentane Lastsituation im Netz angepasst wird<br />
[5, 107, 142]. Realisiert wird dies dadurch, dass das Sendefenster nicht nur durch die Größe<br />
des RWnd, sondern auch durch den aktuellen Wert des Überlastfensters (congestion window,