1 / 23

Algorithmen des Internets Sommersemester 2005 25.04.2005 3. Vorlesung

Algorithmen des Internets Sommersemester 2005 25.04.2005 3. Vorlesung. Christian Schindelhauer schindel@upb.de. Überblick. Das Internet: Einführung und Überblick Mathematische Grundlagen IP: Routing im Internet

shepry
Download Presentation

Algorithmen des Internets Sommersemester 2005 25.04.2005 3. Vorlesung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithmen desInternetsSommersemester 200525.04.20053. Vorlesung Christian Schindelhauer schindel@upb.de

  2. Überblick • Das Internet: Einführung und Überblick • Mathematische Grundlagen • IP: Routing im Internet • Forwarding, Dijkstra, Distance Vector, Link State Intra-AS: RIP, OSPF, Inter-AS: BGP, Min-Cut Max-Flow-Theorem, Nash-Equilibrium, Preis der Anarchie • Alternativen zu IP • Virtual Circuits, Wormhole, Hot-potato • Flussalgorithmen, Ford-Fulkerson • Oblivious Routing • TCP: Das Transport-Protokoll des Internets • Die Struktur des World Wide Web und des Internets • Suche im Web • Web-Caching im Internet • Peer-to-peer-Netzwerke • Angriffe auf das Internet Heute Heute

  3. Circuit Switching oder Packet Switching • Circuit Switching • Etablierung einer Verbindung zwischen lokalen Benutzern durch Schaltstellen • mit expliziter Zuordnung von realen Schaltkreisen • oder expliziter Zuordnung von virtuellen Ressourcen, z.B. Slots • Quality of Service einfach (außer bei) • Leitungsaufbau • Leitungsdauer • Problem • Statische Zuordnung • Ineffiziente Ausnutzung des Kommunikationsmedium bei dynamischer Last • Anwendung • Telefon • Telegraf • Funkverbindung

  4. Circuit Switching oder Packet Switching • Packet Switching • Grundprinzip von IP • Daten werden in Pakete aufgeteilt und mit Absender/Ziel-Information unabhängig versandt • Problem: Quality of Service • Die Qualität der Verbindung hängt von einzelnen Paketen ab • Entweder Zwischenspeichern oder Paketverlust • Vorteil: • Effiziente Ausnutzung des Mediums bei dynamischer Last • Resümee • Packet Switching hat Circuit Switching in praktisch allen Anwendungen abgelöst • Grund: • Effiziente Ausnutzung des Mediums

  5. Hot Potato Routing • Ursprünglich: Folgender Algorithmus • Falls Puffer voll ist und Paket kommt herein • sende Paket zurück • Sonst • Leite ein Paket aus dem Puffer an nächsten Router • Falls Paket zurückkommt • Leite Paket an irgendeinen Nachbarn weiter • Hot Potato Routing im Internet Protokoll • ist eine Intra-AS/Inter-AS-Forwarding-Politik • Ein Paket wird so schnell wie möglich ans fremde AS übergeben • nächster möglicher Gateway • Fremdem Netzwerk wird der Verkehr aufgebürdet • Gegenteil: Cold-Potato-Routing • Das AS hält das Paket so lange wie möglich • kürzester Gesamtweg auch durch weitesten Gateway • Kann auch Advertisement-Strategie bezeichnen • um Verkehr frühestmöglich (Cold Potato) • oder möglichst spät (Hot Potato) über ein Gateway anzuziehen

  6. Wegewahl • Oblivious Routing (Unbeirrtes Routing) • Deterministische Wegewahl • Nachrichten zwischen zwei Knoten benutzen immer den gleichen Weg • z.B. Internet Protokoll (bevorzugt kürzeste Wege) • Randomisierte Wegewahl • Eine feste Wahrscheinlichkeitsverteilung bestimmt den nächsten Knoten • Verkehr kann im Netzwerk verteilt werden (Valiants Trick) • Adaptive Wegewahl • Blockierte oder versperrte Wege können umgangen werden • Möglichkeit der Lastanpassung • Wie passt man die Last an • Welches ist die beste Strategie???

  7. Adaptive Wegewahl durch Modellierung als Flussproblem • Gegeben • ein ungerichteter Graph mit Kapazitäten auf den Kanten • Einfach-Fluss-Modell (Single-Commodity: Ein Gebrauchsgut) • Für Quellen und Senken ist der Fluss gegeben • Mehrfach-Fluss-Modell (Multi-Commodity: Mehrere Artikel) • Verschiedene Ströme mit unterschiedlichen Quellen und Senken • Die Flüsse teilen sich die Kapazität • Minimiere den maximalen Flusslast (Congestion) • Routing im Internet wird durch ein • dynamisches Mehrfach-Fluss-Problem beschrieben • Die Beschreibung durch ein Fluss-Problem optimiert den Durchsatz • und nicht etwa die maximale Sprungweite D (Dilation) • Routing-Zeit ist mindestens D+C: Dilation + Congestion

  8. Congestion-Minimierung im Einfach-Flussproblems • Gegeben: • Gerichteter Graph G mit Kantenkapazitäten w(e)≥0 • Seien s und t verschiedene Knoten • mit gegebenem Fluss • Flüsse • Ein Fluss weist jeder Kante eine Zahl f(e) zu mit f(e) ≥ 0 • Für alle Knoten x gilt • wobei I(x):= eingehenden Kanten und O(x) := ausgehenden Kanten • Der Fluss steht für die erwartete Anzahl von Paketen auf einer Kante • Ziel • Minimiere Congestion:

  9. Das statische Einfach-Fluss-Problem • Fakt • Die Congestion-Minimierung im Einfach-Flussproblem ist äquivalent zum Flussproblem (aus der letzten Vorlesun). • Siehe auch Min-Flow-Max-Cut-Problem • Beides kann gelöst werden durch • lineare Optimierung • Simplex-Algorithmus • Für natürliche Eingaben effizient • Im worst-case exponentielle Laufzeit • Ellipsoid-Methode • Polynomielle Laufzeit aber immer noch ineffizient • Ford-Fulkerson-Algorithmus

  10. Formulierung als Lineares Optimierungsproblem • Betrachte Variablen fe und Hilfsvariable h • mit den Randbedingungen • Minimiere: Variable h Minimiere

  11. Congestion-Minimierung als Lineares Optimierungsproblem? • Problemgröße: • linear in der Anzahl der Kanten • zu aufwändig für globale Netzwerke • Problemstellung ist abhängig von der Eingabe • insbesondere der Anzahl Kanten • Lösungsmethoden • können nicht verteilt berechnet werden • Zentrale Steuerung möglich • Problem: Netzwerkinformation sammeln, verteilen • Empfindlich gegen Angriffe • Lösungsalgorithmen • Nachfolger des Simplex-Algorithmus mittlerweile effizienter • aber immer noch im worst-case nicht polynomiell • Ellipsoid-Methode liefert Ergebnis in Polynomialzeit • jedoch in der Praxis immer noch zu langsam

  12. Ford-Fulkerson-Methode • Löst Maximales (Einfach-) Flussproblem • äquivalent zum Minimum Congestion Problem • Ford-Fulkerson-Methode(G,s,t) • Setze Anfangsflüsse auf f(e) = 0 für alle Kanten e • Solange es noch einen Pfad p mit Restkapazitäten r>0 gibt • Für alle Kanten (u,v) ∈ G des Pfads p: f(e) ← f(e) + r • Für alle Kanten (u,v) mit (v,u) ∈ G des Pfads p: f(e) ← f(e) - r • Resultierender Flus ist optimal • Ein Pfad p mit Restkapazität r für den Fluss f, Start s, Ziel t, Kapazität w(e) ist • ein Pfad p von s nach t, so dass für alle Kanten (u,v) des Pfads p • entweder (u,v) ∈ G und • oder (v,u) ∈ G und • Gibt es keinen Pfad mit positiver Restkapazität, ist der Fluss maximal • folgt aus dem Max-Flow-Min-Cut-Theorem

  13. Beispiel: Ford-Fulkerson-Methode

  14. Mehrfach-Fluss-Probleme • Gegeben: • Gerichteter Graph G mit n Knoten und Kantenkapazitäten w(e)≥0 • Bedarfsmatrix: d: V × V → ℝ+ • Flüsse • Mehrere Flüsse Zahl für u∈V, e∈E: f(u,e) ≥ 0 und • Der Bedarf wird gedeckt: • Jeder Fluss ist für sich konsistent: • wobei I(x):= eingehenden Kanten und O(x) := ausgehenden Kanten • Ziel • Minimiere Congestion:

  15. Beispiel: Mehrfach-Fluss-Problem • Hier: • Kürzeste-Wege-Routing • Beobachtung: • Mehrfach-Fluss-Probleme lassen sich als lineare Optimierungs-probleme beschreiben

  16. Oblivious Routing: Valiants Trick im zwei-dimensionalen Torus • Valiants Trick im zweidimensionalen Torus mit n Knoten • für eine beliebige Permutation π von jedem Knoten u nach π(u) • Für Routing: • Sende Nachricht von A zufälligem Knoten R im Gitter • Sende Nachricht von R nach Ziel B • Erwartete Last • ist im jeden Knoten • Bestes Routing • unter Berücksichtigung der Permutation p • hat für bestimmte Permutationen mindestens die Last • folgt aus Satz von Borodin/Hopcroft • Damit ist das Oblivious Routing nur um einen konstanten Faktor schlechter als ein adaptives Routing • für Permutationen im Torus

  17. Darstellung von Valiants Trick im Torus

  18. Beweis der erwarteten Last • Weg zu zufälligen Knoten: • Gemäß Wahrscheinlichkeitsverteilung, so das die Wahrscheinlichkeit eine Kante im Abstand d für einen gegebenen Knoten zu benutzen ist • Der maximale Abstand im Torus ist • Damit ist die erwartete Anzahl von Nachrichten über eine Kante • Die Analyse für den Rückweg ist analog • Für bestes Routing betrachte Partition V = A ⋃ B durch das • mit Kanten zwischen A und B • Wähle Permutation mit für alle u∈A: π(u)∈B und u∈B: π(u)∈A • Der Fluss über den Schnitt ist dann mindestens n • verteilt auf Kanten ⇒ Auf einer Kante ist mindestens Last:

  19. On-line Algorithmen für Congestion-Minimierung • On-line-Algorithmus: • Ein Algorithmus ist k-kompetitiv, • falls die Congestion höchstens k-mal schlechter ist als die optimale Lösung für jede einzelne Instanz (Graph, Gewichte, Bedarf) • Unterschied zu Valiants Trick: • Worst case war , best case war 1 • Valiants Routing Trick immer erwartungsgemäß • ist daher nicht O(1)-kompetitiv • J. Aspens, Y. Azar, A. Fiat, S. Plotkin, and O. Waarts [1993]: • Zentraler O(log n)-kompetitiver Algorithmus • Algorithmus ist optimal bezüglich kompetitven Faktor • Benötigt Netzwerklast als Zusatzinformation • B. Awerbuch and Y. Azar [1994] • Verteilter O(log n)-kompetitiver Algorithmus • Zustand des Netzwerks muss dem Algorithmus bekannt sein • Kommt man ohne Kenntnis der momentanen Netzwerklast aus?

  20. Der Satz von Harald Räcke • Theorem [Räcke, 2002] • In jedem ungerichteten Netzwerk gibt es ein Oblivious Routing, das höchstens den Faktor O(log3 n) schlechter ist als das beste Routing für beliebigen Bedarf. • Konstruktion: • Zerlege Netzwerkknoten in hierarchisch in Baumstruktur, • so dass der Zusammenhalt der Knoten in Teilbäumen untereinander größer ist als die Verbindung zu Bruderteilbäume • Tiefe des Baumes ist logarithmisch beschränkt • Problem: Diese Baumzerlegung war seiner Zeit nicht effizient berechenbar • Löse ein (statisches) Mehrfach-Flussproblem zwischen den Teilbäume • Optimaler Bedarf belastet hauptsächlich Kanten zwischen Bruderteilbäumen • welcher vom Mehrfach-Flussproblem modelliert wird

  21. Oblivious Routing in polynomieller Zeit • Theorem [Azar, Cohen, Fiat, Kaplan, Räcke, 2003] • In jedem Netzwerk kann ein mit O(log3 n)-kompetitives Oblivious Routing in polynomieller Zeit berechnet werden. • Fortschritt • Jetzt kann man die Baumzerlegung in polynomieller Zeit berechnen • Damit könnte (rein theoretisch) auch im Internet diese Technik verwendet werden • Nachteile • Es ist bis heute kein Netzwerk bekannt, indem dieses Oblivious Routing weniger Last produziert als das kürzeste Wege Routing. • Berechnung zwar polynomiell, aber immer noch aufwändig

  22. Lastoptimierung: IP versus Alternativen • Circuit Switching: • Internet ist zu dynamisch; Resourcen werden vergeudet • Mehrfach-Fluss-Modellierung • Nur für statische Flüsse • Ford-Fulkerson ist zentraler Algorithmus für Einfachfluss • Lineare Optimierung nicht als verteilte Lösung einsetzbar • Oblivious Routing: • bis jetzt nur für statische Netzwerke einsetzbar • Berechnung zu aufwändig und nur zentral möglich • höchstens 1,5-2,4 Faktor schlechter als Internet Routing • Zustand Internet 2005 • Congestion (Netzwerklast) • nicht auf dem Internet-Backbone (hier nur 25% Auslastung) • sondern auf Anbindung der Benutzer (Analog-Modem, ISDN, DSL)

  23. Vielen Dank!Ende der 3. VorlesungNächste Vorlesung: Mo. 02.05.2005Nächste Übung: Mo. 02.05.2005 Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 66 92Fax: 0 52 51/62 64 82E-Mail: schindel@upb.dehttp://www.upb.de/cs/schindel.html

More Related