Falko Dreßler, Regionales Rechenzentrum falko.dressler@rrze.uni-erlangen.de
Grundlagen Überblick Autonome Systeme Internal vs. External Gateway Protocols Distance-Vector Protokolle Link-State Protokolle RIP (Routing Information Protocol) OSPF (Open Shortest Path First) BGP (Border Gateway Protocol)
Grundlagen Autonome Systeme Internal vs. External Gateway Protocols Statische Routen, default Routen, Stubs Distance-Vector Protokolle Link-State Protokolle 3
Internetworking Subnetz Router 4
Autonome Systeme AS AS Area NW NW Area NW NW Network AS Autonomes System AS 4 Area NW NW NW NW Area AS 3 5
Internal / External Gateway Protocols Autonomes System Autonomes System IGP IGP IGP IGP IGP IGP IGP EGP IGP IGP IGP 6
Statische Routen, default-route, Stubs Stub network: Netzwerk mit nur einer Verbindung zum Backbone default-route: gatewas of last resort, wird genutzt, wenn kein anderer Routingeintrag greift Routen vom Backbone zum Stub meist durch statischen Route Route vom Stub ins Backbone meist durch statischen default-route 7
Statische Routen, default-route, Stubs Stub Network Stub Network default-route Stub Network static Route Backbone 8
Distance-Vector Protokolle auch Minimum-Hop Protokolle genannt sehr einfach, leicht zu installieren Arbeitsprinzip: jeder Router hält Tabelle mit bestem Pfad zu jedem bekannten Ziel periodische Weitergabe dieser Tabelle jeweils an alle direkten Nachbarn Problem: langsame Konvergenz bei Routingänderungen 9
Distance-Vector Protokolle I am 5 to G B I am 4 to G A I am 3 to G I am to G I am 3 to G D I am to G C E I am to G G F I am next to G 0
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)
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 9 to G through C D: C=, B= C: E=, D=, A=5 E: F=, C= F: G=, E= C: E=, D=, A=5 E: F=, C= F: G=, E= 5 C C: E=, D=, A=5 E: F=, C= F: G=, E= D E E: F=, C= F: G=, E= G F F: G=, E=
SPF (Shortest Path First) auch: optimum path Terminologie Node: Bridge, Gateway oder Router Path: Verbindung zwischen Nodes least-cost Gewichtung nach z.b. Delay Durchsatz Konnektivität bekanntester Algorithmus: Dijkstra 3
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 Algotihmus wird iterativ fortgesetzt 4
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)wmin[D(v), D(w)+c(w,v)] 7. Repeat steps (4) through (6) until all nodes are in set N 5
6 SPF Beispiel 4 3 8 7 4 4 8 5 4 A G I E J H F C D B I-5 H-8 J J-5 G- C-7 I J-8 G- F-3 H H- I- E- G H-3 E-4 B-4 F G- F-4 D- C-4 E E- C- B- D E-4 I-7 D- A-4 C F-4 D- A-8 B B-8 C-4 A
SPF Beispiel (4,A) C 7 I working node A 4 D 4 E G 5 J 8 (8,A) B 4 F 4 3 H 8 working node (4,A) C 7 I (,C) 4 4 (8,C) 5 A (5,C) D E G J 8 (8,A) B 4 F 4 3 H 8 7
SPF Beispiel 3 (4,A) C 7 I (,C) A 4 8 working node (5,C) (7,A) D B 4 (7,C) E 4 F G 4 3 H 5 8 J Wiederholung der Arbeitsschritte des SPF-Alrorithmus, bis alle Nodes bearbeitet wurden 8
SPF Beispiel 4 C () I (7) 4 () (3) (5) 5 A D E G J (9) 4 B 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 9
RIP RIP - Routing Information Protocol entwickelt von Ford und Fulkerson, daher auch Ford-Fulkerson Algorithmus definiert in RFC 058 sehr einfaches Protokoll Distance-Vector basiert Hop-Count als einzige Metrik unterstützt keine variablen Netzmasken (RIPv) 0
RIP Prinzipien verbreitet nur Netzadressen und Entfernungen (Hop-Count) maximaler Hop-Count: 6 (=unendlich) Verbreitung der Routen alle 30 sek. via Broadcast nach 80 sek. ohne neues Update y Route als unbrauchbar markiert nach 40 sek. ohne Update y Route wird gelöscht
Routing Beispiel R Network (3,5) R R3 (,5) Network 3 Network 4 (4,5) R4 R5 (,5) Network 6 Network 5 RIP routing table at R3 Destination Next hop Metric Direct or Remote Local or RIP Interface Network 0 D L Network3 R R R Network4 0 D L Network5 R5 R R Network6 R 3 R R
Konvergenz Beispiel Network R (,) Network (,) R R3 (,) Network 3 Network 4 (3,) R4 R5 (3,) Network 6 Network 5 Convergence timing to learn about network Time R R R3 - -,R,R 3,R,R R4 - - 3,R R5 - - 3,R3 3
Paketformat RIPv Bit 0-7 Bit 8-5 Command Version Address family IP address All zeroes All zeroes metric repeat of previous 0 bytes RIPv Bit 0-7 Bit 8-5 Command Version Address family IP address Subnet mask Next hop IP address metric repeat of previous 0 bytes Bit 6-3 All zeroes All zeroes Bit 6-3 Routing domain Route tag 4
Konvergenzprobleme - Counting to Infinity R hat Route für Host verbreitet es tritt ein Fehler bei H ein R verbreitet neue Route zu H mit Metrik 6 (unendlich) R schickt Update bevor er vom Fehler erfährt R empfängt Update, sieht Weg zu H mit Metrik R generiert Eintrag in Routingtabelle für H mit Metrik 3 R und R erhöhen langsam die Metrik für H y endet, wenn R und R Metrik 6 für H erreichen y unnötiger Netzverkehr wird erzeugt R Failure Network Network R R3 5
Ansätze zur Problemlösung Split Horizon Grundidee: es macht keinen Sinn, Routen in die Richtung weiterzugeben, aus der man sie bekommen hat Split Horizon with Posion Reverse Grundidee: sende Routinginformationen in die Richting, aus der sie gekommen sind mit Metrik 6 (unendlich) zurück Holddown Grundidee: akzeptiere keine Routinginformationen zu einem Ziel, für welches man selbst eben Informationen verbeitet hat, für eine gewisse Zeit 6
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 7
Vorteile OSPF 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) 8
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 9
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 30
Fluten von Routinginformationen () Initial advertisement R R4 R R3 R5 R3 entscheidet sich, LSAs an seine Nachbarn zu schicken R6 3
Fluten von Routinginformationen () Next advertisement R R4 R R3 R5 R6 3
Fluten von Routinginformationen (3) Acknowledgements Note R Note R4 R Note R3 R5 Note : ACKs werden nicht benötigt, wenn vorher mehrere LSAs verschickt wurden Note : Mehrere Kopien von LSAs werden nicht verschickt, wohl aber ACKs R6 Note 33
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 reduziet Anzahl der LSAs nicht jeder einzelne Router muß Wissen über das gesamte AS haben, das übernimmt der DR (Designated Router) 34
OSPF Areas N Area R N3 R4 R5 R R3 R6 N 35
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 36
Designated Router in Punkt-zu-Punkt-Topologien hat jeder Router genau einen Partner in Broadcast-Netzen mit n OSPF- Routern hat er theoretisch n x (n -)/ potentielle Partner mit Hilfe des DR werden diese möglichen Partnerbeziehungen auf den DR reduziert für Ausfallsicherheit: BDR (Backup DR) 37
Designated Router 3 R R3 R5 R6 R R4 n x (n-)/ Nachbarbeziehungen R R3 DR R5 R6 R R4 n- Nachbarbeziehungen 38
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) 39
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) 40
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 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 4
BGP BGP - Border Gateway Protocol das Protokoll im Internet um Routen zu verbreiten External Gateway Protokoll benutzt TCP als sicheres Transportprotokoll unterstützt policy-based Routing arbeitet auf einem Graphen von ASs 4
BGP BGP link AS BGP link AS 3 AS BGP link BGP link BGP link AS 4 AS 5 43
BGP 3 Neighbors external neighbors - fremdes AS internal neighbors - selbes AS EBGP vs. IBGP external BGP - zwischen ASs internal BGP - innerhalb eines ASs 44
BGP 4 BGP Speakers Prozess auf den Routern bestätigen anhand von Agreements, daß der AS Border-Router als Eingang/Ausgang für bestimmte Netze außerhalb des eigenen AS nutzbar ist IBGP-Speaker im AS voll vermascht Routingschleifen werden verhindert, indem IBGP- Speaker intern keine Routing-Informationen verbreiten, die sie von einem IBGP-Speaker bekommen haben 45
BGP Advertising AS 3 4 5 6 AS 3 AS 7 9.69.6. 8 AS 4 9 AS 5 0 AS advertises: 9.69.0.0/6 AS AS advertises: 9.69.0.0/6 AS AS AS 3 advertises: 9.69.0.0/6 AS AS AS 3 AS 5 sees: 9.69.0.0/6 AS AS AS 5 also sees: 9.69.0.0/6 AS AS AS 3 46
Multihomed Non-Transit AS NW 3 AS ISP A NW NW NW 3, NW 4 NW, NW NW, NW NW 5, NW 6 AS ISP B AS 3 ISP C NW 4 NW 5 NW 6 47
Multihomed Transit AS NW 3 AS ISP A NW NW NW 3, NW 4 NW, NW, NW 5, NW 6 NW, NW, NW 3, NW 4 NW 5, NW 6 AS ISP B AS 3 ISP C NW 4 NW 5 NW 6 48