Aufgabe 5

Aufgabe 5 Aufgabe 5

10.10.2013 Aufrufe

Rechnerkommunikation Aufgabenblatt 5 HTTP-Verzögerungszeiten In dieser Aufgabe soll die Latenz (Zeit zwischen der ersten Anfrage und dem vollständigen Empfang des letzten Objekts, das zur Darstellung der Webseite nötig ist - also vor dem letzten ACK) verschiedener HTTP-Varianten untersucht werden. Nehmen Sie dazu an, dass eine Basis-HTML-Seite und M darin eingebettete Grafik-Dateien übertragen werden sollen. Um den Sachverhalt einfacher zu gestalten, soll angenommen werden, dass alle der M +1 Objekte die Größe O Bits haben. Weiterhin sollen alle auf Folie 156 des Transportschicht-Kapitels getroffenen Annahmen gelten (ein Link zwischen Client und Server mit Round-Trip-Time RT T und Rate R, genügend großer Schwellwert für das Überlastfenster, Segment-Größe L, keine Sendewiederholungen). Alle Berechnungen können manuell durchgeführt werden, bequemer könnte es jedoch sein, ein kleines (Java-)Programm zu diesem Zweck zu schreiben. Aufgabe 5.1: Nichtpersistentes HTTP mit sequentiellen Verbindungen Entwickeln Sie eine Formel für die Latenz, wenn nichtpersistentes HTTP mit sequentiellen Verbindungen verwendet wird. (Tip: Hier muss nur die Latenz für die Übertragung eines Objektes über eine TCP-Verbindung mit der Anzahl der zu übertragenden Objekte multipliziert werden.) Aufgabe 5.2: Nichtpersistentes HTTP mit parallelen Verbindungen Entwickeln Sie eine Formel für die Latenz beim Einsatz von nichtpersistentem HTTP mit parallelen Verbindungen. Das bedeutet, dass nach der Übertragung der Basis-HTML-Datei die referenzierten Bilder mit maximal X parallelen TCP-Verbindungen übertragen werden. Entsprechend muss der Client M X (sequentielle) Bündel von je X parallelen Verbindungen öffnen. Zu Vereinfachung kann M X als ganze Zahl angenommen werden. Zeichnen Sie zuerst ein Diagramm wie auf Folie 159 des Transportschicht-Kapitels, das die ausgetauschten Nachrichten zeigt, um die Zusammenhänge besser verständlich zu machen. Zeigen Sie, dass die Formel der Grundform (M + 1) O M R + 2( X + 1)RT T + Slow − Start − Latenz entspricht. Beachten Sie dabei, dass sich die parallelen Verbindungen die verfügbare Bandbreite teilen. Vervollständigen Sie den letzen Teil der Formel, indem Sie die gleichen Überlegungen anstellen wie bei nichtpersistentem HTTP mit sequentiellen Verbindungen. Aufgabe 5.3: Persistentes HTTP mit Pipelining Entwickeln Sie eine Formel für die Latenz bei persistentem HTTP mit Pipelining. Pipelining bedeutet, dass der Client nach Erhalt der Basis-HTML-Datei alle referenzierten Bilder mit einem Request anfordert. Zeichnen Sie zunächst ein Diagramm der ausgetauschten Nachrichten ähnlich wie auf Folie 159 des Transportschicht-Kapitels. 1

Rechnerkommunikation<br />

<strong>Aufgabe</strong>nblatt 5<br />

HTTP-Verzögerungszeiten<br />

In dieser <strong>Aufgabe</strong> soll die Latenz (Zeit zwischen der ersten Anfrage und dem vollständigen<br />

Empfang des letzten Objekts, das zur Darstellung der Webseite nötig ist - also vor dem letzten<br />

ACK) verschiedener HTTP-Varianten untersucht werden. Nehmen Sie dazu an, dass eine<br />

Basis-HTML-Seite und M darin eingebettete Grafik-Dateien übertragen werden sollen. Um<br />

den Sachverhalt einfacher zu gestalten, soll angenommen werden, dass alle der M +1 Objekte<br />

die Größe O Bits haben. Weiterhin sollen alle auf Folie 156 des Transportschicht-Kapitels<br />

getroffenen Annahmen gelten (ein Link zwischen Client und Server mit Round-Trip-Time<br />

RT T und Rate R, genügend großer Schwellwert für das Überlastfenster, Segment-Größe<br />

L, keine Sendewiederholungen). Alle Berechnungen können manuell durchgeführt werden,<br />

bequemer könnte es jedoch sein, ein kleines (Java-)Programm zu diesem Zweck zu schreiben.<br />

<strong>Aufgabe</strong> 5.1: Nichtpersistentes HTTP mit sequentiellen<br />

Verbindungen<br />

Entwickeln Sie eine Formel für die Latenz, wenn nichtpersistentes HTTP mit sequentiellen<br />

Verbindungen verwendet wird. (Tip: Hier muss nur die Latenz für die Übertragung eines Objektes<br />

über eine TCP-Verbindung mit der Anzahl der zu übertragenden Objekte multipliziert<br />

werden.)<br />

<strong>Aufgabe</strong> 5.2: Nichtpersistentes HTTP mit parallelen Verbindungen<br />

Entwickeln Sie eine Formel für die Latenz beim Einsatz von nichtpersistentem HTTP mit<br />

parallelen Verbindungen. Das bedeutet, dass nach der Übertragung der Basis-HTML-Datei<br />

die referenzierten Bilder mit maximal X parallelen TCP-Verbindungen übertragen werden.<br />

Entsprechend muss der Client M<br />

X (sequentielle) Bündel von je X parallelen Verbindungen öffnen.<br />

Zu Vereinfachung kann M<br />

X als ganze Zahl angenommen werden. Zeichnen Sie zuerst ein<br />

Diagramm wie auf Folie 159 des Transportschicht-Kapitels, das die ausgetauschten Nachrichten<br />

zeigt, um die Zusammenhänge besser verständlich zu machen. Zeigen Sie, dass die Formel<br />

der Grundform (M + 1) O M<br />

R + 2( X + 1)RT T + Slow − Start − Latenz entspricht. Beachten Sie<br />

dabei, dass sich die parallelen Verbindungen die verfügbare Bandbreite teilen. Vervollständigen<br />

Sie den letzen Teil der Formel, indem Sie die gleichen Überlegungen anstellen wie bei<br />

nichtpersistentem HTTP mit sequentiellen Verbindungen.<br />

<strong>Aufgabe</strong> 5.3: Persistentes HTTP mit Pipelining<br />

Entwickeln Sie eine Formel für die Latenz bei persistentem HTTP mit Pipelining. Pipelining<br />

bedeutet, dass der Client nach Erhalt der Basis-HTML-Datei alle referenzierten Bilder mit einem<br />

Request anfordert. Zeichnen Sie zunächst ein Diagramm der ausgetauschten Nachrichten<br />

ähnlich wie auf Folie 159 des Transportschicht-Kapitels.<br />

1


Entwickeln Sie eine Näherungsformel, bei der die Tatsache vernachlässigt wird, dass der<br />

Server auf das Eintreffen des Requests für die referenzierten Grafiken warten muss. (Tip: Die<br />

Formel muss der Form (M + 1) O<br />

R + 2RT T + Slow − Start − Latenz genügen.)<br />

Die tatsächliche Latenz ist etwas größer als die Näherung. Dies ist dadurch bedingt, dass<br />

der Server auf eine Anforderung der Bilder warten muss, bevor sie versendet werden können.<br />

Nehmen Sie an, dass das letzte Übertragungsfenster der Basis-HTML-Datei komplett mit<br />

Segmenten gefüllt ist (d.h. das K-te Fenster enthält 2K−1 Segmente). Die Wartezeit zwischen<br />

dem K-ten und dem (K + 1)-ten Fenster beträgt dann nicht max L<br />

R + RT T − 2K−1 ( L<br />

R ), 0 ,<br />

sondern ist RT T . Entwickeln Sie die auf Basis dieser Beobachtung die korrekte Formel.<br />

<strong>Aufgabe</strong> 5.4: Vergleich der drei Varianten<br />

Zeichnen Sie Kurven für die reine Übertragungszeit O<br />

R und die Latenzen nach den drei Szenarien<br />

aus 4.1, 4.2 und 4.3. Nehmen Sie dazu eine Objektgröße von 5kBytes, M = 10,<br />

L = 536Bytes und X = 10 an. Betrachten Sie die Bitraten 28kbps, 100kbps, 1Mbps, und<br />

10Mbps. Zeichnen Sie zwei Diagramme, eines für RT T = 100ms und eines für RT T = 1s.<br />

Kommentieren Sie die Unterschiede der Latenzen: Wann sind sie deutlich und wann nicht?<br />

<strong>Aufgabe</strong> 5.5: Fragen zu den HTTP-Varianten<br />

Welche der folgenden Aussagen sind richtig?<br />

1. Wenn eine Webseite aus genau einem Objekt besteht, dann entsteht durch nichtpersistentes<br />

und persistentes HTTP genau die gleiche Antwortzeit.<br />

2. Betrachten Sie die Übertragung eines Objekts der Größe O von einem Server zum<br />

Browser über TCP. Wenn O > L, wobei L die maximale Segmentgröße ist, muss der<br />

Server mindestens einmal warten.<br />

3. Nehmen Sie an, eine Webseite bestünde aus zehn Objekten mit jeweils der Größe O<br />

Bits. Für persistentes HTTP ist der RT T -Anteil an der Antwortzeit 20RT T .<br />

4. Nehmen Sie an, eine Webseite bestünde aus zehn Objekten mit jeweils der Größe O<br />

Bits. Für nichtpersistentes HTTP mit 5 parallelen Verbindungen ist der RT T -Anteil<br />

an der Antwortzeit 12RT T .<br />

2

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!