Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

OSPF Ein Internet Routing Protokoll. Dirk Jacob, Seite 2 Inhalt ëOSPF Überblick ëLink State Advertisements ëLink State Datenbank ëOSPF Pakete ëSynchronisation.

Ähnliche Präsentationen


Präsentation zum Thema: "OSPF Ein Internet Routing Protokoll. Dirk Jacob, Seite 2 Inhalt ëOSPF Überblick ëLink State Advertisements ëLink State Datenbank ëOSPF Pakete ëSynchronisation."—  Präsentation transkript:

1 OSPF Ein Internet Routing Protokoll

2 Dirk Jacob, Seite 2 Inhalt ëOSPF Überblick ëLink State Advertisements ëLink State Datenbank ëOSPF Pakete ëSynchronisation von Link State Datenbanken ëRouting Tabelle ëNetzwerk-Typen ëHierarchisches Routing ëExterne Routing Informationen ëOSPF Erweiterungen ëOSPF Paket-Typen

3 Dirk Jacob, Seite 3 OSPF Überblick ëOSPF = Open Shortest Path First ëbenutzt Dijkstras SPF Algorithmus ëoffener Standard, entwickelt von der IETF ëaktuell: Version 2, RFC 2328 ëInterior Gateway Protocol zum Routing innerhalb eines AS ëLink State Protokoll ëVorteile: ëSchneller Datenbankabgleich bei Topologie-Änderungen ëunterstützt große Netzwerke ëgeringe Anfälligkeit gegenüber fehlerhaften Routing- Informationen

4 Dirk Jacob, Seite 4 OSPF Features ëKonzept der Areas für hierarchische Topologien und Reduzierung der CPU- und Speicherlast auf den Routern ëunabhängig von IP-Subnetz-Klassen ëbeliebige, dimensionslose Metrik ëLoad Balancing bei Pfaden mit gleichen Kosten ëspezielle reservierte Multicast-Adressen reduzieren Auswirkungen auf Nicht-OSPF Geräte ëAuthentifizierung ëExternal Route Tags ëMöglichkeit des TOS-Routing (aus RFC 2328 gestrichen, da nicht genutzt)

5 Dirk Jacob, Seite 5 OSPF Funktionsweise ëRouter identifizieren beim Start ihre Nachbarn ënicht alle angrenzenden Router werden auch zu Nachbarn (adjacents) ëAbgleich der Link State Datenbanken mit den Nachbarn ëperiodische Keepalives zur Aufrechterhaltung der Nachbarschaft ëperiodische Link State Updates, um die Datenbanken konsistent zu halten ëFlooding von LSAs bei Topologieänderungen

6 Dirk Jacob, Seite 6 Einfaches Beispiel ëPoint-To-Point Verbindungen ëKosten für jede Verbindung 1 ëDatenbanken synchronisiert ëjeder Router kennt kürzesten Pfad zu jedem anderen Router ë hat zwei Routen mit gleichen Kosten nach ëVerbindung zwischen und fällt aus ëLSAs werden über das ganze Netz verteilt ënachdem DB Synchronisiert nur noch eine kürzeste Route X

7 Dirk Jacob, Seite 7 Link State Advertisements ëRouter verschicken LSA für jeden ihrer Links ëbeschreiben damit den für sie sichtbaren Teil der Topologie ëalle LSAs zusammen ergeben die Link State Datenbank Advertising Router LS Typ Link State ID LS ChecksummeLänge LS Sequence Number Bits LSA Daten AlterOptionen ëverschiedene Arten von LSAs zur Implementierung der einzelnen Features

8 Dirk Jacob, Seite 8 Identifikation von LSAs ëeindeutige Identifikation durch ëLS Typ ëLink State ID ëAdvertising Router ëLSA Instanzen werden identifiziert durch LS Sequence Number ëLSA Inhalt verifiziert durch LS Checksumme ëFletcher Checksumme über komplettes LSA, außer Alter-Feld ëSchutz gegen Corruption ëIdentität von Paketen gleichen Alters mit gleicher Sequence Number

9 Dirk Jacob, Seite 9 LSA Header Felder ëAlter ëAlter eines LSA in Sekunden ëerneutes Flooding nach 30 Minuten ëMaximales Alter 60 Minuten ëOptionen ëFlags, die eine besondere Handhabung von LSAs anzeigen ëLänge

10 Dirk Jacob, Seite 10 Beispiel: Router LSA ëden Seriellen Router Interfaces wurden keine IP-Adressen zugewiesen ëkeine IP Subnetze für serielle Verbindungen ëInterfaces haben Nummer und Kosten (1,3) (2,5) (1,3)(1,6) (3,3) (2,10) (3,10) (2,3) (1,1) (2,6) (3,3) (1,1)(2,1) (3,1) (2,3) (1,5)

11 Dirk Jacob, Seite 11 Beispiel: Router LSA (2) Advertising Router = Typ = 1 Link State ID = Checksumme = 0x9b47Länge = 60 Sequence Number = 0x Bits Alter = 0Optionen 000x Anzahl Links = 3 Link ID = Link Daten = Interf. Index 1 # TOS = 0Link Typ = 1Link-Kosten = 3 Link ID = Link Daten = Interf. Index 2 # TOS = 0Link Typ = 1Link-Kosten = 5 Link ID = Link Daten = # TOS = 0Link Typ = 3Link-Kosten = 0 Link Typ 1: Peer-to-peer Link Typ 3: Stub Network

12 Dirk Jacob, Seite 12 Link State Datenbank ëLSAs zusammen bilden Link State Datenbank ënach entdecken eines benachbarten Routers werden Datenbanken untereinander ausgetauscht ëdanach Synchronisation durch Reliable Flooding ëLS Datenbank gibt komplette Beschreibung des Netzwerks und des Zustands aller Router ëQuelle zur Berechnung der Routing Tabelle

13 Dirk Jacob, Seite 13 Beispiel Link State DB des Netzwerks aus dem vorigen Beispiel: LS-Type Router-LSA Link State ID Adv. Router Checksum 0x9b47 0x219e 0x6b53 0xe39a 0xd2a6 0x05c3 Seq. No. 0x x x x a 0x x Age

14 Dirk Jacob, Seite 14 OSPF Pakete IP Header (Protocol #89) OSPF Paket OSPF Paket Header OSPF Paket Data ë5 Pakettypen: ëHello ëDatabase Description ëLink State Request ëLink State Update ëLink State Acknowledgement ëÜbertragung über IP, Protokoll #89 ëÜbertragung direkt an Nachbarn oder über Multicast Adressen ëOSPF Pakete werden nur zwischen Nachbarn im Netz ausgetauscht, niemals außerhalb ihres Ursprungs-Netzes weiter gerouted (TTL=1)

15 Dirk Jacob, Seite 15 OSPF Header VersionTyp Area ID Länge Router ID ChecksummeAuType Authentifizierung*) Paket Daten Bits Key IDAuth. Length0x0000 Cryptogr. Sequence Number *) falls AuType = 2:

16 Dirk Jacob, Seite 16 Identifizieren von Nachbarn ëNachbarn sind die Router, mit denen ein Router direkt Informationen austauscht ëperiodisches Senden von Hello-Paketen über alle Interfaces ëHello Protokoll ëauch zum erkennen fehlerhafter Links ësicherstellen mehrerer Vorausetzungen ëbidirektionale Kommunikation ëÜbereinstimmung verschiedener Parameter ëerkennen und aushandeln verschiedener Erweiterungen ëin bestimmten Netzwerktypen zusätzliche Funktion

17 Dirk Jacob, Seite 17 Datenbank-Synchronisation ëzentraler Punkt, da alle Router identische Datenbanken haben müssen ë2 Arten von Synchronisation: ëInitiale Synchronisation, wenn das Nachbarschafts-Verhältnis aufgebaut wird ëKontinuierliche Synchronisation, um die Konsistenz der Datenbanken zu gewährleisten (flooding)

18 Dirk Jacob, Seite 18 Initiale Synchronisation ëExplizite Übertragung der gesamten Datenbank, wenn Nachbarschaftsverhältnis aufgebaut wird ëabhängig vom Netzwerk-Typ (später) ëSynchronisatzion, wenn bi-direktionale Kommunikation besteht ëSenden aller LS Header aus der eigenen LSDB an den Nachbarn ëOSPF Database Description Pakete ëFlooding aller zukünftigen LSAs über die Verbindung ëimmer nur ein DD Paket zur selben Zeit, Senden des nächsten Pakets erst nach Acknowledge durch Senden eines entsprechenden DD Pakets des Nachbarn ëbestimmen, welche LSAs in der eigenen DB fehlen und Anfordern dieser Pakete mit Link State Request Paketen ëNachbar flooded diese in Link State Update Paketen ëdanach bereit für Daten-Verkehr über die Verbindung (fully adjacent)

19 Dirk Jacob, Seite 19 Beispiel OSPF Hello OSPF Hello: I heard Database Description: Sequence = x DD: Sequence = x, 5 LSA Headers = (router-LSA, , 0x ), (router-LSA, , 0x ), (router-LSA, , 0x ), (router-LSA, , 0x b), (router-LSA, , 0x ), (router-LSA, , 0x ) DD: Sequence = x+1, 1 LSA Header = (router-LSA, , 0x ) DD: Sequence = x+1 ëRouter aus vorherigen Beispielen sind synchronisiert ë wird neu gestartet

20 Dirk Jacob, Seite 20 Beispiel (2) LS Update: LSAs = (router-LSA, , 0x ), (router-LSA, , 0x ), (router-LSA, , 0x ), (router-LSA, , 0x b), (router-LSA, , 0x ), (router-LSA, , 0x ) LS Request: LSAs = (router-LSA, ), (router-LSA, ), (router-LSA, ), (router-LSA, ), (router-LSA, ), (router-LSA, ) LS Update: LSA = (router-LSA, , 0x )

21 Dirk Jacob, Seite 21 Reliable Flooding ë schickt LS Update ëgleiche Kopie eines LSA ist implizites Ack ëgenerell: delayed Acks ëalle LSAs müssen implizit oder explizit acknowledged werden

22 Dirk Jacob, Seite 22 Robustheit des Flooding ëFlooding über alle Links nicht nur über Spanning Tree ëeinzelne gestörte Links stören nicht die Synchronisation ëLSA-Refreshs nach 30 Minuten, um Fehler in Router-Datenbanken zu korrigieren ëÜbertragungsfehler werden durch Checksumme erkannt ësolche LSAs nicht acknowledgen ëLS Alterung zwingt zum regelmäßigen Austausch der LSAs in den Datenbanken ënach max. 1h ist auf jeden Fall aktuelle LSA in der Datenbank ëLSAs können höchstens alle 5s aktualisiert werden ëkeine Annahme von LSAs die weniger als 1s vorher bereits angenommen wurden

23 Dirk Jacob, Seite 23 Berechnung der Routing Tabelle ëLink State Datenbank ist ein gerichteter Graph mit Kosten für jeden Link ëDijkstras SPF Algorithmus zur Berechnung der kürzesten Pfade zu allen Zielen gleichzeitig: ëaddiere Router zum Shortest-Path-Tree ëfüge alle Nachbarn zur Candidate List hinzu ëaddiere den Router mit den kleinsten Kosten zum Tree ëfüge die Nachbarn dieses Routers an die Candidate List an ë wenn noch nicht vorhanden ë wenn Kosten niedriger als im bisherigen Listeneintrag ëwiederhole, bis die Candidate List leer ist ëLaufzeit O(l*log(n))

24 Dirk Jacob, Seite 24 Beispiel (1, ) (3, ) (5, ) (3, ) (4, ) (5, ) (11, ) (4, /2) (5, ) (11, ) (5, ) (10, /2) Liste leer.

25 Dirk Jacob, Seite 25 Netzwerk-Typen ëbisher nur einfache Point-to-Point Verbindungen ëviele andere Netzwerk-Technologien (Ethernet, Token Ring,...) ëspezifische Anforderungen an OSPF ëUnterschiede in: ëAufbau und Aufrechterhaltung von Nachbarschafts- Verhältnissen ëDatenbank Synchronisierung ëRepräsentation in der Link State Datenbank ëPoint-To-Point ëBroadcast ëNonbroadcast Multiaccess ëPoint-to-Multipoint

26 Dirk Jacob, Seite 26 IP Subnetze ëIP Subnetze bestehen aus Netzwerk-Adresse und Subnetz Maske ëIP-Routing auf Subnetz Ebene, nicht auf Host Ebene ëVerkehr zwischen IP Subnetzen geht über Router ëPakete können zwischen Hosts/Routern im gleichen Subnetz verschickt werden ëDatenaustausch zwischen Routern nur, wenn sie an ein gemeinsames Subnetz angeschlossen sind ëOSPF Hellos werden nur akzeptiert, wenn: ëgleiche Subnet-Mask ëbeide Interfaces gehören zum gleichen IP Subnetz

27 Dirk Jacob, Seite 27 Broadcast Subnets ëNetzwerk, in dem ein Paket von allen anderen im Netz empfangen wird (z.B. Ethernet) Nachbarschaftsverhältnisse: ëOSPF Router gehören der Multicast Gruppe AllSPFRouters ( ) an ëHello Pakete werden an diese Adresse geschickt ëermöglicht automatisches Erkennen von Nachbarn, ohne deren IP Adressen kennen zu müssen ëReduzieren von Hello-Paketen, da alle angrenzenden Router mit einem Hello Paket erreicht werden ëwenn Multicast nicht unterstützt wird, werden Hellos als Broadcast verschickt (also auch an Nicht-OSPF Knoten)

28 Dirk Jacob, Seite 28 Broadcast Subnets (2) Datenbank-Synchronisation: ëviel Last durch unnötige Last, wenn jeder Router LSAs an jeden anderen Router verschickt ëKonzept des Designated Routers, der das Netzwerk repräsentiert ëRouter bilden nur Nachbarschaftsverhältnis mit dem DR ëBackup DR steht bereit, falls der DR ausfällt ëDesignated Routers haben Multicast Adresse (AllDRouters)

29 Dirk Jacob, Seite 29 Wahl des DR und BDR ëRouter wird aktiv und bestimmt alle Nachbarn ëwenn aktiver DR und BDR, diese übernehmen ëkein BDR, dann wird der Router mit der höchsten Priorität BDR ëbei gleicher Priorität, Router mit der größten ID ëkein DR, dann BDR zum DR wählen und Prozedur für BDR wiederholen ëerste beide zur Wahl stehende Router werden DR und BDR ënur Router mit Priorität > 0 mit bidirektionaler Kommunikation stehen zur Wahl ësteht kein Router zur Wahl, dann kein DR und BDR ëkeine Adjacencies ënur ein Router, dann DR und kein BDR

30 Dirk Jacob, Seite 30 Network LSAs ëNetwork LSA repräsentiert das gesamte Broadcast Subnetz ëRouter LSAs haben einen Link zur Network LSA ëReduktion der Links von n*(n-1) auf n*2 ëDR verbreitet Network LSA ëLink State ID = IP-Adresse des DR

31 Dirk Jacob, Seite 31 Network LSA Pakete Advertising Router Typ = 2 Link State ID ChecksummeLänge Sequence Number Bits AlterOptionen Netzwerk Maske Router

32 Dirk Jacob, Seite 32 NBMA Subnets ëNBMA Subnetze erlauben beliebigen Routern direkt miteinander zu kommunizieren, bieten aber kein Broadcast (z.B. ATM,...) ëNBMA Netze können als Point-to-Multipoint Netze modelliert werden ëaber auch ähnliche Mechanismen wie bei Broadcast Netzen ëkein Broadcast möglich, also müssen benachbarte Router von Hand konfiguriert werden ënur in Routern mit Priorität >0, da nur diese DR werden können und alle anderen kennen müssen ëdiese wählen dann DR und BDR ëDR schickt Hellos an die übrigen Router, die dann per Unicast antworten können ëDatenbank Synchronisation wie bei Broadcast Netzen ëRepräsentation in der Datenbank auch hier mit Network LSA

33 Dirk Jacob, Seite 33 Point-to-Multipoint Subnets ëüberall Anwendbar, wo auch NBMA Subnetze anwendbar sind (ATM,...) ënormalerweise verbindungs-gebundene Netzwerke ënicht alle Router müssen paarweise kommunizieren können ëeinzelne Verbindungen werden dabei wie Point-to-Point Links behandelt ëAufbau von Nachbarschaft wie bei Point-to-Point Links ëNachbarschaft mit allen Routern zu denen bidirektionale Kommunikation besteht ëDatenbank-Synchronisation wie bei Point-to-Point Links ëin der Router LSA: ëeine point-to-point Verbindung zu jedem Nachbarn ëein Stub Network für seine eigene IP-Adresse

34 Dirk Jacob, Seite 34 Hierarchisches Routing ëgroße AS führen zu großen Link State Datenbanken ëhohe Anforderungen an Speicher und Prozessoren der Router ëhohe Bandbreiten beim Austausch von Routing Informationen ëPartitionieren des Netzes in einzelne Teile ëHierarchie ëoberste Ebene: Routing ist flach, alle Router kennen alle Netzwerksegmente ëaber: nur rudimentaere Kenntnisse über andere Partitionen ëweiterreichen von Paketen an die jeweils höhere Stufe, wenn Zieladresse nicht bekannt ëmöglicherweise wird der Weg von Quelle zu Ziel länger

35 Dirk Jacob, Seite 35 OSPF Areas ëin OSPF zwei Hierarchiestufen ëAreas ëjede Area hat eigene Link State Datenbank ëRouting innerhalb der Area ist flach ëDetails über die Topologie der Area sind außerhalb der Area nicht bekannt ëRouter-LSAs und Network-LSAs werden nicht über Area Grenzen hinweg geflooded ëRouter, die zu mehreren Areas gehören heißen Area Border Routers ëABRs tauschen Informationen über Areas in Network Summary LSAs aus ëin Summary LSAs werden Adressen aus der Area zu einem Longest Prefix zusammengefaßt ëLink State ID ist die Prefix-Adresse (z.B ) ëKosten = Kosten vm ABR zum teuersten Ziel-Netz

36 Dirk Jacob, Seite 36 Network Summary LSA Advertising Router Typ = 3 o. 4 Link State ID ChecksummeLänge Sequence Number Bits AlterOptionen Netzwerk Maske 0x00Kosten TOSTOS-Metrik 0x00Kosten

37 Dirk Jacob, Seite 37 Area Organisation ëalle Areas müssen mit der Backbone Area (Area ID 0) verbunden sein ëABRs schicken Summary LSAs ihrer Areas in den Backbone ëfür jedes Ziel wird die beste Summary LSA in die eigene Area geschickt ënicht unbedingt physikalische Links an Backbone erforderlich ëvirtuelle Links

38 Dirk Jacob, Seite 38 Virtuelle Links ëlogischer Anschluß von Areas an den Backbone ëSummary LSAs werden durch einen Tunnel durch eine Area transportiert ëDatenpackete werden nicht über Backbone gerouted, falls dieser nicht auf dem kürzesten Weg liegt ëvirtuelle Links vergleichbar mit Punkt-zu-Punkt Links Area 0 Area 1 Area 2

39 Dirk Jacob, Seite 39 Externe Routing Information ëInternet besteht aus Autonomen Systemen ëOSPF innerhalb von AS ëGrenze einer OSPF Domain zur Außenwelt ist AS Boundary Router ëRouting Information aus anderen Routing Protokollen kann von ASBRs mit eingebracht werden um den besten Weg aus dem eigenen Netz heraus zu finden ëAS External LSAs ëzwei Arten von Externem Traffic ëIntra-Area ëInter-Area ëType 1 External (Kosten bis zum ASBR + Externe Kosten) ëType 2 External (nur externe Kosten)

40 Dirk Jacob, Seite 40 AS External LSA Advertising Router Typ = 5 Link State ID ChecksummeLänge Sequence Number Bits AlterOptionen Netzwerk Maske EKosten Forwarding Adresse External Route Tag ETOS MetrikTOS Forwarding Adresse External Route Tag Netzwerk Maske EKosten Forwarding Adresse External Route Tag

41 Dirk Jacob, Seite 41 Areas und Externe Routen ëAS External LSAs werden über Area Grenzen geflooded ëzusätzlich werden ASBR-Summary LSAs von den ABRs in ihren Areas verteilt

42 Dirk Jacob, Seite 42 Area Typen ëVerschiedene Area Typen, um Link State Datenbanken weiter verkleinern zu können ëStub Areas ëAS External LSAs werden dorthin nicht übertragen ëRouting zu externen Zielen über Default Routen ëkeine ASBRs ëkeine virtuellen Links ëSummary LSAs optional ëNSSAs ëErweiterung zu Stub Areas ëkleine Anzahl externer Rouen erlaubt ëNSSA External LSAs ëwerden an der NSSA-Grenze in AS-External LSAs übersetzt ëNSSA-Grenze ist Einbahnstraße für Externe Routing-Information

43 Dirk Jacob, Seite 43 NSSA External LSA Advertising Router Typ = 7 Link State ID ChecksummeLänge Sequence Number Bits AlterOptionen Netzwerk Maske EKostenTOS Forwarding Adresse External Route Tag Netzwerk Maske EKostenTOS Forwarding Adresse External Route Tag

44 Dirk Jacob, Seite 44 OSPF Erweiterungen *DCEAN/PMCET* ëOSPF Optionen: ëDC = Unterstützung von Wählleitungen (RFC 1793) ëEA = Empfang und Weiterleitung von External Attribute LSAs ëN = NSSA External LSAs werden unterstützt (in Hello Paketen) ëP = Pakete vom Typ 7 in Typ 5 übersetzen (in NSSA External LSAs) ëMC = Forwarding von IP Multicast Paketen (MOSPF) ëE = Annehmen von AS External LSAs ëT = Unterstützung von TOS ëwenn Optionen nicht übereinstimmen ëevtl. kein Nachbarschaftsverhältnis ëkein Flooding von neuen LSA-Typen, wenn vom Nachbar nicht unterstützt ëevtl. Ignorieren bestimmter LSAs bei der Berechnung der Routing Tabelle

45 Dirk Jacob, Seite 45 Hello Paket OptionsRouter Prio. Area ID Länge Router ID ChecksummeAuType Authentifizierung Netzwerk Maske Bits Hello Interval Router Dead Interval Designated Router Backup Designated Router Neighbour VersionTyp=1

46 Dirk Jacob, Seite 46 Database Description Paket Options00000 Area ID Länge Router ID ChecksummeAuType Authentifizierung Bits Interface MTUl DD Sequence Number LSA Headers VersionTyp=2 IMMS

47 Dirk Jacob, Seite 47 Link State Request Area ID Länge Router ID ChecksummeAuType Authentifizierung Link State Type Bits Link State ID Advertising Router VersionTyp=3 Link State Type Link State ID Advertising Router

48 Dirk Jacob, Seite 48 Link State Update Area ID Länge Router ID ChecksummeAuType Authentifizierung Anzahl LSAs Bits LSAs VersionTyp=4

49 Dirk Jacob, Seite 49 Link State Acknowledgement Area ID Länge Router ID ChecksummeAuType Authentifizierung Bits LSA Headers VersionTyp=5

50 Dirk Jacob, Seite 50 ENDE.


Herunterladen ppt "OSPF Ein Internet Routing Protokoll. Dirk Jacob, Seite 2 Inhalt ëOSPF Überblick ëLink State Advertisements ëLink State Datenbank ëOSPF Pakete ëSynchronisation."

Ähnliche Präsentationen


Google-Anzeigen