Proseminar ------------------------------- Routing Information Protocol Open Shortest Path First Martin Bauer 15.01.2008 Universität Freiburg
Gliederung Grundlagen Router Information Protocol (RIP) Bellman-Gleichung Bellman-Ford-Algorithmus Spezifikation Count-to-Infinity Open Shortest Path First (OSPF) Dijkstra Algorithmus Zusammenfassung 15.01.2008 Universität Freiburg
Autonomes System Zusammenschluss zu einem logischen Netzwerk Verwaltung durch Interior Gateway Protocols (IGP) Verantwortungsbereich einer einzigen Organisation 15.01.2008 Universität Freiburg
Routing Tabelle Ermittlung von Ziel-Host/-Router zu IP-Adresse dynamische vs. statische Einträge Destination Netmask Gateway Interface Metric 132.230.1.0 255.255.255.0 132.230.18.254 eth1 12 ... … 132.230.18.0 1 132.230.19.0 * eth0 132.230.20.0 0.0.0.0 eth2 15.01.2008 Universität Freiburg
Kürzeste Pfade in Graphen Netzwerke werden als Graphen interpretiert ist ein Graph mit und Kanten sind ungerichtet Kanten besitzten Kostenfunktionen: Kürzester Pfad ? Bellman-Ford-Algorithmus. x y 15.01.2008 Universität Freiburg
Bellman-Gleichung v x y kürzeste Distanz von Startknoten x zu Ziel y über Nachbarknoten v Distanzkosten: Beispiel: v 1 4 x y 5 15.01.2008 Universität Freiburg
Distanzvektoren Distanz-Vector Routing Algorithmen Knoten kennen nur einen Teil des Netzwerks Knoten lernen stetig hinzu Erweiterung der Bellman-Gleichung um Distanzvektor: 15.01.2008 Universität Freiburg
Bellman-Ford-Algorithmus (0) Initialization: for all destination y in V: /* if y is not neighbour than /* for each neighbour v for all destinations y in V send distance vector to v Loop wait (until I see link cost change to some neighbour v or until I receive a distance vector from some neighbour v) for each y in V: if Dx(v) changed for any destination y send distance vector to all neighbours forever 15.01.2008 Universität Freiburg 8
Bellman-Ford-Algorithmus (1) Beispiel: y 2 1 x z 7 15.01.2008 Universität Freiburg 9
Bellman-Ford-Algorithmus (2) Beispiel: Initialisierungsphase x in t0 nach x y z von 2 7 ∞ y in t0 nach x y z von ∞ 2 1 z in t0 nach x y z von ∞ 7 1 y 2 1 x z 7 15.01.2008 Universität Freiburg 10
Bellman-Ford-Algorithmus (3) Beispiel: x in t0 nach x y z von 2 7 ∞ y in t0 nach x y z von ∞ 2 1 z in t0 nach x y z von ∞ 7 1 y 2 1 x z 7 x in t1 nach x y z von 2 3 1 7 y in t1 nach x y z von 2 7 1 z in t1 nach x y z von 2 7 1 3 15.01.2008 Universität Freiburg 11
y x z Beispiel: 2 1 7 x in t0 nach x y z von 2 7 ∞ y in t0 nach x y z 2 7 ∞ y in t0 nach x y z von ∞ 2 1 z in t0 nach x y z von ∞ 7 1 Beispiel: x in t1 nach x y z von 2 3 1 7 y in t1 nach x y z von 2 7 1 z in t1 nach x y z von 2 7 1 3 y 2 1 x z 7 x in t2 nach x y z von 2 3 1 y in t2 nach x y z von 2 3 1 z in t2 nach x y z von 2 3 1 15.01.2008 Universität Freiburg 12
Routing Information Protocol Definition in RFC1058 Kostenfunktion zu Nachbarn konstant Maximal zulässige Kosten = 15 (16 Infinität) Beschränkung in Netzgröße auf Durchmesser 15 30 sekündliche Austausch der Distanzvektoren 7,5 Minuten für komplette Netzaktualisierung (=Konvergenz) 15.01.2008 Universität Freiburg
Count-to-Infinity x y z x y z x y z Problem: Count-to-Infinity Lösung: Triggered Updates Änderungen sofort mitteilen Lösung: Split-Horizont-Verfahren (SHV) Pfadinformation darf nicht über das gleiche Interface gesendet werden, über dass es erlernt wurde. Lösung: SHV mit Poisoned Reverse Reset der Verbindung auf beiden Knoten und lerne neu x y z 1 1 x ß y z 16 1 x ß y z 16 1 15.01.2008 Universität Freiburg
Anatomie eines RIP-Datagram UDP/520 Command = {request|response} IP Adresse = Zieladresse Version = {1|2} 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | command (1) | version (1) | must be zero (2) | +---------------+---------------+-------------------------------+ | address family identifier (2) | | must be zero (2) | +-------------------------------+-------------------------------+ | IP address (4) | +---------------------------------------------------------------+ | must be zero (4) | | metric (4) | | Data… | | | RFC1058 15.01.2008 Universität Freiburg 15
Eigenschaften von RIP geringer Rechenleistung notwendig interoperabel ungenügende Skalierbarkeit (max. Hops) mangelhafte Konvergenzeigenschaften unzureichende Authentifikation (optional Klartextpassworte) 15.01.2008 Universität Freiburg 16
Open Shortest Path First Protocol gehört zur Klasse der Link-State Routing Algorithmen jeder Knoten kennt vollständiges Netzwerk jeder Knoten sendet vollständige Routingtabelle an alle anderen Grundlage ist Algorithmus von Dijkstra Prinzip: v 2 1 x y 7 15.01.2008 Universität Freiburg 17
Dijkstra-Algorithmus Initialization N' = {x} for all nodes v if v is a neighbour of x then D(v) = c(x,v) else D(v) = infinity Loop find v not in N' such that D(v) is a minimum add v to N' update D(v) for each neighbour v of w and not in N': /* new cost to y is ether old cost to y or known least path cost to v plus cost from v to y */ until N' = N 15.01.2008 Universität Freiburg 18
Dijkstra-Algorithmus (0) Beispiel: 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 19
Dijkstra-Algorithmus (1) Beispiel: Initialisierungsphase 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 20
Dijkstra-Algorithmus (2) Beispiel: 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 21
Dijkstra-Algorithmus (3) Beispiel: 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 22
Dijkstra-Algorithmus (4) Beispiel: 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 23
Dijkstra-Algorithmus (5) Beispiel: 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 24
Dijkstra-Algorithmus (6) Beispiel: 5 w v 3 5 z 2 2 1 u 3 y x 2 1 1 15.01.2008 Universität Freiburg 25
Open Shortest Path First variable Kostenfunktion Überwachung der Kosten zu Nachbarn (Link-State) durch HELLO Pakete Datenaustausch regelmässig durch (LSAdvertisment) Änderungen sofort übertragen (LSAnnounce) Implementierung durch eigenes Level-3 Protokoll (ID 89) 15.01.2008 Universität Freiburg
Features OSPF Multicast Sicherheit Designierter Router (DR) Topologie eine Nachricht an mehrere Empfänger Sicherheit Authentifizierung Designierter Router (DR) ermöglicht zentrale Verteilung Topologie 15.01.2008 Universität Freiburg
Topologie 15.01.2008 Universität Freiburg
Literaturhinweise Computer Networking, A Top-Down Approach Featuring the Internet, von James F. Kurose, Keith W. Ross Algorithmen und Datenstrukturen, Thomas Ottmann, Peter Widmayer RFC1058 RIP http://tools.ietf.org/html/rfc1058 RFC2453 RIPv2 http://tools.ietf.org/html/rfc2453 RFC2328 OSPF http://tools.ietf.org/html/rfc2328 On a Routing Problem in Quarterly of Applied Mathematics, R. E. Bellman 16(1)/1958. Brown University Network flow theory, L. R. Ford Paper P-923. The Rand Corporation, Santa Monica 1956 15.01.2008 Universität Freiburg
Zusammenfassung & Fragen Vielen Dank für die Aufmerksamkeit 15.01.2008 Universität Freiburg