HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester Vorlesung Christian Schindelhauer
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
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
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
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 5 TCP Tahoe
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
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
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
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
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:
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
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
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
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Vektordarstellung (I)
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Vektordarstellung (II)
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
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
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
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Faire und Effiziente Lineare Datenratenanpassung
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
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)
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 22 Beweis! (1) Es gilt: Substitution Dann ist: und
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweis! (2) Zu zeigen: Warum gilt diese Gleichung?
Algorithmen des Internets HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweis! (3) Warum gilt diese Gleichung? wobei
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)
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
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
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
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
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
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
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
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:
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
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
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
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)
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)
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: /