Routing: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) |
||
Zeile 70: | Zeile 70: | ||
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. | 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 | LOKALES NETZ (LAN) ÖFFENTLICHES NETZ (LAN) | ||
Quell-IP:Port | 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: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: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 | 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. | 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. |
Version vom 14. Juli 2009, 13:15 Uhr
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.
PC 1 PC 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 PC 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 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.