Open Shortest Path First (OSPF) Seminar ... · PDF fileRheinisch-Westfälische Technische...

of 40 /40
Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol Open Shortest Path First (OSPF) Seminar: Datenkommunikation SS 2003 Jan Gall Matrikelnummer: 222692 Betreuung: Rajendra Persaud Lehrstuhl für Informatik IV, RWTH Aachen

Embed Size (px)

Transcript of Open Shortest Path First (OSPF) Seminar ... · PDF fileRheinisch-Westfälische Technische...

  • Rheinisch-Westflische Technische Hochschule AachenLehrstuhl fr Informatik IVProf. Dr. rer. nat. Otto Spaniol

    Open Shortest Path First(OSPF)

    Seminar: DatenkommunikationSS 2003

    Jan GallMatrikelnummer: 222692

    Betreuung: Rajendra PersaudLehrstuhl fr Informatik IV, RWTH Aachen

  • Inhaltsverzeichnis

    1 Einleitung 1

    2 Klassifizierung von Routing-Algorithmen 2

    3 Modellierung 5

    4 Open Shortest Path First 74.1 Link-State-Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2 Aufbau des Shortest Path Tree und der Routing-Tabelle . . . . . . . . . . . . . . . . 10

    4.2.1 Router und Transit Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2.2 Stub Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.3 Externe Routen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.4 Komplexittsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4.3 Aufteilung in Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.1 Die Backbone Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3.2 Stub Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3.3 Klassifizierung von Routern . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3.4 Beispiel fr die Aufteilung in Areas . . . . . . . . . . . . . . . . . . . . . . 20

    4.4 Konstruktion der Link-State-Datenbank . . . . . . . . . . . . . . . . . . . . . . . . 234.4.1 Link State Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.4.2 Generischer Paket-Header . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4.3 Das Hello-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.4.4 Adjazenzen (oder: Der Flooding-Prozess) . . . . . . . . . . . . . . . . . . . 29

    5 Quality-of-Service Erweiterung von OSPF 315.1 Der Pfad-Auswahl-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    5.1.1 Stub Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.2 Protokoll-Erweiterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.3 Analyse der Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    i

  • 1 Einleitung

    Abbildung 1: Visualisierung vom NCSA1

    Bei der Entwicklung von Computer-Netz-werken war ein Designaspekt unter an-derem, die Komplexitt der zugrunde lie-genden Technik vor dem Benutzer zu ver-bergen. So kann jeder das heutige Inter-net nutzen, ohne mit Begriffen wie Rou-ter, Switch oder TCP/IP2 vertraut zu sein;fr den Anwender ist es dabei unerheblich,wie die Daten von einem entfernten Hostauf den eigenen Rechner gelangen.

    Eine zentrale Rolle bei der Funktionsweisevon paket-orientierten Netzwerken kommtdabei dem Routing zu, das fr die Wei-terleitung von Paketen zwischen zwei ent-fernten Rechnern zustndig ist. Dabei be-stimmt jeder Router unabhngig anhandseiner aktuellen Routing-Tabelle, eventu-ellen Nebenbedingungen und des ankom-menden Pakets den ausgehenden Link, ber den das Paket weitergeleitet werden soll. Diese Routing-Entscheidung wird abhngig vom zugrunde liegenden Routing-Algorithmus getroffen, der damit ent-scheidend fr den Paketfluss in einem Netzwerk ist. Auerdem ist der eingesetzte Algorithmus fr dieEinhaltung geforderter Nebenbedingungen zustndig, wie zum Beispiel der Vermeidung dedizierterNetze oder der Gewhrleistung einer garantierten Dienstqualitt.

    In Abschnitt 2 werden zunchst generelle Eigenschaften von Routing-Algorithmen vorgestellt, dieeine Klassifizierung der Algorithmen zulassen. Es wird zwischen Link-State und Distance-Vector Al-gorithmen unterschieden. Auerdem wird die Aufteilung eines Netzes in Autonomous Systems (ASs)vorgestellt, wodurch Routing in groen Netzen erst mglich wird.

    Abschnitt 3 beschreibt die Modellierung von Netzwerken, d. h. wie Netzwerke als Strukturen in Rou-tern reprsentiert werden.

    Abschnitt 4 behandelt das Protokoll Open Shortest Path First (OSPF) Version 2, ein sehr verbreite-tes Protokoll fr Intra-AS Routing, d. h. das Routing innerhalb eines Autonomous Systems. Dabeiwird ein Top-Down Ansatz verfolgt, der das Protokoll allerdings aus Platzgrnden nicht erschpfendbehandeln kann.

    Abschnitt 5 behandelt schlielich eine Quality-of-Service (QoS) Erweiterung zu OSPF, die die Aus-wahl von Pfaden mit einer garantierten Bandbreite ermglicht.

    1National Center for Supercomputing Applications, siehe http://archive.ncsa.uiuc.edu/SCMS/DigLib/text/technology/Visualization-Study-NSFNET-Cox.html. Die Abbildung zeigt den Traffic in das ANS/NSFnet T3 Backbone im Novem-ber 1993. Die farbigen Linien reprsentieren virtuelle Verbindungen von Netzen in das Backbone.

    2Transmission Control Protocol/Internet Protocol

    1

    http://archive.ncsa.uiuc.edu/SCMS/DigLib/text/technology/Visualization-Study-NSFNET-Cox.htmlhttp://archive.ncsa.uiuc.edu/SCMS/DigLib/text/technology/Visualization-Study-NSFNET-Cox.html

  • 2 Klassifizierung von Routing-Algorithmen

    Routing-Algorithmen lassen sich zunchst in statische bzw. dynamische Algorithmen einteilen.

    Beim statischen Routing sind die Routing-Tabellen im Router fest vorgegeben, so dass die einzigeAufgabe darin besteht, zu jedem ankommenden Paket den zugehrigen ausgehenden Link aus einerstatischen, vorher konfigurierten Tabelle auszulesen. Falls kein passender Eintrag gefunden wird, wirddas entsprechende Paket entweder verworfen oder an das Interface weitergeleitet, das als Default-Route gesetzt ist. Dieses Verfahren ist offensichtlich nur fr kleinere oder solche Netze geeignet,deren Topologie sich selten verndert oder bei denen die Auslastung verschiedener Links nicht starkschwankt, da jede ntige nderung der Routing-Tabelle eine manuelle Anpassung erfordert. Ein Vor-teil dieses Verfahrens ist, dass man sich nach einmaliger (erfolgreicher) Konfiguration nicht um Pro-bleme wie Routing Loops oder Oszillation bzw. Route Flapping, einem stndigen Wechsel zwi-schen mglichen Routen zu einem Ziel, kmmern muss.

    Wesentlich flexibler sind dynamische Routing-Algorithmen, bei dem die Router nderungen der To-pologie eines Netzes selbststndig erkennen und ihre Routing-Tabellen entsprechend anpassen. DieseKlasse lsst sich weiter unterteilen in Link-State und Distance-Vector Algorithmen.3 Hierbei unter-scheiden sich die Link-State von den Distance-Vector Algorithmen durch die Sichtweise eines Rou-ters auf das Netz, d. h. welche Informationen er ber das Netz hat.

    Link-State Routing-Algorithmen sind auch bekannt als globale Routing-Algorithmen [5]. Sie berech-nen den krzesten Pfad zwischen Quell- und Zielhost anhand von vollstndigem Wissen ber dieTopologie des Netzwerks; der Algorithmus bentigt als Eingabe zu jedem Link im Netz den Start-und Endknoten und die Kosten. Das heit, dass der Algorithmus diese Informationen vor dem Startder eigentlichen Berechnung zum Beispiel mittels Flooding bestimmen muss. Anschlieend knnendie krzesten Pfade entweder zentral oder von jedem Router separat bestimmt werden (z. B. mit demDijkstra-Algorithmus). Ein Vertreter dieser Klasse ist OSPF (Open Shortest Path First), auf das inAbschnitt 4 ausfhrlich eingegangen wird.

    Distance-Vector Routing-Algorithmen werden auch als dezentrale Routing-Algorithmen bezeich-net [5]. Die Berechnung eines krzesten Pfades geschieht hier in einer iterativen, verteilten Weise.Kein Router hat vollstndiges Wissen ber das Netz. Beim Aufbau der Routing-Tabelle beginnt jederRouter die Berechnung mit den Kosten der Links zu seinen direkten Nachbarn. Durch einen itera-tiven Prozess von Berechnungen und Informationsaustausch wird nach und nach der krzeste Pfadzu jedem Zielhost bestimmt. Der Name Distance Vector rhrt daher, dass ein Router im Allgemei-nen nicht den vollstndigen krzesten Pfad zwischen zwei Punkten kennt. Stattdessen wei er nur,an welchen seiner Nachbarn er ein Paket weiterleiten muss, um es entlang des krzesten Pfades zueinem bestimmten Zielhost zu routen. Zustzlich kennt er noch die Kosten des Pfades von ihm selbstzu diesem Zielhost. Als Quasi-Standard hat sich im Internet als Vertreter dieser Klasse BGP (BorderGateway Protocol)4 etabliert.

    3Daneben gibt es noch hybride Algorithmen, EIGRP (Enhanced Interior Gateway Routing Protocol) vereint mit demDiffusing Update Algorithmus (DUAL) zum Beispiel Fhigkeiten beider Klassen.

    4BGP ist eigentlich kein Distance-Vector Algorithmus im klassischen Sinn (Bellman-Ford-Algorithmus), sondernvielmehr ein Path-Vector Algorithmus. Ein Nachbar sagt nicht nur, ob, sondern auch wie er ein Ziel erreichen kann. Eintypischer Vertreter dieser Klasse ist zum Beispiel RIP (Routing Information Protocol).

    2

  • Bis jetzt wurde ein Netz als ein Zusammenschluss von gleichberechtigten Routern und Hosts betrach-tet. In der Praxis ist dieser Ansatz aus mindestens zwei wichtigen Grnden nicht mglich:

    1. Skalierung: Mit steigender Zahl von Routern steigt auch der Overhead zur Berechnung, Spei-cherung und Weitergabe der Routing-Tabellen. Die zur Verfgung stehende Bandbreite wrdezum Groteil durch die Kommunikation der Router untereinander bentigt. Ein iterativer Dis-tance-Vector Algorithmus wrde bei einem Netz der Gre des Internets niemals konvergieren.

    2. Administrative Autonomie: In unterschiedlichen Netzen werden auch unterschiedliche Anfor-derungen bzw. Nebenbedingungen an den einzusetzenden Routing-Algorithmus gestellt; au-erdem ist vielen Organisationen daran gelegen, den internen Aufbau des eigenen Netzes zuverbergen. Die Wahl eines geeigneten Algorithmus sollte also dem zustndigen Administra-tor unterliegen. Trotzdem muss es weiterhin mglich sein, das eigene mit anderen Netzen zuverbinden.

    Die Lsung besteht in einer hierarchischen Sichtweise des Netzwerks (hierarchisches Routing). Ver-schiedene Router