02.02.2015 Aufrufe

TCP/UDP und Varianten Seminar ... - Informatik 4

TCP/UDP und Varianten Seminar ... - Informatik 4

TCP/UDP und Varianten Seminar ... - Informatik 4

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

5 Flow- <strong>und</strong> Congestioncontrol in <strong>TCP</strong><br />

<strong>TCP</strong> versucht das Netzwerk optimal auszulasten. Optimal auslasten heisst, nach einem erfolgreichem<br />

Verbindungsaufbau möglichst schnell den Datenfluss auf ein Maximum zu erhöhen, dabei aber nicht<br />

das Netzwerk zu überlasten. Dies geschieht in <strong>TCP</strong> mittels Flow- <strong>und</strong> Congestioncontrol.<br />

Zu Flowcontrol zählt man die Verfahren, die auf der Empfängerseite, zu Congestioncontrol die Verfahren<br />

die auf der Senderseite den Datenfluss beeinflussen. Dazu wird ein Sende- <strong>und</strong> Empfangsfenster<br />

benutzt. Das Empfangsfenster kann als abstrakte Darstellung des tatsächlich unbenutzten Platz im<br />

Puffer des Empfänger betrachtet werden. Daraus kann der Sender ableiten wieviel Daten er maximal<br />

versenden darf.<br />

Es ist nicht gefordert, dass jedes Segment einzeln quittiert wird. Quittungen können auch kumulativ<br />

versandt werden, d.h. das Eintreffen einer Quittung mit Sequenznummer n+1 betstätigt den Empfang<br />

aller Segmente bis zur Sequenznummer n. Es kann kein Verlust von Segmenten mit Sequenznummer<br />

stattgef<strong>und</strong>en haben, denn dann müssen duplizierte Quittungen, die den Empfang der Segmente<br />

bc ,<br />

bis zur Sequenznummer c-1 bestätigen, beim Sender eingehen.<br />

5.1 Sliding Window<br />

Im Sende- <strong>und</strong> Empfangsfenster können Segmente, die noch nicht quittiert wurden, nicht berücksichtigt<br />

werden. Daher hat der Sender sich zu merken, wieviel nicht quitterte Segmente welcher Grösse<br />

er verschickt hat. Daraus ergibt sich die von ihm maximal zu verschickende Datenmenge:<br />

hf(hi\jh(z{h|7h<br />

h(i/z{h<br />

de SU;Sgfh(ij;k;lnmoh d pqsr+St!#u>\vu\;\w2¦ƒ„]<br />

Das Sliding Window [9] gibt die Datenmenge an, die versendet werden kann, ohne dass der Empfängspuffer<br />

überlaufen wird. Es beginnt nach der letzten bestätigten Sequenznummer <strong>und</strong> hat die im Empfangsfenster<br />

angegebene Grösse. Werden Segmente quittiert so verschiebt sich das gesamte Fenster<br />

nach rechts, bis es wieder an der entsprechenden Sequenznummer beginnt. Dieses Fenster ist das<br />

Maximum an Daten, die der Sender verschicken darf. Der Sender muss aus oben genannten Gründen<br />

das Fenster anpassen, in dem er die linke Grenze (letzte Quittung) bis zur letzten verschickten Sequenznummer<br />

nach rechts verschiebt. Das übriggebliebene Fenster gibt das tatsächliche Maximum<br />

an Daten, die versendet werden können, an.<br />

Wenn der Sender das Maximum ausgeschöpft hat <strong>und</strong> der Empfänger seinen Empfangspuffer nicht<br />

rechtzeitig leeren konnte, so hat sich der Empfangspuffer vollständig gefüllt. Dann schickt der Empfänger<br />

eine Quittung für das letzte empfangene Segment, welches seinen Puffer gefüllt hat. Er teilt dem Sender<br />

mit, das sein Empfangsfenster die Grösse 0 erreicht hat. Der Sender hört auf Daten zu verschicken,<br />

da er weiss, dass der Empfangspuffer gefüllt ist. Damit der Sender den Datenversand wieder aufnehmen<br />

kann, muss der Empfänger den Sender über einen geänderten Füllgrad des Empfangspuffers<br />

informieren. Dies geschieht durch das Window Update. Das Window Update ist eine Quittung, die<br />

€‚<br />

15

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!