Routing

Aus Mikiwiki
Version vom 8. Februar 2010, 18:32 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Routing bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über vermaschte Nachrichtennetze bzw. Rechnernetze. Insbesondere in paketvermittelten Datennetzen ist hierbei strenggenommen zwischen den beiden verschiedenen Prozessen Routing und Forwarding zu unterscheiden: Das Routing bestimmt den gesamten Weg eines Nachrichtenstroms durch das Netz; das Forwarding beschreibt hingegen den Entscheidungsprozess eines einzelnen Netzknotens, über welchen seiner Nachbarn er eine vorliegende Nachricht weiterleiten soll. Häufig werden jedoch Routing und Forwarding unter dem Begriff "Routing" miteinander vermengt; in diesem Fall bezeichnet Routing ganz allgemein die Übermittlung von Nachrichten über vermaschte Nachrichtennetze.

Die Vermittlungstechnik bezeichnet mit dem Begriff Verkehrslenkung (engl. routing) die Auswahl der Wegeabschnitte beim Aufbau von Nachrichtenverbindungen, die unter Berücksichtigung von Kriterien, wie beispielsweise der kürzesten Entfernung, erfolgen kann. Handelt es sich um eine leitungsvermittelte Verbindung, wird ein Übertragungskanal für die gesamte Zeit der Verbindung ausgewählt, und alle Nachrichten werden über denselben Weg geleitet. Handelt es sich dagegen um eine paketvermittelte Datenübertragung, wird der Weg für jedes Paket von jedem Netzknoten neu bestimmt.

Grundsätzlich werden drei Herangehensweisen unterschieden:

  • statisches Routing
  • alternatives Routing
  • adaptives Routing

Weiterleitung von Datenpaketen

Während einfache Switches auf der Netzzugangsschicht (OSI-Modell Schicht 2) mehrere Geräte zu einem Segment zusammenfassen, verbinden Router mehrere unterschiedliche Netzsegmente, indem sie auf der Internetschicht (OSI-Modell Schicht 3) IP-Pakete weiterleiten.

RECHNER 1     ROUTER /      ROUTER /      RECHNER 2
              GATEWAY 1     GATEWAY 2
Anwendung                                 Anwendung
     v                                     ^
Transport                                 Transport
     v                                     ^
Internet      Internet      Internet      Internet
     v         ^    v        ^     v       ^
Netzzugang    Netzzugang    Netzzugang    Netzzugang
     v         ^    v        ^     v       ^
    RECHNERNETZ 1  RECHNERNETZ 2  RECHNERNETZ 3

ARP-Anfragen funktionieren nur innerhalb eines Netzsegments, da das Internet ausschliesslich mit ihnen beschäftigt wäre. Der Router ersetzt deshalb die Absender-MAC-Adresse eines weiterzuleitenden IP-Pakets durch die MAC-Adresse des Geräts, über das er das IP-Paket weiterleitet. Router entscheiden anhand einer Routing-Tabelle - diese enthält mehrere Routen, die anhand der Ziel-IP-Adresse eines Pakets angeben, wohin es weiterzuleiten ist. Normalerweise kennt jeder Router nur die nächste Station des Weges für ein IP-Paket. Jedes Paket hüpft also von einer Station zur nächsten seinem Ziel entgegen ("es legt einen Hop zurück").

Beispiel für statisches Routing zwischen zwei internen Rechnernetzen und dem Internet.

Rechner 1                              Rechner 2
| Routing:                             | Routing:
| 192.168.1.0/24    -> eth0            | 192.168.1.0/24    -> eth0
| default (0.0.0.0) -> 192.168.1.1     | default (0.0.0.0) -> 192.168.1.1
eth0: 192.168.1.3/24                   eth0:192.168.1.2/24

--- Rechnernetz: 192.168.1.0/24 -----------------------------------------

eth0: 192.168.1.1
Internes Gateway                       Rechner 3
| Routing:                             | Routing:
| 192.168.1.0/24    -> eth0            |
| 10.1.1.0/24       -> eth1            |
| default (0.0.0.0) -> 10.1.1.254/24   |
| Forwarding aktiviert                 |
eth1: 10.1.1.1/24                      eth0: 10.1.1.2/24

--- Rechnernetz: 10.1.1.0/24 --------------------------------------------

eth0: 10.1.1.254/24
Internet-Gateway
| Routing:
| 10.1.1.0/24       -> eth0
| 192.168.1.0/24    -> 10.1.1.1
| 98.39.57.1        -> ppp0
| default (0.0.0.0) -> 98.39.57.1
| Forwarding aktiviert
| Masquerading aktiviert
ppp0 (DSL): 98.39.57.29

...: 98.39.57.1
Gateway des Providers

--- Rechnernetz: Internet -----------------------------------------------

Ein Linuxrechner arbeitet nur dann als Router, wenn im Linux-Kernel das Weiterleiten von Paketen (Forwarding) aktiviert ist. Schnittstellen-Routen geben an, welches Rechnernetz über welche Schnittstelle zu erreichen ist. Typische Schnittstellen unter Linux sind "eth0" für die erste Ethernet-Schnittstelle, "ppp0" für eine PPP-Verbindung oder "lo" für die Kommunikation auf dem lokalen Rechner (Loopback-Schnittstelle). Eine Route über ein Gateway gibt als Ziel hingegen einen anderen Rechner an. Der Router wählt dabei immer die speziellste Route, die auf die Zieladresse eines IP-Pakets passt. So haben beispielsweise die Routen für "192.168.1.0/24" und "10.1.1.0/24" Vorrang vor der Standardroute "default" oder "0.0.0.0/0". Der Router verringert den TTL-Zähler eines IP-Pakets jeweils um 1, wenn er das Paket weiterleitet. Sinkt der Zähler auf 0, so sendet er die entsprechende ICMP-Fehlernachricht. Mit dieser Technik vermeiden die Router es, unzustellbare IP-Pakete unendlich lange im Netz weiterzuleiten.

Eine typische Heim-Konfiguration besteht aus zwei Routen: Eine Route leitet alle IP-Pakete an das lokale Rechnernetz über die Schnittstelle weiter. Eine allgemeine Standardroute leitet alle übrigen IP-Pakete über ein Gateway weiter, welches das lokale Rechnernetz mit einem entfernten Rechnernetz verbindet. Als Gateway werden dabei oft DSL-Router oder eine Kombination aus DSL-Modem und Switch zum Verteilen der Daten im lokalen Rechnernetz verwendet.

IP-Pakete mit einer IP-Adresse aus dem lokalen Rechnernetz als Absender werden von Internet-Routern nicht weitergeleitet. Daher ersetzt der lokale Router die Quell-IP-Adresse jedes IP-Pakets durch seine eigene IP-Adresse. Den Quell-Port ersetzt der Rechner dabei durch einen eigenen dynamisch belegten Port. So schickt er das IP-Paket weiter und merkt sich die Quell-IP-Adresse, den Quell-Port sowie den neuen eigenen Port. Kommt an diesem ein IP-Paket an, so übersetzt der Router die Ziel-IP-Adresse und den Ziel-Port und gibt es an den lokalen Rechner weiter. Dieses "Masquerading" genannte Verfahren ist eine besondere Variante der Network Address Translation / NAT.

LOKALES NETZ (LAN)                                    ÖFFENTLICHES NETZ (LAN)
Quell-IP:Port       Ziel-IP:Port       ROUTER         Quell-IP:Port      Ziel-IP:Port
192.168.1.42:5000   87.106.38.241:80   ----->         98.39.57.29:7000   87.106.38.241:80
192.168.1.42:5001   87.106.38.241:80   Masquerading   98.39.57.29:7001   87.106.38.241:80
192.168.1.42:5002   87.106.38.241:80                  98.39.57.29:7002   87.106.38.241:80

LOKALES NETZ (LAN)                                    ÖFFENTLICHES NETZ (LAN)
Quell-IP:Port       Ziel-IP:Port       ROUTER         Quell-IP:Port      Ziel-IP:Port
87.106.38.241:80    192.168.1.42:5000  <-----         87.106.38.241:80   98.39.57.29:7000
87.106.38.241:80    192.168.1.42:5001  Masquerading   87.106.38.241:80   98.39.57.29:7001
87.106.38.241:80    192.168.1.42:5002                 87.106.38.241:80   98.39.57.29:7002

Linux bietet weitere Möglichkeiten: So werden mehrere Routing-Tabellen verwendet, um beispielsweise bei mehreren DSL-Zugängen je nach Quell-IP-Adresse eines IP-Pakets ein anderes Standard-Gateway anzusprechen. Traffic Shaping hingegen erlaubt es beispielsweise, eine SSH-Sitzung gegenüber Filesharing-Verbindungen zu bevorzugen. Ein Virtual Local Area Network spart Hardware ein und erlaubt eine flexiblere Konfiguration als ein physikalisches Rechnernetz es tut. Ein funktionierendes Rechnernetz setzt voraus, dass die IP-Adresse sowie die Netzmaske der Schnittstelle konfiguriert und die Routen und die Adresse des DNS-Servers eingetragen ist. Das kann über einen DHCP-Server, der den Clients die benötigten Angaben zuweist, automatisch geschehen.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger Routingwbm Enzyklopädischer Artikel