heinz nixdorf institut universität paderborn algorithmen und komplexität algorithmen des internets...
TRANSCRIPT
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Algorithmen desInternets
Sommersemester 200509.05.2005
5. Vorlesung
Christian [email protected]
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian SchindelhauerTCP 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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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 ← 65535
•Bei Paketverlust, d.h. Bestätigungsdauer > RTO,
– multiplicatively decreasingcwnd ← S ssthresh ←
•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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
5
TCP Tahoe
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
8
Beispiel: TCP Reno in Aktion
Slow Start
Additively Increase
Fast RecoveryFast Retransmit
Multiplicatively Decrease
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
9
Durchsatz und Antwortzeit
•Klippe:
– Hohe Last
– Geringer Durchsatz
– Praktisch alle Daten gehen verloren
•Knie:
– Hohe Last
– Hoher Durchsatz
– Einzelne Daten gehen verloren
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
10
Ein einfaches Datenratenmodell
•n Teilnehmer, Rundenmodell
– Teilnehmer i hat Datenrate xi(t)
– Anfangsdatenrate x1(0), …, xn(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:
– xi(t+1) = f(xi(t),y(t))
– Increase-Strategie f0(x) = f(x,0)
– Decrease-Strategie f1(x) = f(x,1)
•Wir betrachten lineare Funktionen:
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
11
Lineare Datenratenanpassung
•Interessante Spezialfälle:
– AIAD: Additive IncreaseAdditive Decrease
– MIMD: Multiplicative Increase/Multiplicative Decrease
– AIMD: Additive IncreaseMultiplicative Decrease
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
12
Fairness und Effizienz
•Effizienz
– Last:
– Maß
•Fairness: Für x=(x1, …, xn):
– 1/n ≤ F(x) ≤ 1
– F(x) = 1 ↔ absolute Fairness, d.h. xi = xj, für alle i,j
– Skalierungsunabhängig
– Kontinuierlich, stetig, differenzierbar
– Falls k von n fair, Rest 0, dann F(x) = k/n
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
13
Konvergenz
•Konvergenz unmöglich
•Bestenfalls Oszillation um Optimalwert
– Oszillations-amplitude A
– Einschwingzeit T
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Vektordarstellung (I)
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Vektordarstellung (II)
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
16
AIAD
•Additive Increase
– Falls x1+ x2 ≤ K
• x1 ← x1 + aI
• x2 ← x2 + aI
•Additive Decrease
– Falls x1+ x2 > K
• x1 ← x1 + aD
• x2 ← x2 + aD
– aI > 0
– aD < 0
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
17
MIMD
•Multiplicative Increase
– Falls x1+ x2 ≤ K
• x1 ← x1 b⋅ I
• x2 ← x2 b⋅ I
•Multiplicative Decrease
– Falls x1+ x2 > K
• x1 ← x1 b⋅ D
• x2 ← x2 b⋅ D
– bI > 1
– 0 < bD < 1
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
18
AIMD
•Additive Increase
– Falls x1+ x2 ≤ K
• x1 ← x1 + aI
• x2 ← x2 + aI
•Multiplicative Decrease
– Falls x1+ x2 > K
• x1 ← x1 ⋅ bD
• x2 ← x2 ⋅ bD
– aI > 0
– 0 < bD < 1
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Faire und Effiziente Lineare Datenratenanpassung
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Effiziente lineare Funktionen
•X(t) > K
– aD ≤ 0 → bD ≤ 1
– aD > 0 → bD < 0
→ nicht möglich
•X(t) < K
– aI ≥ 0 → bI ≥ 1
– aI < 0 → nicht möglich
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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)
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
22
Beweis! (1)
•Es gilt:
•Substitution
•Dann ist:
und
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Beweis! (2)
•Zu zeigen:
•
•Warum gilt diese Gleichung?
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Beweis! (3)
•Warum gilt diese Gleichung?
•wobei
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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 aI/bI ≥ 0 und aD/bD ≥ 0
– Also, aI,bI,aD,bD ≥ 0
•Aus Effizienz:
– aD ≤ 0 → bD ≤ 1, heißt also aD = 0 → bD ≤ 1,
– aI ≥ 0 → bI ≥ 1,
• es muß aI > 0, da sonst Fairness nicht zunimmt (siehe MIMD)
•Führt zu AIMD
Fairness (II)
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
Modell
•Rundenmodell
– In Runde t steht Bandweite ut zur Verfügung
– Algorithmus fordert in Runde Bandweite xt an
– Feedback zu Beginn von Runde t+1:
• Ist xt > ut? (d.h. sind Pakete verloren gegangen)
– Algorithmus erfährt nie die wirklich verfügbaren Bandweiten
Runde Internet Host B
t
Bandweite läßt maximal ut Pakete durch
Host A
sendet xt+1 Pakete
schickt Bestätigung (Ack.)
erhält Ack. undberechnet xt+1
t+1
sendet xt Pakete
erhält min(xt+1,ut+1) Pakete
Bandweite läßt maximal ut+1 Pakete durch
erhält min(xt,ut) Pakete
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
28
•Der statische Fall
– die verfügbare Bandweite bleibt konstant
•Der dynamische Fall
– die verfügbare Bandweite ändert sich
Durchsatzoptimierung in der Transportschicht
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
29
Kosten
•Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000
•Prinzip:
– xt > ut : Datenrate ist größer als verfügbare Bandweite
• Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen
– xt < ut : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt
• Opportunitätskosten
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
30
Milde Kosten
•Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000
•Prinzip:
– xt > ut : Datenrate ist größer als verfügbare Bandweite
• Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen
– xt < ut : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt
• Opportunitätskosten
•
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
31
Strenge Kosten
•Modell nach Karp, Koutsoupias, Papadimitriou, Shenker 2000
•Prinzip:
– xt > ut : Datenrate ist größer als verfügbare Bandweite
• Zeitverlust und Overhead durch wiederholtes Senden von verlorenen Paketen
– xt < ut : Nur ein kleiner Teil der verfügbaren Bandweite wird genutzt
• Opportunitätskosten
•
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
32
•Bandweite ist fest:
– u1 = u2 = … = 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
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
33
Komplexitätsmaß
•Cc,A(i,j,u): Kosten, die Algorithmus A bei Suche nach u mitKostenfunktion c(x,u) entstehen
•worst-case:
•average-case:
wobei:
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
34
•Wahl von x:
Milde Kosten bei Binärer Suche
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
35
•Wahl von x:
Strenge Kosten bei Binärer Suche
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
36
•Wahl von x:
•Strenge worst-case Kosten:
•Strenge average-case Kosten:
•Milde worst-case Kosten:
•Milde average-case Kosten:
Binäre Suche
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian Schindelhauer
37
•Wird als Grundbaustein von TCP eingesetzt
•Wahl von x:
AIMD (Additively Increasing – Mulitiplicatively Decreasing)
Algorithmen des Internets 2005-05
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätChristian 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 INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Vielen Dank!
Ende der 5. Vorlesung
Nächste Vorlesung: Mo. 16.05.2005Nächste Übung: Mo. 16.05.2005
Heinz Nixdorf Institut& Institut für InformatikUniversität PaderbornFürstenallee 1133102 Paderborn
Tel.: 0 52 51/60 66 92Fax: 0 52 51/62 64 82E-Mail: [email protected]://www.upb.de/cs/schindel.html