25.01.2014 Aufrufe

Institut für Kommunikationsnetze und Rechnersysteme - Universität ...

Institut für Kommunikationsnetze und Rechnersysteme - Universität ...

Institut für Kommunikationsnetze und Rechnersysteme - Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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,

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!