Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:web:internet:routing [2021-11-29 08:09] – [Routing] hofgf_informatik:web:internet:routing [2023-12-10 10:35] (aktuell) – [Routing] hof
Zeile 1: Zeile 1:
 ## Routing ## Routing
 +
 +In der [[https://oinf.ch/interactive/tcp-ip-visualisierung/|TCP-IP-Visualisierung]] sehen wir, was bei einem Webseiten-Aufruf passiert. Aber woher weiss der Router (das Gerät in der Mitte) überhaupt, wohin das Paket mit einer Ziel-IP geschickt werden muss? Antwort: er schaut in seiner Routing-Tabelle nach.
  
 *Routing* beschreibt die Weiterleitung von IP-Paketen in der Vermittlungsschicht des Internet. *Routing* beschreibt die Weiterleitung von IP-Paketen in der Vermittlungsschicht des Internet.
Zeile 5: Zeile 7:
 Das Internet ist *hierarchisch* aufgebaut. Das heisst, dass ein lokales Netz (*Subnetz*) erst mal für sich funktioniert, aber dass mehrere Subnetze über *Router* miteinander verbunden sind((Daher auch der Name *Internet*: das Netz, das kleinere Netze miteinander verbindet.)). Das Internet ist *hierarchisch* aufgebaut. Das heisst, dass ein lokales Netz (*Subnetz*) erst mal für sich funktioniert, aber dass mehrere Subnetze über *Router* miteinander verbunden sind((Daher auch der Name *Internet*: das Netz, das kleinere Netze miteinander verbindet.)).
  
-{{ :gf_informatik:web:internet:router1.jpg?nolink&600 |}}+{{ :gf_informatik:web:internet:router.jpeg?nolink&600 |}}
  
-Jedes Gerät im Internet unterhält eine *Routing-Tabelle*, die definiert, was mit einem Paket mit einer bestimmten Ziel-Adresse geschehen soll+Die Vermittlungsschicht bietet ja den Ende-zu-Ende-Transport von Paketen. Bei der Weiterleitung bleiben die Quell- und Ziel-Adressen eines Pakets also immer die gleichen, so wie auch die Postadresse eines Pakets während des Transports nicht verändert wird (Ausnahme: [[gf_informatik:web:internet:ip_adressen#NAT]]). 
-^ Ziel-Adresse ^ Handlung ^+ 
 +{{ :gf_informatik:web:internet:envelope.jpg?nolink&600 |}} 
 + 
 +Jedes Gerät im Internet unterhält eine *Routing-Tabelle*. Diese definiert, was passiert, wenn das Gerät auf der Netzzugangs-Schicht ein Paket mit seiner MAC-Adresse empfängt. Die Handlung hängt nur von der Ziel-IP-Adresse ab
 +^ Ziel-IP ^ Handlung ^
 | Gehört dem Gerät selbst | Paket empfangen | | Gehört dem Gerät selbst | Paket empfangen |
 | Im gleichen Subnetz wie das Gerät | Paket direkt an das Zielgerät senden | | Im gleichen Subnetz wie das Gerät | Paket direkt an das Zielgerät senden |
Zeile 15: Zeile 21:
 Die Adresse des Routers wird den Endgeräten normalerweise zusammen mit der IP-Adresse, der Subnetz-Grösse und dem DNS-Server mitgeteilt, wenn sie sich mit dem Netzwerk verbinden. Die Adresse des Routers wird den Endgeräten normalerweise zusammen mit der IP-Adresse, der Subnetz-Grösse und dem DNS-Server mitgeteilt, wenn sie sich mit dem Netzwerk verbinden.
  
-Die Routing-Tabelle verwendet IP-Adressen, um die Routing-Information zu beschreiben. Oft wird statt der Ziel-Adresse ein *Präfix* angegeben, also die ersten Bits, die zwischen der Ziel-Adresse und dem Tabelleneintrag übereinstimmen müssen. +Die Routing-Tabelle verwendet [[gf_informatik:web:internet:ip_adressen#subnetze|Subnetz-Adressen]], um die Routing-Information zu beschreiben. Bei Windows-Systemen wird manchmal statt der CIDR-Notation noch die Kombination von Adresse und Subnetz-Maske verwendet.
- +
-^ IP-Präfix ^ Router ^ Handlung ^ +
-| 1.1.3.2 | localhost (ich selbst) | Paket empfangen (eigene Adresse) | +
-| 1.1.3.* | -- | Direkt versenden, Ziel im gleichen Subnetz 1.1.3 | +
-| * | 1.1.3.1 | Alles andere: An den Router (auch *Gateway*) 1.1.3.1 senden zur Weiterleitung |+
  
-Die Routing-Tabelle lässt sich mit den Befehlen `netstat -rn` (Mac, Linuxoder `route print` (Windowsanzeigen.+^ Ziel-Netz ^ Router ^ Handlung ^ 
 +| 1.1.3.2/32 | -- | Paket empfangen (eigene Adresse
 +| 1.1.3.0/24 | -- | Direkt versenden, Ziel im gleichen Subnetz 1.1.3.* | 
 +| 0.0.0.0/0 | 1.1.3.1 | Alles andere: An den Router (auch *Gateway*1.1.3.1 senden zur Weiterleitung |
  
 +Dabei bedeutet ein Präfix der Länge `/32`, dass nur genau die aufgeführte IP-Adresse gemeint ist. Speziell ist ein Tabelleneintrag mit dem Netz `0.0.0.0/0`: dies bedeutet, dass kein einziges Bit der Ziel-IP relevant ist - der Eintrag passt also zu _allen_ IP-Adressen und wird deshalb auch _default route_ genannt. Die _default route_ bestimmt, was mit Paketen passiert, für die es keinen anderen Eintrag gibt. Es sollte in einer Routing Tabelle somit nur eine einzige _default route_ geben. Oft wird sie auch mit dem `*` markiert.
  
 +Die Routing-Tabelle lässt sich mit den Befehlen `netstat -rn` (Mac, Linux), `route print` (Windows) oder `ip route show` (Linux) anzeigen
 +.
 ### Router ### Router
  
 Router sind die Knoten, die das Internet zusammenhalten. Ein Router ist nicht nur Teil eines einzigen, sondern mindestens von zwei Subnetzen. Er kann Pakete zwischen den zwei Netzen *vermitteln*. Router sind die Knoten, die das Internet zusammenhalten. Ein Router ist nicht nur Teil eines einzigen, sondern mindestens von zwei Subnetzen. Er kann Pakete zwischen den zwei Netzen *vermitteln*.
  
-{{ :gf_informatik:web:internet:routing1.jpg?nolink&600 |}}+{{ :gf_informatik:web:internet:network.png?nolink&600 |}}
  
 Die Routing-Tabelle eines Routers ist dementsprechend etwas aufwändiger. Sie listet für jeden bekannten IP-Bereich auf, wer der *next hop* ist, also der Router, der ein Stück näher an der Destination ist: Die Routing-Tabelle eines Routers ist dementsprechend etwas aufwändiger. Sie listet für jeden bekannten IP-Bereich auf, wer der *next hop* ist, also der Router, der ein Stück näher an der Destination ist:
  
 ^ IP-Präfix ^ Router ^ Handlung ^ ^ IP-Präfix ^ Router ^ Handlung ^
-| 1.1.3.1 | localhost (ich selbst, Netzwerkkarte 1) | Paket empfangen (eigene Adresse) | +| 1.1.3.1/32 -- | Paket empfangen (eigene Adresse) | 
-| 3.3.3.3 | localhost (auch ich selbst, Netzwerkkarte 2) | Paket empfangen (eigene Adresse) | +| 3.3.3.3/32 -- | Paket empfangen (eigene Adresse) | 
-| 1.1.3.| -- | Direkt versenden über Netzwerkkarte 1, Ziel im gleichen Subnetz 1.1.3 | +| 1.1.3.0/24 | -- | Direkt versenden über Netzwerkkarte 1, Ziel im gleichen Subnetz 1.1.3 | 
-| 3.3.3.| -- | Direkt versenden über Netzwerkkarte 2, Ziel im gleichen Subnetz 3.3.3 | +| 3.3.3.0/24 | -- | Direkt versenden über Netzwerkkarte 2, Ziel im gleichen Subnetz 3.3.3 | 
-| 1.1.4.| 3.3.3.| Weiterleiten über 3.3.3.+| 1.1.1.0/24 | 3.3.3.| Weiterleiten über 3.3.3.
-| 1.1.5.| 3.3.3.| Weiterleiten über 3.3.3.+| 1.1.8.0/24 | 3.3.3.| Weiterleiten über 3.3.3.
-| 1.1.6.| 3.3.3.| Weiterleiten über 3.3.3.+| 1.1.6.0/24 | 3.3.3.| Weiterleiten über 3.3.3.
-| 3.3.3.1 | Alles andere: An den Router (auch *Gateway*) 3.3.3.1 senden zur Weiterleitung |+0.0.0.0/| 3.3.3.1 | Default-Route: An den Router (auch *Gateway*) 3.3.3.1 senden zur Weiterleitung |
  
-Um die richtige Handlung herauszufinden, kann es nötig sein, mehrmals in der Tabelle nachzuschlagen. Beispielsweise erhält der obige Router ein Paket für 1.1.4.5+Um die richtige Handlung herauszufinden, kann es nötig sein, mehrmals in der Tabelle nachzuschlagen. Beispielsweise erhält der obige Router ein Paket für 1.1.6.6
-  * zuerst bestimmt Zeile 5, dass es an 3.3.3.4 weitergeleitet werden muss.+  * zuerst bestimmt Zeile 7, dass es an 3.3.3.4 weitergeleitet werden muss.
   * als zweites bestimmt Zeile 4 dass das Paket über die Netzwerkkarte 2 direkt versandt werden soll.   * als zweites bestimmt Zeile 4 dass das Paket über die Netzwerkkarte 2 direkt versandt werden soll.
  
 Auf die gleiche Weise sind alle Subnetze des Internets über Router miteinander verbunden. Auf die gleiche Weise sind alle Subnetze des Internets über Router miteinander verbunden.
  • gf_informatik/web/internet/routing.1638173367.txt.gz
  • Zuletzt geändert: 2021-11-29 08:09
  • von hof