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 07:51] 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 ^ +Ziel-Netz ^ Router ^ Handlung ^ 
-192.168.2.25 localhost (ich selbst) | Paket empfangen (eigene Adresse) | +1.1.3.2/32 -- | Paket empfangen (eigene Adresse) | 
-192.168.2.| -- | Direkt versenden, Ziel im gleichen Subnetz 192.168.+1.1.3.0/24 | -- | Direkt versenden, Ziel im gleichen Subnetz 1.1.3.* 
-192.168.2.1 | Alles andere: An den Router (auch *Gateway*) 192.168.2.1 senden zur Weiterleitung |+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: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: 
 + 
 +^ IP-Präfix ^ Router ^ Handlung ^ 
 +| 1.1.3.1/32 | -- | Paket empfangen (eigene Adresse) | 
 +| 3.3.3.3/32 | -- | Paket empfangen (eigene Adresse) | 
 +| 1.1.3.0/24 | -- | Direkt versenden über Netzwerkkarte 1, Ziel im gleichen Subnetz 1.1.3 | 
 +| 3.3.3.0/24 | -- | Direkt versenden über Netzwerkkarte 2, Ziel im gleichen Subnetz 3.3.3 | 
 +| 1.1.1.0/24 | 3.3.3.2 | Weiterleiten über 3.3.3.2 | 
 +| 1.1.8.0/24 | 3.3.3.8 | Weiterleiten über 3.3.3.8 | 
 +| 1.1.6.0/24 | 3.3.3.4 | Weiterleiten über 3.3.3.4 | 
 +| 0.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.6.6. 
 +  * 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. 
 + 
 +Auf die gleiche Weise sind alle Subnetze des Internets über Router miteinander verbunden.
  • gf_informatik/web/internet/routing.1638172318.txt.gz
  • Zuletzt geändert: 2021-11-29 07:51
  • von hof