Proseminar Routing Information Protocol Open Shortest Path First

  • Slides: 30
Download presentation
Proseminar ---------------Routing Information Protocol Open Shortest Path First Martin Bauer 15. 01. 2008 Universität

Proseminar ---------------Routing Information Protocol Open Shortest Path First Martin Bauer 15. 01. 2008 Universität Freiburg 1

Gliederung • Grundlagen • Router Information Protocol (RIP) – Bellman-Gleichung – Bellman-Ford-Algorithmus – Spezifikation

Gliederung • Grundlagen • Router Information Protocol (RIP) – Bellman-Gleichung – Bellman-Ford-Algorithmus – Spezifikation – Count-to-Infinity • Open Shortest Path First (OSPF) – Dijkstra Algorithmus – Spezifikation • Zusammenfassung 15. 01. 2008 Universität Freiburg 2

Autonomes System • Zusammenschluss zu einem logischen Netzwerk • Verwaltung durch Interior Gateway Protocols

Autonomes System • Zusammenschluss zu einem logischen Netzwerk • Verwaltung durch Interior Gateway Protocols (IGP) • Verantwortungsbereich einer einzigen Organisation 15. 01. 2008 Universität Freiburg 3

Routing Tabelle • Ermittlung von Ziel-Host/-Router zu IP-Adresse • dynamische vs. statische Einträge Destination

Routing Tabelle • Ermittlung von Ziel-Host/-Router zu IP-Adresse • dynamische vs. statische Einträge Destination 132. 230. 1. 0. . . 132. 230. 18. 0 132. 230. 19. 0 132. 230. 20. 0 15. 01. 2008 Netmask 255. 0. . . 255. 0 255. 0 0. 0 Gateway Interface Metric 132. 230. 18. 254 eth 1 12. . . …. . . 132. 230. 18. 254 eth 1 1 * eth 0 0 132. 230. 18. 254 eth 2 0 Universität Freiburg 4

Kürzeste Pfade in Graphen • Netzwerke werden als Graphen interpretiert • ist ein Graph

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 15. 01. 2008 y Universität Freiburg 5

Bellman-Gleichung • kürzeste Distanz von Startknoten x zu Ziel y über Nachbarknoten v •

Bellman-Gleichung • kürzeste Distanz von Startknoten x zu Ziel y über Nachbarknoten v • Distanzkosten: • Beispiel: v 1 x 5 15. 01. 2008 Universität Freiburg 4 y 6

Distanzvektoren • Distanz-Vector Routing Algorithmen – Knoten kennen nur einen Teil des Netzwerks –

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 7

Bellman-Ford-Algorithmus (0) Initialization: for all destination y in V: /* if y is not

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 for each neighbour 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 forever 15. 01. 2008 Universität Freiburg to all neighbours 8

Bellman-Ford-Algorithmus (1) Beispiel: y 2 x 15. 01. 2008 1 7 z Universität Freiburg

Bellman-Ford-Algorithmus (1) Beispiel: y 2 x 15. 01. 2008 1 7 z Universität Freiburg 9

Bellman-Ford-Algorithmus (2) Beispiel: Initialisierungsphase x in t 0 y 2 0 2 7 y

Bellman-Ford-Algorithmus (2) Beispiel: Initialisierungsphase x in t 0 y 2 0 2 7 y ∞ ∞ ∞ nach x y z z in t 0 x ∞ ∞ ∞ z ∞ ∞ ∞ Universität Freiburg y 2 0 1 z ∞ ∞ ∞ nach x y z x ∞ ∞ ∞ von z x y z y in t 0 von 15. 01. 2008 7 x von x 1 nach y ∞ ∞ ∞ z 7 1 0 10

Bellman-Ford-Algorithmus (3) Beispiel: x in t 0 y 2 y ∞ ∞ ∞ nach

Bellman-Ford-Algorithmus (3) Beispiel: x in t 0 y 2 y ∞ ∞ ∞ nach x y z y 2 0 1 z 7 1 0 2 0 1 y in t 1 Universität Freiburg nach x y z x 0 2 7 y 2 0 1 z 7 1 0 x y z y ∞ ∞ ∞ z z in t 1 von 0 2 3 y nach x ∞ ∞ ∞ z ∞ ∞ ∞ von x x y z z in t 0 x ∞ ∞ ∞ z ∞ ∞ ∞ x in t 1 15. 01. 2008 0 2 7 nach von z x y z y in t 0 von 7 x von x 1 nach 7 1 0 nach x y z x 0 2 7 y 2 0 1 z 3 1 0 11

x in t 0 x y ∞ ∞ ∞ x in t 1 1

x in t 0 x y ∞ ∞ ∞ x in t 1 1 x y z 0 2 3 y 2 0 1 z 7 1 0 x in t 2 nach x y z y 2 0 1 z 3 1 0 y in t 1 x y z x 0 2 7 y 2 0 1 z 7 1 0 y in t 2 Universität Freiburg nach x y z x 0 2 3 y 2 0 1 z 3 1 0 x y z y ∞ ∞ ∞ z z in t 1 7 1 0 nach x y z x 0 2 7 y 2 0 1 z 3 1 0 z in t 2 von 0 2 3 2 0 1 z ∞ ∞ ∞ von x y nach x ∞ ∞ ∞ von x x y z z in t 0 x ∞ ∞ ∞ von 7 z nach von 2 15. 01. 2008 0 2 7 z ∞ ∞ ∞ y x x y z y in t 0 von Beispiel: nach x y z x 0 2 3 y 2 0 1 z 3 1 0 12

Routing Information Protocol • Definition in RFC 1058 • Kostenfunktion zu Nachbarn konstant •

Routing Information Protocol • Definition in RFC 1058 • 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 13

Count-to-Infinity • Problem: Count-to-Infinity • Lösung: Triggered Updates x 1 y 1 z –

Count-to-Infinity • Problem: Count-to-Infinity • Lösung: Triggered Updates x 1 y 1 z – Änderungen sofort mitteilen • Lösung: Split-Horizont-Verfahren (SHV) – Pfadinformation darf nicht über das x ß y 16 gleiche Interface gesendet werden, 1 z über dass es erlernt wurde. • Lösung: SHV mit Poisoned Reverse – Reset der Verbindung auf beiden x ß 16 y 1 z Knoten und lerne neu 15. 01. 2008 Universität Freiburg 14

Anatomie eines RIP-Datagram • UDP/520 • Command = {request|response} • IP Adresse = Zieladresse

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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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… | | | +--------------------------------+ RFC 1058 15. 01. 2008 Universität Freiburg 15

Eigenschaften von RIP • geringer Rechenleistung notwendig • interoperabel • ungenügende Skalierbarkeit (max. Hops)

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 –

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 x 15. 01. 2008 Universität Freiburg 1 7 y 17

Dijkstra-Algorithmus 1. 2. 3. 4. 5. 6. Initialization N' = {x} for all nodes

Dijkstra-Algorithmus 1. 2. 3. 4. 5. 6. Initialization N' = {x} for all nodes v if v is a neighbour of x then D(v) = c(x, v) else D(v) = infinity 7. Loop 8. find v not in N' such that D(v) is a minimum 9. add v to N' 10. update D(v) for each neighbour v of w and not in N': 11. 12. /* new cost to y is ether old cost to y or known 13. least path cost to v plus cost from v to y */ 14. until N' = N 15. 01. 2008 Universität Freiburg 18

Dijkstra-Algorithmus (0) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x

Dijkstra-Algorithmus (0) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 19

Dijkstra-Algorithmus (1) Beispiel: Initialisierungsphase 5 3 v 2 2 u 1 15. 01. 2008

Dijkstra-Algorithmus (1) Beispiel: Initialisierungsphase 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 20

Dijkstra-Algorithmus (2) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x

Dijkstra-Algorithmus (2) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 21

Dijkstra-Algorithmus (3) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x

Dijkstra-Algorithmus (3) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 22

Dijkstra-Algorithmus (4) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x

Dijkstra-Algorithmus (4) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 23

Dijkstra-Algorithmus (5) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x

Dijkstra-Algorithmus (5) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 24

Dijkstra-Algorithmus (6) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x

Dijkstra-Algorithmus (6) Beispiel: 5 3 v 2 2 u 1 15. 01. 2008 x w 3 1 5 z 1 y 2 Universität Freiburg 25

Open Shortest Path First • variable Kostenfunktion • Überwachung der Kosten zu Nachbarn (Link-State)

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 26

Features OSPF • Multicast – eine Nachricht an mehrere Empfänger • Sicherheit – Authentifizierung

Features OSPF • Multicast – eine Nachricht an mehrere Empfänger • Sicherheit – Authentifizierung • Designierter Router (DR) – ermöglicht zentrale Verteilung • Topologie 15. 01. 2008 Universität Freiburg 27

Topologie 15. 01. 2008 Universität Freiburg 28

Topologie 15. 01. 2008 Universität Freiburg 28

Literaturhinweise Computer Networking, A Top-Down Approach Featuring the Internet, von James F. Kurose, Keith

Literaturhinweise Computer Networking, A Top-Down Approach Featuring the Internet, von James F. Kurose, Keith W. Ross Algorithmen und Datenstrukturen, Thomas Ottmann, Peter Widmayer RFC 1058 RIP http: //tools. ietf. org/html/rfc 1058 RFC 2453 RIPv 2 http: //tools. ietf. org/html/rfc 2453 RFC 2328 OSPF http: //tools. ietf. org/html/rfc 2328 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 29

Zusammenfassung & Fragen Vielen Dank für die Aufmerksamkeit 15. 01. 2008 Universität Freiburg 30

Zusammenfassung & Fragen Vielen Dank für die Aufmerksamkeit 15. 01. 2008 Universität Freiburg 30