HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen des Internets Sommersemester 2005 18.04.2005 2. Vorlesung Christian Schindelhauer [email protected] HEINZ NIXDORF INSTITUT Überblick • Das Internet: Einführung und Überblick • Mathematische Grundlagen • IP: Routing im Internet Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Heute – Packet Forwarding – Dijkstra und Min-Cut Max-Flow-Theorem – Distance Vector und Link State – Intra-AS: RIP, OSPF, Hierarchisches OSPF, IGRP – Inter-AS: BGP – Der Preis der Anarchie: Nash-Equilibrium - Optimum • 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 Algorithmen des Internets 2005-02 2 HEINZ NIXDORF INSTITUT Routing-Tabelle und Paket-Weiterleitung Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • IP-Routing-Tabelle – enthält für Ziel (Destination) die Adresse des nächsten Rechners (Gateway) – Destination kann einen Rechner oder ganze Sub-nets beschreiben – Zusätzlich wird ein Default-Gateway angegeben • Packet Forwarding – früher Packet Routing genannt – IP-Paket (datagram) enthält Start-IP-Adresse und Ziel-IP-Adresse • Ist Ziel-IP-Adresse = eigene Rechneradresse dann Nachricht ausgeliefert • Ist Ziel-IP-Adresse in Routing-Tabelle dann leite Paket zum angegeben Gateway • Ist Ziel-IP-Subnetz in Routing-Tabelle dann leite Paket zum angegeben Gateway • Ansonsten leite zum Default-Gateway Algorithmen des Internets 2005-02 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Probleme in der Paket-Weiterleitung • IP-Paket (datagram) enthält unter anderen – TTL (Time-to-Live): Anzahl der Hops – Start-IP-Adresse – Ziel-IP-Adresse • Behandlung eines Pakets – Verringere TTL (Time to Live) um 1 – Falls TTL ≠ 0 dann Packet-Forwarding aufgrund der Routing-Tabelle – Falls TTL = 0 oder bei Problemen in Packet-Forwarding: • Lösche Paket • Falls Paket ist kein ICMP-Paket dann Sende ICMP-Paket mit Start= aktuelle IP-Adresse und Ziel = alte Start-IP-Adresse Algorithmen des Internets 2005-02 4 HEINZ NIXDORF INSTITUT ICMP, Ping und Traceroute Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • ICMP (Internet Control Message Protocol) – zumeist bei Packet Forwarding Problemen – ermöglicht aber auch auch Analyse der Routing: • Ping – Spezielle ICMP-Nachricht: “ICMP Echo Request” – Empfänger antwortet mit “ICMP Echo Reply” • Traceroute – Sendet Paket an Ziel-Rechner • mit TTL 1,2,3,... • mit ungültiger Port-Nummer (> 30.000) – Sammelt ICMP-Pakete wieder ein • ICMP mit TTL-Fehler ergibt Router-Adresse • ICMP mit “Port unreachable” hat Ziel erreicht Algorithmen des Internets 2005-02 5 HEINZ NIXDORF INSTITUT Statisches und Dynamisches Routing Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Forwarding: – Weiterleiten von Paketen • Routing: – Erstellen Routen, d.h. • Erstellen der Routing-Tabelle • Statisches Routing – Tabelle wird manuell erstellt – sinnvoll für kleine und stabile LANs • Dynamisches Routing – Tabellen werden durch Routing-Algorithmus erstellt – Zentraler Algorithmus, z.B. Link State • Einer/jeder kennt alle Information, muss diese erfahren – Dezentraler Algorithmus, z.B. Distance Vector • arbeitet lokal in jedem Router • verbreitet lokale Information im Netzwerk Algorithmen des Internets 2005-02 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Das Kürzeste-Wege-Problem • Gegeben: – Ein gerichteter Graph G=(V,E) – Startknoten – mit Kantengewichtungen • Definiere Gewicht des kürzesten Pfades – δ(u,v) = minimales Gewicht w(p) eines Pfades p von u nach v – w(p) = Summe aller Kantengewichte w(e) der Kanten e des Pfades • Gesucht: – Die kürzesten Wege vom Startknoten s zu allen Knoten in G • also jeweils ein Pfad mit den geringsten Gewicht zu jedem anderen Knoten • Lösungsmenge: – wird beschrieben durch einen Baum mit Wurzel s – Jeder Knoten zeigt in Richtung der Wurzel Algorithmen des Internets 2005-02 7 HEINZ NIXDORF INSTITUT Kürzeste Wege mit Edsger Wybe Dijkstra Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Theorem – Dijkstras Kürzeste-Wege-Algorithmus kann mittels eines Fibonacci Heap mit Laufzeit Θ(|E| + |V| log |V|) implementiert werden. Algorithmen des Internets 2005-02 8 HEINZ NIXDORF INSTITUT Dijkstra: Beispiel Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Algorithmen des Internets 2005-02 9 HEINZ NIXDORF INSTITUT Bellman-Ford Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Bei negativen Kantengewichten versagt Dijkstras Algorithmus • Bellman-Ford – löst dies in Laufzeit O(|V| |E|). Algorithmen des Internets 2005-02 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Link-State Protocol • Link State Router – tauschen Information mittels Link State Packets (LSP) aus – Jeder verwendet einen zentralen Kürzeste-Wege-Algorithmus • LSP enthält – ID des LSP erzeugenden Knotens – Kosten diese Knotens zu jedem direkten Nachbar – Sequenznr. (SEQNO) – TTL-Feld für dieses Feld (time to live) • Verlässliches Fluten (Reliable Flooding) – Die aktuellen LSP jedes Knoten werden gespeichert – Weiterleitung der LSP zu allen Nachbarn • bis auf den Knoten der diese ausgeliefert hat – Periodisches Erzeugen neuer LSPs • mit steigender SEQNOs – Verringern der TTL bei jedem Weiterleiten Algorithmen des Internets 2005-02 11 HEINZ NIXDORF INSTITUT Distance Vector Routing Protocol Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Distance Table Datenstruktur – Jeder Knoten besitzt eine – Spalte für jedes mögliches Ziel – Spalte für jeden direkte Nachbarn • Verteilter Algorithmus – Jeder Knoten kommuniziert nur mit seinem Nachbarn • Asynchroner Betrieb – Knoten müssen nicht Informationen austauschen in einer Runde • Selbstterminierend – läuft bis die Knoten keine Information mehr austauschen Algorithmen des Internets 2005-02 12 HEINZ NIXDORF INSTITUT Das “Count to Infinity” - Problem Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Gute Nachrichten verbreiten sich schnell – Neue Verbindung wird schnell veröffentlicht • Schlechte Nachrichten verbreiten sich langsam – Verbindung fällt aus – Nachbarn erhöhen wechselseitig ihre Entfernung – “Count to Infinity”-Problem Algorithmen des Internets 2005-02 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die Grenzen des flachen Routing • Link State Routing – benötigt O(g n) Einträge für n Router mit maximale Grad g – Jeder Knoten muss an jedem anderen seine Informationen senden • Distance Vector – benötigt O(g n) Einträge – kann Schleifen einrichten – Konvergenzzeit steigt mit Netzwerkgröße • Im Internet gibt es mehr als 10 6 Router – damit sind diese so genannten flachen Verfahren nicht einsetzbar • Lösung: – Hierarchisches Routing Algorithmen des Internets 2005-02 14 HEINZ NIXDORF INSTITUT AS, Intra-AS und Inter-AS Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Autonomous Systems (AS) – liefert ein zwei Schichten-modell des Routing im Internet – Beispiele for AS: • uni-paderborn.de • Intra-AS-Routing – ist Routing innerhalb der AS – z.B. RIP, OSPF, IGRP, ... • Inter-AS-Routing – Übergabepunkte sind Gateways – ist vollkommen dezentrales Routing – Jeder kann seine Optimierungskriterien vorgeben – z.B. EGP (früher), BGP Algorithmen des Internets 2005-02 15 HEINZ NIXDORF INSTITUT Intra-AS: RIP (Routing Information Protocol) Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Distance Vector Algorithmus – Distanzmetrik = Hop-Anzahl • Distanzvektoren – werden alle 30s durch Response-Nachricht (advertisement) ausgetauscht • Für jedes Advertisement – Für bis zu 25 Zielnetze werden Routen veröffentlicht per UDP • Falls kein Advertisement nach 180s empfangen wurde – Routen über Nachbarn werden für ungültig erklärt – Neue Advertisments werden zu den Nachbarn geschickt – Diese antworten mit auch mit neuen Advertisements • falls die Tabellen sich ändern – Rückverbindungen werden unterdrückt um Ping-pong-Schleifen zu verhindern (poison reverse) gegen Count to Infinity-Problem • Unendliche Distanz = 16 Hops Algorithmen des Internets 2005-02 16 HEINZ NIXDORF INSTITUT Intra-AS OSPF (Open Shortest Path First) Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • “open” = öffentlich verfügbar • Link-State-Algorithmus – LS Paket-Verbreitung – Topologie wird in jedem Knoten abgebildet – Routenberechnung mit Dijkstras Algorithmus • OSPF-Advertisment – per TCP, erhöht Sicherheit (security) – werden in die gesamte AS geflutet – Mehre Wege gleicher Kosten möglich Algorithmen des Internets 2005-02 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Intra-AS: Hierarchisches OSPF • Für große Netzwerke zwei Ebenen: – Lokales Gebiet und Rückrad (backbone) • Lokal: Link-state advertisement • Jeder Knoten berechnet nur Richtung zu den Netzen in anderen lokalen Gebieten • Local Area Border Router: – Fassen die Distanzen in das eigene lokale Gebiet zusammen – Bieten diese den anderen Area Border Routern an (per Advertisement) • Backbone Routers – verwenden OSPF beschränkt auf das Rückrad (backbone) • Boundary Routers: – verbinden zu anderen AS Algorithmen des Internets 2005-02 18 HEINZ NIXDORF INSTITUT Intra-AS: IGRP (Interior Gateway Routing Protocol) Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • CISCO-Protokoll, Nachfolger von RIP (1980er) • Distance-Vector-Protokoll, wie RIP – Hold time – Split Horizon – Poison Reverse • Verschiedene Kostenmetriken – Delay, Bandwidth, Reliability, Load etc. • Verwendet TCP für den Austausch von Routing Updates Algorithmen des Internets 2005-02 19 HEINZ NIXDORF INSTITUT Inter-AS: BGP (Border Gateway Protocol) Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Ist faktisch der Standard • Path-Vector-Protocol – ähnlich wie Distance Vector Protocol – jeder Border Gateway teilt all seinen Nachbarn (peers) den gesamten Pfad (Folge von ASen) zum Ziel mit (advertisement) – per TCP • Falls Gateway X den Pfad zum Peer-Gateway W sendet – dann kann W den Pfad wählen oder auch nicht – Optimierungskriterien: • Kosten, Politik, etc. – Falls W den Pfad von X wählt, dann publiziert er • Path(W,Z) = (W, Path (X,Z)) • Anmerkung – X kann den eingehenden Verkehr kontrollieren durch senden von Advertisements. Algorithmen des Internets 2005-02 20 HEINZ NIXDORF INSTITUT Optimales Routing: Max-Flow Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Gegeben: – Gerichteter Graph G mit Kantenkapazitäten w(e)≥0 – Seien s und t verschiedene Knoten – G ist ein Netzwerk aus Röhren • Flüsse – Ein Fluß weist jeder Kante eine Zahl f(e) zu mit 0 ≤ f(e) ≤ w(e) – Für alle Knoten x gilt • wobei I(x):= eingehenden Kanten und O(x) := ausgehenden Kanten – “Was reingeht muss auch rausgehen” • Ziel: – So viel wie möglich von s nach t pumpen – der maximale Fluss von s nach t, • d.h. maximiere Algorithmen des Internets 2005-02 21 HEINZ NIXDORF INSTITUT Max-Flow-Min-Cut Theorem Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Ein Schnitt C in G zwischen s und t – ist eine Menge Kanten, so dass jeder gerichtete Pfad von s nach t wenigstens eine der Kanten in C beinhalten muss – Die Kapazität des Schnitts C ist die Summe aller Kantenkapazitäten • Max-Flow-Min-Cut Theorem [Feinstein, Shannon; Ford, Fulkerson, Shannon 1956] – Der maximale Fluss ist gleich der Kapazität des minimalen Schnitts. • Berechnung des maximalen Flusses – durch Lösen des Linearen Programms • Simplex-Methode/Ellipsoid-Methode – Ford-Fulkerson-Methode für ganze Zahlen • implementiert durch den Edmonds-Karp-Algorithmus Algorithmen des Internets 2005-02 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Routing als Spiel • Das BGP-Spiel [Papadimitriou, “Algorithms, Games and the Internet”, STOC 2001] – Gegeben: • Ungerichteter Graph mit n Knoten • Symmetrische n × n Verkehrsmatrix F • Sei ci die Kapazität eines Knoten i – Dies ergibt ein Multi-Commodity-Flow-Problem im Graphen, d.h. • es gibt verschiedene Flüsse, die nicht austauschbar sind • deren Summe aber den Kapazitäten entsprechen müssen • Bestimmte Knoten spielen in Koalitionen – Jeder Knoten kann Verbindungen zu Nachbarn veröffentlichen (oder nicht) • Ziel (jedes Knoten): – Optimiere den eigenen Verkehrsdurchsatz • das sind Pakete von Knoten der eigenen Koalition • evtl. durch die Minimierung des fremden Verkehrs Algorithmen des Internets 2005-02 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Nash-Equilibrium • Gegeben ein Spiel – mit n Spielern und n Strategien für jeden Spieler – xi sei die Strategie für Spieler i aus einer Menge Si – ui(x1, x2, ..., xn) sei der Gewinn von Spieler i • eine Funktion aus den Einzelstrategien • Ein Nash-Equilibrium ist ein Kombination von Strategien x , ..., x 1 n – so dass für alle Spiele i und für alle Strategien x’i ≠ xi gilt • ui(x1, x2, ..., xi, ... , xn) ≥ ui(x1, x2, ..., x’i, ... , xn) • Theorem (John Nash, 1950) – Es gibt immer ein solches Nash-Equilibrium, wenn die Mengen Si konvex sind. • Eine Menge S ist konvex, – falls für alle x,y ∈ S für alle i ∈ [0,1] gilt: i x+ (1-i) y ∈ S – Daraus folgt: • Randomisierte Strategien sind konvex. Algorithmen des Internets 2005-02 24 HEINZ NIXDORF INSTITUT Beispiel: Das Nash-Equilibrium von Papier, Schere, Stein Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Zwei Spieler – Strategien: • Si={Papier, Schere, Stein} – Gewinnfunktion gemäß Matrix • Das diskrete Spiel hat kein reines Nash-Equilibrium – d.h.wenn jeder einmalig eine Entscheidung, dann gibt es für jedenimmer eine bessere Lösung • Es gibt ein gemischtes Nash- 0 -1 1 1 0 -1 -1 1 0 Equilibrium – Wähle gleich wahrscheinlich eine der drei Möglichkeiten Algorithmen des Internets 2005-02 25 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Preis der Anarchie • Ein Spiel über mehrere Runden konvergiert gegen das Nash-Equilibrium – falls alle Akteure egoistisch handeln, – falls das Spiel in den selben Rahmenbedingungen bleibt, • d.h. Bewertung bleibt gleich – und falls das Spiel überhaupt konvergiert • Das Nash-Equilibrium muss aber nicht global die beste Lösung darstellen, – da nur jeder einzelne seine Kosten optimiert hat – Es kann sogar sein, dass jeder einzelne besser da stehen kann, • wenn sie nicht im Nash-Equilibrium sind • Beispiel: Gefangenen-Dilemma • Der Preis der Anarchie: – Die Differenz zwischen der besten Lösung und dem Nash-Equilibrium Algorithmen des Internets 2005-02 26 HEINZ NIXDORF INSTITUT Der Preis der Anarchie im Gefangenendilemma Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Zwei Verdächtige werden unabhängig verhört – Sie können jeweils gestehen oder leugnen • Falls beide leugnen: – jeweils 1 Jahre Haft • Falls beide gestehen: Wir waren es! – jeweils 2 Jahre Haft • Falls einer gesteht und der andere leugnet: – Für den Zeugen: Freispruch – Für den Anderen: 3 Jahre Haft • Analyse: – Nash-Equilibrium: Beide Gestehen - Jeder 2 Jahre – Optimal: Beide Leugnen - Jeder 1 Jahr • Preis der Anarchie: Ich weiß von nichts! – 1 Jahr für jeden!!! Algorithmen des Internets 2005-02 27 HEINZ NIXDORF INSTITUT Beispiel: Das Paradoxon von Braess Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer • Gegen ein Fluss-Netzwerk mit – konstanten Kosten (1/2) – flussabhängigen Kosten (x) • Gesucht ein Fluss von S nach T – und das Nash-Equilibrium zwischen den Flüssen aller möglicher Teilpfade • Braess Paradoxon: – Durch Einfügen einer Kante kann sich der erreichbare Fluss im NashEquilibrium verkleinern – Dadurch steigt der Preis der Anarchie Algorithmen des Internets 2005-02 28 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Zusammenfassung • Paketweiterleitung im Internet folgt einem einfachen Schema – Die Routing-Tabelle bestimmt den Weg • Die Wegewahl heißt Routing – Es gibt zwei Arten des Routing • Intra-AS – RIP, OSPF, Hier. OSPF, etc. sind innerhalb einer AS – berechnen kürzeste Wege durch Weitergabe von Advertisement • mit Dijkstra • oder durch die Verbreitung der Information - Distance Vector • Inter-AS – BGP-Standard läßt Freiraum für ein Spiel zwischen den ASen: • Advertisements können verändert werden • Das Nash-Equilibrium – beschreibt eine Lösung, falls alle egoistisch handeln – ist nicht unbeding optimal: Die Differenz ist der Preis der Anarchie Algorithmen des Internets 2005-02 29 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Vielen Dank! Ende der 2. Vorlesung Nächste Vorlesung: Mo. 25.04.2005 Nächste Übung: Mo. 25.04.2005 Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 66 92 Fax: 0 52 51/62 64 82 E-Mail: [email protected] http://www.upb.de/cs/schindel.html 30