Lehrstuhl für Kommunikationssysteme - Systeme II 1
Systeme II – 6te Vorlesung
Lehrstuhl für KommunikationssystemeInstitut für Informatik / Technische Fakultät
Universität Freiburg2009
Lehrstuhl für Kommunikationssysteme - Systeme II 2
Letzte Vorlesung
‣ Dynamisches IP-Routing• Dezentraler Algorithmus,
Distance Vector- Arbeitet lokal in jedem Router- Verbreitet lokale Information im
Netzwerk
‣ Eigenschaften: 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
Lehrstuhl für Kommunikationssysteme - Systeme II 3
Letzte Vorlesung
‣ Versuche zur Lösung des Count-to-Infinity-Problems
• “Split-Horizon”
• “Poison-Reverse”
• Bedingt erfolgreich
‣ Implementierung von Distance Vector mit einfacher Hop-Count-Metrik RIP (II)
• Regelmäßige Updates/Keep-Alive per Advertisment-Paketen (UDP, ziemlich unsicher)
• Falls keine Updates empfangen, Ungültig-Erklären von Routen nach gewisser Zeit
Lehrstuhl für Kommunikationssysteme - Systeme II 4
Internet Protocol – zentraler Ansatz
‣ Dezentraler Ansatz in der letzten Vorlesung• Jeder Router verschafft sich eigenes Bild des Netzes• Tabellen werden anhand dieser Informationen aktualisiert• Einige Nachteile, die innerhalb des Ansatzes nicht lösbar
‣ Alternative: Zentraler Algorithmus, z.B. Link State- Einer/jeder kennt alle Information, muss diese erfahren
‣ Wieder zentrales Problem:
• Optimale Bestimmung der Weglängen zwischen einzelnen Knoten im Netz
Lehrstuhl für Kommunikationssysteme - Systeme II 5
Das Kürzeste-Wege-Problem
Lehrstuhl für Kommunikationssysteme - Systeme II 6
Kürzestes Wege Routing
‣ “Shortest Path” - oft eingesetztes Routing-Prinzip, da einfach zu verstehen und umzusetzen
• Idee: Generieren eines Graphen des (Teil-)Netzes, wobei jeder Knoten einen Router und jeder “Verbindungsstrich” einen Link repräsentiert
• Zur Ermittlung einer Route zwischen zwei gegebenen Knoten muss der Algorithmus nur den kürzesten Weg im Graphen bestimmen
• Dabei spielt jedoch die Metrik für die Bestimmung des kürzesten Weges eine Rolle
- Zahl der Hops (Router-Durchgänge)
- Physikalische Entfernung, Bandbreite, Verzögerung, ...
- (Finanz.) Kosten, durchschnittliche Warteschlangenlänge, ...
Lehrstuhl für Kommunikationssysteme - Systeme II 7
Kürzestes Wege Routing
‣ Konvention: Fettgedruckte Zahlen stehen für Knoten, die kleineren normal gesetzten für die abstrakten Kosten eines Teilwegs
• Das impliziert Unterschiede: So hat die Hop-Count-Metrik identische Kosten für 1-2-3 und 1-2-5
• “Geografisch” gesehen ist aber 1-2-5 deutlich kürzer (wenn man von korrekter Skalierung ausgeht)
Lehrstuhl für Kommunikationssysteme - Systeme II 8
Kürzestes Wege Routing
‣ Alternative Metriken können bspw. durch regelmäßige Messungen bestimmt werden
‣ Metrik-Kombinationen möglich
‣ Lediglich geeignete Abbildung auf “Pfadkosten”-Wert zur Verwendung in Algorithmus notwendig
‣ Ein zentraler Algorithmus zur Bestimmung des kürzesten Pfads ist Dijkstra's:
• Jeder Knoten wird durch ein Tupel aus Entfernung von der Quelle und dem vorherigen Knoten bezeichnet, initial ist dieses Label leer
• Während der Algorithmus voranschreitet, können sich Label ändern, um bessere Wege zu reflektieren
Lehrstuhl für Kommunikationssysteme - Systeme II 9
Kürzestes Wege Routing
‣ Dijkstra's Algorithmus:• Das Beispiel sucht den kürzesten Weg von Punkt 1 (links) zu Punkt
4 (rechts)
• Man interpretiere die Wegelängen beispielsweise geografisch
• Gestartet wird in 1, der kürzeste Weg ist offensichtlich der zu Punkt 2, der entsprechend markiert wird
Lehrstuhl für Kommunikationssysteme - Systeme II 10
Kürzestes Wege Routing
‣ Die beiden Nachbarn von 1 (2 und 7) wurden betrachtet und 2 ausgewählt, das wird entsprechend wiederholt
• Bisherige Pfadlänge wird mit berücksichtigt (aufaddiert)
• Die betroffenen Knoten werden entsprechend markiert, hier die Knoten 3 und 5
• Knoten werden bei Bedarf neu beschriftet, wenn sich bessere (kürzere Pfade) ergeben
Lehrstuhl für Kommunikationssysteme - Systeme II 11
Kürzestes Wege Routing
‣ Weitere Knoten werden markiert (6)
‣ Knoten können mehrfach besucht werden (z.B. 7)
‣ Im Schritt von Knoten 5 muss der Knoten 7 neu beschriftet werden (6,1) -> (5,5)
Lehrstuhl für Kommunikationssysteme - Systeme II 12
Kürzestes Wege Routing
‣ Der Weg via 2, 3, 5 ist um 1 kürzer als der direkte von Knoten 1
‣ Nächste Schritt zeigt, dass der Weg via 7 zu Knoten 8 länger ausfällt als via 5 über 6 zu Knoten 8
‣ Nun sind die meisten Knoten beschriftet ...
Lehrstuhl für Kommunikationssysteme - Systeme II 13
Kürzestes Wege Routing
‣ Der letzte Schritt zeigt, dass Knoten 8 mit (9,7) -> (8,6) umbeschriftet wurde
‣ Es gibt eine bessere Route zu Knoten 8• 1 – 2 – 5 – 7 – 8 (4 Hops mit Pfadkosten von 9)
• 1 – 2 – 5 – 6 – 8 (4 Hops mit Pfadkosten von 8)
Lehrstuhl für Kommunikationssysteme - Systeme II 14
Kürzestes Wege Routing
‣ Zur Ermittlung des vollen Pfads startet man vom Ziel und arbeitet sich rückwärts anhand der Label (zweiter Eintrag) vor
• Am Ende kommt ein Pfad 1 – 2 – 5 – 6 – 8 – 4 heraus
• Achtung: Die ermittelte Route ist optimal in “Pfadkosten” und nicht in Hops
Lehrstuhl für Kommunikationssysteme - Systeme II 15
Kürzestes Wege Routing
‣ Dijkstra's kürzester Weg• Der einfache Hop-Count würde eine Route von 1 – 2 – 3 – 4
bevorzugen (Pfadkosten von 12 sind deutlich höher) oder 1 – 7 – 8 – 4 (selbe Pfadkosten)
• Wäre damit 2 Einheiten höher als die vorher bestimmte Route
16
Kürzeste Wege mit Edsger Wybe Dijkstra
Dijkstras Kürzeste-Wege-Algorithmus kann mit Laufzeit Θ(|E| + |V| log |V|) implementiert werden
17
Link-State Protocol
Link State Router • tauschen Information mittels Link State Packets
(LSP) aus• Jeder verwendet einen eigenen Kürzeste-Wege-
Algorithmus zu Anpassung der Routing-Tabelle LSP enthält
• ID des LSP erzeugenden Knotens• Kosten dieses Knotens zu jedem direkten
Nachbarn• Sequenznr. (SEQNO)• TTL-Feld für dieses Feld (time to live)
18
Systeme IISommer 2008
Link-State Protocol
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
19
Bellman-Ford
Bei negativen Kantengewichten versagt Dijkstras Algorithmus
Bellman-Ford• löst dies in Laufzeit O(|V| |E|)
20
Systeme IISommer 2008
Die Grenzen des flachen Routing
Link State Routing • benötigt O(g n) Einträge für n Router mit maximalen
Grad g• Jeder Knoten muss an jeden 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 106 Router• damit sind diese so genannten flachen Verfahren
nicht einsetzbar Lösung:
• Hierarchisches Routing
21
Systeme IISommer 2008
AS, Intra-AS und Inter-AS
Autonomous System (AS)• liefert ein zwei Schichten-Modell des
Routing im Internet• Beispiele für AS:
- uni-freiburg.de Intra-AS-Routing (Interior
Gateway Protocol)• ist Routing innerhalb der AS• z.B. RIP, OSPF, IGRP, ...
Inter-AS-Routing (Exterior Gateway Protocol)• Übergabepunkte sind Gateways• ist vollkommen dezentrales Routing• Jeder kann seine Optimierungskriterien
vorgeben• z.B. EGP (früher), BGP
22
Systeme IISommer 2008
Typen autonomer Systeme Stub-AS
• Nur eine Verbindung zu anderen AS Multihomed AS
• Verbindungen zu anderen ASen• weigert sich aber Verkehr für andere zu befördern
Transit AS• Mehrere Verbindungen• Leitet fremde Nachrichten durch (z.B. ISP)
Backbone service provider 2
Backbone service provider 1
ConsumerISP 1
ConsumerISP 2
Largecompany
Smallcompany 1
Smallcompany 2
Peering point
22
23
Systeme IISommer 2008
Intra-AS OSPF (Open Shortest Path First)
“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
• Mehrere Wege gleicher Kosten möglich
24
Intra-AS: Hierarchisches OSPF
Für große Netzwerke zwei Ebenen:
• Lokales Gebiet und Rückgrat (backbone)- Lokal: Link-state advertisement- Jeder Knoten berechnet nur Richtung zu den
Netzen in anderen lokalen Gebieten
25
Intra-AS: Hierarchisches OSPF
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ückgrat
(backbone) Boundary Routers:
• verbinden zu anderen AS
26
Systeme IISommer 2008
Intra-AS: IGRP (Interior Gateway Routing Protocol)
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
27
Inter-AS-Routing
Inter-AS-Routing ist schwierig...
• Organisationen können Durchleitung von Nachrichten verweigern
• Politische Anforderungen
- Weiterleitung durch andere Länder?
- Politische Systeme, verschiedene Modelle des Internet-Betriebs
28
Inter-AS-Routing
Inter-AS-Routing ist schwierig...
• Routing-Metriken der verschiedenen autonomen Systeme sind oftmals nicht vergleichbar
- Wegeoptimierung unmöglich!
- Inter-AS-Routing versucht wenigstens Erreichbarkeit der Knoten zu ermöglichen
• Größe: momentan müssen Inter-Domain-Router mehr als 140.000 Netzwerke kennen
29
Inter-AS: BGPv4
‣ BGP – Border Gateway Protocol‣ Ist faktisch der Standard‣ Path-Vector-Protocol
• ähnlich wie Distance Vector Protocol- es werden aber ganze Pfade zum Ziel
gespeichert• jeder Border Gateway teilt all seinen Nachbarn
(peers) den gesamten Pfad (Folge von ASen) zum Ziel mit (advertisement) (per TCP)
30
Inter-AS: BGPv4
‣ 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
• Sehr kompliziertes Protokoll
31
Systeme IISommer 2008
BGP-Routing Tabellengröße1990-2002
http://www.mcvax.org/~jhma/routing/bgp-hist.html
Lehrstuhl für Kommunikationssysteme - Systeme II 32
Ende der sechsten VorlesungEnde der sechsten Vorlesung
Vorerst Abschluss von IP als Protokoll der Vermittlungsschicht (OSI Layer 3) – wird in späteren Vorlesungen nochmal theoretisch kurz aufgenommen ...
Nun Schichtenmodell von “oben” ... Nächste Vorlesung am Mittag an diesem Ort, gleiche Zeit:
Neuer Themenbereich – Ausgewählte Protokolle der Applikationsschicht (Start mit DNS, dann WWW, Email)
An theoretischen Übungszettel #2 denken, neuer Übungszettel am Mittwoch
Alle relevanten Informationen auf der Webseite zur Vorlesung: http://www.ks.uni-freiburg.de/php_veranstaltungsdetail.php?id=28
Vorbereitung: Lesen der entsprechenden Kapitel zur Applikationsschicht in der angegebenen Literatur!
Top Related