Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester 2005 09.05.2005 5. Vorlesung Christian.

Ähnliche Präsentationen


Präsentation zum Thema: "HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester 2005 09.05.2005 5. Vorlesung Christian."—  Präsentation transkript:

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester Vorlesung Christian Schindelhauer

2 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 2 Heute Überblick Das Internet: Einführung und Überblick Mathematische Grundlagen IP: Routing im Internet TCP: Das Transport-Protokoll des Internets –Fenster und Congestion-Fenster –TCP Tahoe, TCPReno –Das Lastbalancierungsspiel –AIMD: Lösung des Lastbalancierungsspiel –TCP Vegas Die Struktur des World Wide Web und des Internets Suche im Web Web-Caching im Internet Peer-to-peer-Netzwerke Angriffe auf das Internet

3 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer TCP ist.. … ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme Verbindungsorientiert –Zwei Parteien identifiziert durch Socketpaar: IP-Adresse und Port –Kein Broadcast oder Multicast –Verbindungsaufbau und Ende notwendig, d.h. Verbindung aktiv, bis (ordentlich) beendet Zuverlässig –Jedes Datenpaket wird bestätigt (acknowledgment) –Erneutes Senden von unbestätigten Datenpakete –Checksum für TCP-Header und Daten –TCP nummeriert Pakete und sortiert beim Empfänger Bidirektionale Byteströme –Zwei gegenläufige Datenströme aus einzelnen Bytes –Möglichst zeitnahe Auslieferung jedes einzelnen Datenbytes, aber Zeitverhalten der Datenfolgen kann verändert werden –Versucht Übertragungsmedium effizient und fair zu nutzen durch Anpassung der Datenrate

4 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 4 Stauvermeidung in TCP Tahoe (congestion avoidance) Jacobson 88: –Parameter: cwnd und Slow-Start-Schwellwert (ssthresh=slow start threshold) –S = Datensegmentgröße = maximale Segmentgröße Verbindungsaufbau: cwnd S ssthresh Bei Paketverlust, d.h. Bestätigungsdauer > RTO, –multiplicatively decreasing cwnd Sssthresh Werden Segmente bestätigt und cwnd ssthresh, dann –slow start: cwnd cwnd + S Werden Segmente bestätigt und cwnd > ssthresh, dann additively increasing cwnd cwnd + x 1 x x +1 y max y x/2 x 1 x 2 x, bis x = y x: Anzahl Pakete pro RTT

5 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 5 TCP Tahoe

6 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 6 Fast Retransmit und Fast Recovery TCP Tahoe [Jacobson 1988]: –Geht nur ein Paket verloren, dann Wiederversand Paket + Restfenster Und gleichzeitig Slow Start –Fast retransmit Nach drei Bestätigungen desselben Pakets (triple duplicate ACK), sende Paket nochmal, starte mit Slow Start TCP Reno [Stevens 1994] –Nach Fast retransmit: ssthresh min(wnd,cwnd)/2 cwnd ssthresh + 3 S –Fast recovery nach Fast retransmit Erhöhe Paketrate mit jeder weiteren Bestätigung cwnd cwnd + S –Congestion avoidance: Trifft Bestätigung von P+x ein: cwnd ssthresh x y + 3 y x/2

7 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 7 Stauvermeidungsprinzip: AIMD Kombination von TCP und Fast Recovery verhält sich im wesentlichen wie folgt: Verbindungsaufbau: Bei Paketverlust, MD:multiplicative decreasing Werden Segmente bestätigt, AD: additive increasing x 1 x x +1 x x/2

8 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 8 Beispiel: TCP Reno in Aktion Slow Start Additively Increase Fast Recovery Fast Retransmit Multiplicatively Decrease

9 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 9 Durchsatz und Antwortzeit Klippe: –Hohe Last –Geringer Durchsatz –Praktisch alle Daten gehen verloren Knie: –Hohe Last –Hoher Durchsatz –Einzelne Daten gehen verloren

10 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 10 Ein einfaches Datenratenmodell n Teilnehmer, Rundenmodell –Teilnehmer i hat Datenrate x i (t) –Anfangsdatenrate x 1 (0), …, x n (0) gegeben Feedback nach Runde t: –y(t) = 0, falls –y(t) = 1, falls –wobei K ist Knielast Jeder Teilnehmer aktualisiert in Runde t+1: –x i (t+1) = f(x i (t),y(t)) –Increase-Strategie f 0 (x) = f(x,0) –Decrease-Strategief 1 (x) = f(x,1) Wir betrachten lineare Funktionen:

11 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 11 Lineare Datenratenanpassung Interessante Spezialfälle: –AIAD: Additive Increase Additive Decrease –MIMD: Multiplicative Increase/Multiplicative Decrease –AIMD: Additive Increase Multiplicative Decrease

12 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 12 Fairness und Effizienz Effizienz –Last: –Maß Fairness: Für x=(x 1, …, x n ): –1/n F(x) 1 –F(x) = 1 absolute Fairness, d.h. x i = x j, für alle i,j –Skalierungsunabhängig –Kontinuierlich, stetig, differenzierbar –Falls k von n fair, Rest 0, dann F(x) = k/n

13 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 13 Konvergenz Konvergenz unmöglich Bestenfalls Oszillation um Optimalwert –Oszillations-amplitude A –Einschwingzeit T

14 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Vektordarstellung (I)

15 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Vektordarstellung (II)

16 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 16 AIAD Additive Increase –Falls x 1 + x 2 K x 1 x 1 + a I x 2 x 2 + a I Additive Decrease –Falls x 1 + x 2 > K x 1 x 1 + a D x 2 x 2 + a D –a I > 0 –a D < 0

17 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 17 MIMD Multiplicative Increase –Falls x 1 + x 2 K x 1 x 1 b I x 2 x 2 b I Multiplicative Decrease –Falls x 1 + x 2 > K x 1 x 1 b D x 2 x 2 b D –b I > 1 –0 < b D < 1

18 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 18 AIMD Additive Increase –Falls x 1 + x 2 K x 1 x 1 + a I x 2 x 2 + a I Multiplicative Decrease –Falls x 1 + x 2 > K x 1 x 1 b D x 2 x 2 b D –a I > 0 –0 < b D < 1

19 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Faire und Effiziente Lineare Datenratenanpassung

20 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Effiziente lineare Funktionen X(t) > K –a D 0 b D 1 –a D > 0 b D < 0 nicht möglich X(t) < K –a I 0 b I 1 –a I < 0 nicht möglich

21 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 21 Fairness von x(t) = (x1(0), …, xn(0)) konvergiert gegen 1, d.h. für Es gilt für c=a/b: Beweis? Fairness (I)

22 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 22 Beweis! (1) Es gilt: Substitution Dann ist: und

23 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweis! (2) Zu zeigen: Warum gilt diese Gleichung?

24 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweis! (3) Warum gilt diese Gleichung? wobei

25 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Es gilt: D.h. Fairness nimmt mit c=a/b zu. –Für c=0 ist F(x(t+1))= F(x(t)) –Für c>0 ist F(x(t+1))> F(x(t)), falls F(x(t)) 1 –Für c<0 ist F(x(t+1))< F(x(t)) Daher a I /b I 0 und a D /b D 0 –Also, a I,b I,a D,b D 0 Aus Effizienz: –a D 0 b D 1, heißt also a D = 0 b D 1, –a I 0 b I 1, es muß a I > 0, da sonst Fairness nicht zunimmt (siehe MIMD) Führt zu AIMD Fairness (II)

26 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 26 Durchsatzoptimierung in der Transportschicht Hauptproblem von TCP: Durchsatzoptimierung durch Stauvermeidung –Jacobson: min. 99% aller verlorenen Pakete durch IP wegen Datenüberlaufs (congestion) an Routern –Feedback in der Transportschicht nur durch Ackn.-Pakete: Wird ein Paket nicht bestätigt, war der gewählte Datendurchsatz zu hoch TCP verringert Datendurchsatz Werden alle Pakete bestätigt, war der Datendurchsatz genau richtig oder zu niedrig TCP erhöht Datendurchsatz

27 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Modell Rundenmodell –In Runde t steht Bandweite ut zur Verfügung –Algorithmus fordert in Runde Bandweite x t an –Feedback zu Beginn von Runde t+1: Ist x t > u t ? (d.h. sind Pakete verloren gegangen) –Algorithmus erfährt nie die wirklich verfügbaren Bandweiten Runde Internet Host B t Bandweite läßt maximal u t Pakete durch Host A sendet x t+1 Pakete schickt Bestätigung (Ack.) erhält Ack. und berechnet x t+1 t+1 sendet x t Pakete erhält min(x t+1,u t+1 ) Pakete Bandweite läßt maximal u t+1 Pakete durch erhält min(x t,u t ) Pakete

28 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 28 Der statische Fall –die verfügbare Bandweite bleibt konstant Der dynamische Fall –die verfügbare Bandweite ändert sich Durchsatzoptimierung in der Transportschicht

29 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 29 Kosten Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000 Prinzip: –x t > u t : Datenrate ist größer als verfügbare Bandweite Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen –x t < u t : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt Opportunitätskosten

30 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 30 Milde Kosten Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000 Prinzip: –x t > u t : Datenrate ist größer als verfügbare Bandweite Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen –x t < u t : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt Opportunitätskosten

31 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 31 Strenge Kosten Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000 Prinzip: –x t > u t : Datenrate ist größer als verfügbare Bandweite Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen –x t < u t : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt Opportunitätskosten

32 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 32 Bandweite ist fest: –u 1 = u 2 = … = u Start mit Intervall –[1..n] = {1,2,3,…n} Sinnvoller (rekursiver) Suchalgorithmus A(i,j) auf Intervall [i..j]: –Falls i=j dann ist u=x. –Ansonsten x = A(i,j) mit x [i+1..j] Falls x u: Suche in [x,j] Falls x>u: Suche in [i,x-1] Der statische Fall

33 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 33 Komplexitätsmaß C c,A (i,j,u): Kosten, die Algorithmus A bei Suche nach u mit Kostenfunktion c(x,u) entstehen worst-case: average-case: wobei:

34 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 34 Wahl von x: Milde Kosten bei Binärer Suche

35 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 35 Wahl von x: Strenge Kosten bei Binärer Suche

36 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 36 Wahl von x: Strenge worst-case Kosten: Strenge average-case Kosten: Milde worst-case Kosten: Milde average-case Kosten: Binäre Suche

37 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 37 Wird als Grundbaustein von TCP eingesetzt Wahl von x: AIMD (Additively Increasing – Mulitiplicatively Decreasing)

38 Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 38 Wird als Grundbaustein von TCP eingesetzt Wahl von x: Strenge worst-case Kosten: Strenge average-case Kosten: Milde worst-case Kosten: Milde average-case Kosten: AIMD (Additively Increasing – Mulitiplicatively Decreasing)

39 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 39 Vielen Dank! Ende der 5. Vorlesung Nächste Vorlesung: Mo Nächste Übung: Mo Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee Paderborn Tel.: / Fax: /


Herunterladen ppt "HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester 2005 09.05.2005 5. Vorlesung Christian."

Ähnliche Präsentationen


Google-Anzeigen