Grundkurs Routing im Internet mit Übungen Falko Dressler, Ursula Hilgers {Dressler,Hilgers}@rrze.uni-erlangen.de Regionales Rechenzentrum der FAU
Tag 3 OSPF Link-state Protokolle Grundlagen von OSPF Konfiguration von OSPF auf Cisco Routern
Link-State Protokolle Verbreiten des Status der Iokalen Interfaces eines Routers an seine Nachbarn jedem Link (Interface) ist eine Metrik (Cost) zugewiesen Nutzung der (wirklichen) Kosten der Verbindungen für Berechnung der Routingtabellen zumeist via SPF-Berechnung (Shortest Path First) 3
Link-State Protokolle B B: D=, A= D: C=, B= C: E=, D=, A=5 E: F=, C= F: G=, E= Conclusion: I am 9 to G trouth B A Conclusion: I am 0 to G through C D: C=, B= C: E=, D=, A=5 E: F=, C= F: G=, E= D C: E=, D=, A=5 E: F=, C= F: G=, E= 5 C C: E=, D=, A=5 E: F=, C= F: G=, E= E E: F=, C= F: G=, E= G F F: G=, E= 4
SPF (Shortest Path First) auch: optimum path Terminologie Node: Bridge, Gateway oder Router Path: Verbindung zwischen zwei Nodes least-cost Gewichtung nach z.b. Delay Durchsatz Konnektivität bekanntester Algorithmus: Dijkstra 5
SPF Prinzip least-cost Gewichtung für jeden Pfad alle Nodes mit least-cost Kriterium an bekanntem Pfad beschriftet, wenn Pfad unbekannt, dann mit beschriftet jede Node wird im Verhältnis zu benachbarten Nodes untersucht, wonach die Source-Node mit den Kosten seiner Nachbarn initialisiert wird die Node, die zur aktuellen am nächsten ist (geringste Kosten) wird als neue working node bestimmt, der Algorithmus wird iterativ fortgesetzt 6
SPF 3 Algorithmus. Let D(v)=sum of link weights on a given path. Let c(i,j)=the cost between node i and j 3. Set n={} 4. For each node (v) not in N, set D(v)=c(,v) 5. For each step, find a node w not in N for which D(w) is a minimum; add w to set N 6. Update D(v) for all nodes still not in N by: D(v) min[d(v), D(w)+c(w,v)] 7. Repeat steps (4) through (6) until all nodes are in set N 7
SPF Beispiel A 4 C D 4 E 7 G I 5 J 8 B 4 F 4 3 H 8 A C-4 B-8 B A-8 D- F-4 C A-4 D- I-7 E-4 D B- C- E- E C-4 D- F-4 G- F B-4 E-4 H-3 G E- I- H- H F-3 G- J-8 I C-7 G- J-5 J H-8 I-5 8
SPF Beispiel working node A 4 (4,A) C D 4 7 E G I 5 J 8 (8,A) B 4 F 4 3 H 8 A working node 4 (4,A) C (5,C) D 4 7 (8,C) E G I (,C) 5 J 8 (8,A) B 4 F 4 3 H 8 9
SPF Beispiel 3 A 4 8 (4,A) C working node (5,C) (7,D) D B 4 7 (7,D) E 4 F G 4 3 I H (,C) 5 8 J Wiederholung der Arbeitsschritte des SPF- Algorithmus, bis alle Nodes bearbeitet wurden 0
SPF Beispiel 4 C () I (7) A 4 () (3) (5) D E G 5 J (9) B 4 F H (6) (4) (8) Ergebnis des SPF-Algorithmus ist eine spanning tree Topologie mit folgenden Eigenschaften: alle Nodes sind mit jeder anderen Node verbunden es gibt keine Schleifen in der Topologie
OSPF OSPF - Open Shortest Path First entwickelt von J. Moy OSPFv: RFC 3, 45, 46 OSPFv: RFC 47, 53 Link-State-Protokoll Internal Gateway Protokoll
OSPF Vorteile Unterstützung von sicheren Nachrichten (MD5 Checksum) flexible Metriken für Routingentscheidungen (z.b. Distance, Hop-Count, $$) Wertebereich für Metrik von bis 65535 Skalierbarkeit (-level-hierarchy) Unterstützung von mehreren Wegen (equal path load sharing, unequal path load sharing) 3
gerichtete Graphen Router A A s link cost = 4 Router B B s link cost = Unterstützung von unterschiedlichen Metriken für Hin- und Rückrichtung 4
Basic Operations Router A Router B Hello Hello Merely Adjacent Database Descriptions Database Descriptions Merely Adjacent Fully Adjacent Link State Updates Link State Updates Fully Adjacent 5
Fluten von Routinginformationen () Initial advertisement R R4 R R3 R5 R3 entscheidet sich, LSAs an seine Nachbarn zu schicken R6 6
Fluten von Routinginformationen () Next advertisement R R4 R R3 R5 R6 7
Fluten von Routinginformationen (3) Acknowledgements Note R Note R4 R Note R3 R5 Note R6 Note : ACKs werden nicht benötigt, wenn vorher mehrere LSAs verschickt wurden Note : Mehrere Kopien von LSAs werden nicht verschickt, wohl aber ACKs 8
OSPF Areas Problem bei sehr großen Netzen Anzahl der LSAs für den Austausch von Routinginformationen ist sehr groß Lösung: Gliederung in Areas reduziert lokale Datenbank der Router reduziert Anzahl der LSAs nicht jeder einzelne Router muß Wissen über das gesamte AS haben, das übernimmt der DR (Designated Router) 9
OSPF Areas N Area R N3 R4 R5 R R3 R6 N 0
Designated Router OSPF definiert für jedes Netz einen DR Wahl typischerweise anhand höchster IP-Adresse jedem Router kann man eine Priorität geben, diese wird für die Wahl genutzt in Broadcast-Netzen wird für die Wahl IP Multicast (Gruppe 4.0.0.5) genutzt
Designated Router in Punkt-zu-Punkt-Topologien hat jeder Router genau einen Partner in Broadcast-Netzen mit n OSPF- Routern gibt es theoretisch n x (n -)/ potentielle Partnerbeziehungen mit Hilfe des DR werden diese möglichen Partnerbeziehungen auf den DR reduziert für Ausfallsicherheit: BDR (Backup DR)
Designated Router 3 R R3 R5 R6 R R4 n x (n-)/ Nachbarbeziehungen R R3 DR R5 R6 R n- Nachbarbeziehungen 3 R4
LSA Header Format LS Age (6) Options (8) LS Type (8) Link State ID (3) Advertising Router (3) LS Sequence Number (3) LS Checksum (6) Length (6) 4
LSA Format Repeat for each Link Header (60) Router Type (8) Reserved (8) Number of Links (6) Link ID (3) Link Data (3) Link Type (3) TOS Metrics (8) Metric (8) 5
LSA Beispiel 5 7.6.. 7.6..4 7.6.. 6 7.6..3 7.6..5 Header Router Type = 0 Number of Links = 3 Link ID = 7.6.. Link Data = ifindex: Link Type: Pt-to-Pt: TOS Metrics = 0 Metric = 5 7.6..6 6 Link ID = 7.6..3 Link Data = ifindex: Link Type = Pt-to-Pt: TOS Metrics = 0 Metric = 6 Link ID = 7.6.. Link Data = (mask) Link Type = Stub: 3 TOS Metrics = 0 Metric = 0
Konfiguration der Router globale Kommandos OSPF Prozeß starten routerospf<n> Bsp: router ospf Netze bekanntgeben network <netz> <maske> area <area> Bsp: network 0.0..0 0.0.0.7 area 0.0.0.0 Interfaces ausklammern passive-interface <interface> Bsp: passive-interface ethernet 0 7
Konfiguration der Router Interface Kommandos Administrative Metrik konfigurieren Bsp: interface <interface> ip ospf cost <cost> interface ethernet ip ospf cost 0 8
weitere Kommandos show ip protocols show ip ospf interface show ip ospf neighbor show ip ospf database show ip route ospf 9
Debugging debug ip ospf hello debug ip ospf events debug ip ospf packet 30