Zum Inhalt springen

Kurs:Internet und Verschluesselung/Internet protokol (IPv4)/Routing algorithmus

Aus Wikiversity

Routing algorithmus

Lernziele

  1. Was veraendert sich im IP header alles waerend ein Datenpaket durch das Internet geschickt wird
  2. Wie funktioniert eine Routingtabelle
  3. Wie funktioniert der IP-Forwarding algorithmus zum routen von Datenpaketen
  4. Was passiert, wenn im ein Datenpaket aus netzwerk eine gewisse Groesse hat das von einem Router durch ein Netzwerk B geroutet werden soll, welches aber nicht so grosse Datenpakete unterstuetzt
  5. Was passiert wenn 1 Rechner gleichzeitig 2 verschiedene datenstroeme (die jeweils mehrere IP-Pakete benoetigen) zum gleichen rechner zielrechner schickt beim zielrechner (wennn man nur ethernet und IP verwendet)
  6. Warum kann die MAC adresse nicht zum routing verwendet werden bzw. warum musste noch das konzept von IP netzwerken und IP adressen hinzugefuegt werden
  7. Was besagt das Robustness principle

Neu formulierte Lernziele: Am Ende des Vortrages:

  1. Werdet ihr ein Verständnis für die Kommunikation zwischen Routern entwickelt haben.
  2. Werdet ihr erklären können wie ein Datagramm von Computer A zum Zielcomputer B kommt.
  3. Werdet ihr wissen, wo der Routing Algorithmus im Gesamtzusammenhang des Daten Routings steht.
  4. Werdet ihr wissen welche relevanten Informationen der IP-Header für den Routing Algorithmus besitzt.
  5. Werdet ihr die unverzichtbaren Vorteile von IP-Adressen für das Daten-Routing kennen.
  6. Werdet ihr die Fragmentierung und Identifizierung von Datenpaketen verstehen.
  7. Werdet ihr die Vorteile der Subnetzbildung durch IP-Adressen kennen.

Zusammenfassung, Skript

Abstract:

Das Ziel meines Referates ist, dass die Zuhörer danach wissen wie das Datenrouting funktioniert und vertraut sind mit der Kommunikation zwischen Routern. Sie sollen wissen, dass die Router untereinander über Routing-Tabellen Informationen austauschen. Sie sollen den Grund dieses Informtationsaustausches kennen: Um ein Datagramm vom Sender zum Empfänger über einen möglichst optimalen Netzwerkpfad zu sübertragen. Sie sollen in einem IP-Header die relevanten Parts für die Datenvermittlung und Fragmentierung erkennen und erklären können.

Einleitend erkläre ich das Routing selbst: Der Tranfer von Computer A nach Computer B über diverse Router. An dieser Stelle befinden sich zwei Graphiken: Die erste (Feld 1) veranschaulicht die Subnetzbildung, inklusive IP-Adressen, die zweite ist eine eher chaotische Darstellung (Feld 2) (ohne Subnetzbildung) in der MAC-Adressen die einzige Identifikationsmöglichkeit sind. Die Vorteile der IP-Adressen Verteilung wird deutlich: Ohne IP-Adressen ist nur Broadcasting von Datenpaketen möglich, die Router werden unnötig belastest, denn über welchen Weg die Daten ankommen ist zufallsabhängig. Durch die IP-Adressen Verteilung wird eine Zielorientierte Datenverteilung möglich. Ein Subnetz wird angesteuert und der Bereich des Zieles kann eingegrenz werden. (IP-Adressen, weitere Infos? Klasseneinteilung, Hostadressen...) Definition einer IP-Adresse: Die Identifikationnummer einer Verbindung zwischen einem Computer und einem Netz.

Wie funktioniert diese Wegsuche hin zum Zielcomputer? (Bei der IP-Adressen Version)

Routing-Tabellen: Hier werden die IP-Adressen zu den erreichbaren Subnetzen ( von einem Router aus) gespeichert und die Default-Adresse, die Route zu allen anderen nicht gespeicherten Netzwerkpfaden. Die IP-Adresse des Zielcomputers wird mit den gespeicherten IP-Adressen der Destination Networks verglichen, findet der Router eine Übereinstimmung, werden die Daten an den nächsten entsprechenden Hop (Router) weitergeleitet.

Ich führe mein Referat fort mit einer Graphik (Feld 3) auf der die verschiedenen Wege, die ein Datagramm gehen kann, verbildlicht sind und hinsichtlich ihrer vielfältigen Eigenschaften (Bandbreite, Netzwerkbelastung, Kosten) differenziert werden.

Nun kommt die Frage, wie die Router überhaupt entscheiden, welcher der beste Weg für die Daten ist. Dafür kommunizieren die Router untereinander. Eine kleine Zeichnung (Feld 4) soll diese Art der Kommunikation eindrücklich verbildlichen: Der Austausch von Routing-Tabellen. Eine Graphik der Routing-Tabelle (Feld 5) zeigt die Hauptinformationen, die diese in sich trägt (u.a. Metriken; Verweis auf Feld 3).

Anhanddessen erkläre ich das Ziel eines Routing-Protokolls (Ermöglichung der Kommunikation über Austausch von Routing Tabellen).

Anschließend verweise ich auf mein Thema, „Routing Algorithmus“ und erkläre dessen Aufgaben, die direkt an die Routing-Tabelle geknüpft sind. Ich gehe auf die Anforderungen ein, die ein Routing-Algorithmus erfüllen muss (Skalierbarkeit, Flexibilität, Konvergenz, Stabilität). Hier würde ich gerne noch eine Graphik (Feld 6) einbinden, allerdings muss ich mir hier nochmals Gedanken machen. Der letzte Punkt der Anforderungen, das Robustness principle wird genauer besprochen anhand des Zitats „Be conservative in what you do, be liberal in what you accept from others.“ (Jon Postel) (Feld 7)

Anschließend differenziere ich knapp in einem Satz Routing-Algorithmus, Routing Tabelle und Routing Protokoll voneinander. Dies ist der Übergang zu...

Einer korrekten Unterscheidung zwischen geroutetem Protkoll und Routing-Protokoll: Ich greife zurück auf die Tatsache, dass wir uns beim Datentransfer in der Vermittlungsschicht befinden und das dies (in diesem Falle) durch das IP geschieht. Diese Datagramme sind sogenannte IP-Datagramme. Sie bestehen aus den Nutzdaten und dem IP-Header. Ich werde hier anhand einer Graphik (Feld 8) mit den Zuhörern besprechen, welche Funktionen des IP-Headers bei der Datenvermittlung wichtig sind und warum (evtl gehe ich noch auf die anderen Funktionen ein, das muss ich erst testen, aufgrund des zeitlichen Rahmens).

Diese Thematik nutze ich, um die Fragmentierung von Datenpakete zu erklären, dies wird ebenfalls anhand einer kleinen Zeichnung (Feld 9) einprägend dargestellt: Ein Datagramm läuft über viele verschiedene Netzwerke bis es sein Ziel erreicht. Jedes Netz besitzt eine eigene maximale Paketgröße (MTU). Beim Ethernet beträgt diese beispielsweise 1500 Byte. Dafür ist das IP zuständig, denn an jedem Netzwerkknoten kann die MTU variieren (neues Netz). Ein Datagramm wird fragmentiert in dem es in „kleinere Teile“ zerlegt wird, die alle mit einem eigenem IP-Header ausgestattet werden. Manchmal kommt es auch vor, dass ein Datagramm nicht fragmentiert werden darf, dann ist es im Flags-Feld mit dem Kürzel DF, Don't Fragment versehen. Alle Fragmente auf die weitere folgen besitzen dort den Kürzel MF, More Fragments. Kommen die Fragmente bei ihrem Zielcomputer an, wird das Feld Fragment-Offset relevant: Hier wird über ein Bit-Code angezeigt, was die Lage des Fragments im gesamten Datagramm ist. Es folgt dem Prinzip einer Nummerierung.

Abschließend gehe ich auf das Feld Identification im IP-Headers ein (Fragestellung: 2 Datenströme von einem Computer die an einen Empfänger gerichtet sind): Angenommen mehrere Datenfragmente, die aber zu zwei unterschiedlichen Datagrammen gehören, kommen bei einem Computer an. Wie kann der Computer diese voneinander unterscheiden? Dafür gibt es das Feld Identification: Jedes Fragment desselben Datagrammes besitzt die selbe Identifikationsnummer.

Feld 10 ist für die Quellenangabe reserviert.

Mediendatei (Video, Schaubild,...)

Multiplechoice Fragen und Übungen

<quiz display=simple> {Was ist ein geroutetes Protokoll? |type="[]"} - Ein Routing Protokoll || Ein Routing Protokoll ist zur Kommunikation zwischen Routern gedacht und ermöglicht damit den Transport von gerouteten Protkollen.

+ Protokoll, die Datagramme durch das Netz transportieren

{Was macht ein Routing Protokoll alles? |type="[]"} - Optimierung der Netzwerkpfadermittlung || Man benötigt die Routing Protkolle dafür; die Optimierung an sich wird allerdings durch den Routing Algorithmus berechnet und initiiert.

+ Austausch von Routing-Tabellen

+ Erstellung von Routing-Tabellen

{Was steht in einer Routing-Tabelle? |type="[]"} + Erreichbare IP-Adresse von Subnetzen

- Erreichbare MAC-Adresse des Zielcomputers || Diese spielt auf der Internet-Schicht des Datentransports keine Rolle, ein Router möchte die Daten zuallerstmal in das richtige Netz schicken. Dafür braucht man die IP-Adressen der erreichbaren Netze. Diese sind in der Routing-Tabelle gespeichert.

{Welche Metriken sind relevant für den optimalen Weg? |type="[]"} + Datenkapazität einer Verbindung

- Netzklasse in der der Empfänger sich befindet || Die Netze, die passiert werden, werden vollkommen unabhängig von ihrer Netzklasse ausgewählt, auch wenn die Netzklasse eventuell Auswirkungen auf andere Metriken haben kann.

+ Anzahl der Hops bis zum Empfänger

- Größe der Datagramme || Die Auswahl des Pfades findet unabhängig von der Größe der Datagramme statt. Wenn ein Netz, das auf dem Weg liegt, nicht in der Lage ist so ein großes Datagramm zu verarbeiten, wird es fragmentiert.

{Braucht man IP-Adressen zu Datenvermittlung? |type="[]"} - Nein, die Datenvermittlung über Broadcasts genügt. || Diese ist eine Art der Datenvermittlung, die allerdings unglaublich viel Arbeitsspeicher eines Routers benutzt. Ein Datenpaket läuft hier über Router, die eventuell sowieso nicht zum Ziel führen.

+ Ja, die Subnetzbildung ermöglicht eine effiziente, zielgerichtete Datenvermittlung.

{Geht ein Datagramm Umwege? |type="[]"} + Ja, abhängig von Routing-Algorithmus werden andere Faktoren der Netzwerkpfadermittlung priorisiert.

- Ja, es muss eine bestimmte Zeitspanne verstrichen sein, bevor die Datagramme beim Empfänger eintreffen können, damit dessen „Uhr" (Mbits/s) synchronisiert werden kann. Ist der Weg zu kurz, würden sie zu schnell eintreffen. || Die Synchronisation findet im Vorfeld statt und verläuft sehr schnell.

- Nein, es wird immer der Netzwerkpfad mit der geringsten Anzahl an Hops bis zum Empfänger gewählt. || Dies wäre auf alle Fälle der kürzeste Weg, allerdings kann ein anderer Weg aufgrund von Bandbreite z.B. schneller sein. Oder ein anderer Weg ist kostengünstiger. Je nach dem, welche Faktoren priosiert werden, wird der günstigste Weg ausgesucht. Dieser muss nicht der kürzeste sein.

{Würde sich die IP-Adresse im Falle einer lokalen Änderung (des Standpunktes), die dazu führt, dass ein Gerät an ein anderes Netz gebunden ist, ändern? |type="[]"}

+ Ja, würde sie || Denn die IP-Adresse dient zur Identifikation einer Verbindung zwischen einem Gerät und einem Netz. - Nein, würde sie nicht || Das was gleich bleibt, ist die MAC-Adresse. Sie dient zur Identifikation eines spezifischen Gerätes, es ist gewissermaßen eine Geräteadresse.

{Wann steht das Kürzel MF in den Flags des IP-Headers? |type="[]"} + Wenn weitere Datenfragmente eines Datenpakets nachfolgen || (MF steht für More Fragments) Das letzte Datenfragment, auf das keine weiteren Datenfragmente folgen, wird übrigens nicht mit MF gekennzeichnet, da hier natürlich keine weiteren Fragmente mehr nachfolgen. - Wenn ein Datenpaket nicht fragmentiert werden darf || In diesem Fall wird es mit dem Kürzel DF (Don't Fragment) versehen.

{Welches Feld im Header ist zuständig für das korrekte Zusammensetzen der Datenfragmente? |type="[]"} + Fragment-Offset || Richtig, eine binärer Code dient zur Nummerierung (und damit zur Lagebeschreibung im gesamten Datagramm) der Fragmente - Identification || Das Feld Identification ist für Folgendes gedacht: Treffen mehrere Fragmente, die allerdings zu unterschiedlichen Datagrammen gehören, sollte der Computer diese voneinander unterscheiden können. In dem Feld Identification wird jedes Fragment, das demselben Datagramm angehört, mit derselben Identifikationsnummer versehen. Der Computer kann die Datenströme voneinander unterscheiden.

{Welchen Zweck verfolgt die Subnetzbildung durch IP-Adressen? |type="[]"} + Die Möglichkeit einer pfadorientierten Datenvermittlung

- Die Ausbildung eines dezentralen Netzwerksystems || Auch die MAC-Adressen garantieren ein dezentrales Netzwerk, dafür werden keine IP-Adressen benötigt.




Diskussionen