IP-Routing
Das Internet Protocol (IP) ist das wichtigste routingfähige Protokoll und aus keinem Netzwerk mehr weg zu denken. Es kann die Daten über jede Art von physikalischer Verbindung oder Übertragungssystem vermitteln. Der hohen Flexibilität steht ein hohes Maß an Komplexität bei der Wegfindung vom Sender zum Empfänger gegenüber. Der Vorgang der Wegfindung wird Routing genannt.
Was ist Routing?
Das Routing ist ein Vorgang, der den Weg zur nächsten Station eines Datenpakets bestimmt. Im Vordergrund steht die Wahl der Route aus den verfügbaren Routen, die in einer Routing-Tabelle gespeichert sind.
Parameter und Kriterien für Routing
Verschiedene Parameter und Kriterien können für die Wahl einer Route von Bedeutung sein:
- Verbindungskosten
- notwendige Bandbreite
- Ziel-Adresse
- Subnetz
- Verbindungsart
- Verbindungsinformationen
- bekannte Netzwerkadressen
Warum ist Routing notwendig?
Das grundlegende Verbindungselement in einem Ethernet-Netzwerk ist der Hub oder Switch. Daran sind alle Netzwerkstationen angeschlossen. Wenn eine Station Daten verschickt, dann werden die Daten im Hub an alle Stationen verschickt. Jedoch nimmt nur die adressierte Station die Daten entgegen. Das bedeutet, dass sich alle Stationen die Gesamtbandbreite dieses Hubs teilen (z. B. 10 MBit oder 100 MBit). Obwohl die physikalische Struktur und Verkabelung des Hubs ein Stern mit Punkt-zu-Punkt-Verbindungen ist, entspricht die logische Struktur einem Bus. Also eine einzige Leitung, an der alle Stationen angeschlossen sind. Wollen nun zwei oder mehr Stationen gleichzeitig senden, kommt es zu einer Kollision, die zu einer allgemeinen Sendepause auf dem Bus führt. Danach versuchen die Stationen erneut zu senden, bis die Übertragung erfolgreich war. Dieses Verfahren nennt man CSMA/CD. Die maximale Anzahl von Stationen an einem Ethernet-Bus ist 1.023. Je mehr Stationen an einem Hub angeschlossen sind, desto häufiger kommen Kollisionen vor, die das Netz überlasten.
Um die Nachteile von Ethernet in Verbindung mit CSMA/CD auszuschließen, wählt man als Kopplungselement einen Switch und nutzt Fast Ethernet (kein CSMA/CD mehr). Der Switch merkt sich die Hardware-Adressen (MAC-Adressen) der Stationen und leitet die Ethernet-Pakete nur an den Port, hinter dem sich die Station befindet. Ist einem Switch die Hardware-Adresse nicht bekannt, leitet er das Datenpaket an alle seine Ports weiter (Broadcast) und funktioniert in diesem Augenblick wie ein Hub. Neben der begrenzten Speichergröße des Switches machen sich viele unbekannte Hardware-Adressen negativ auf die Performance eines Netzwerks bemerkbar.
Zum Verbinden großer Netzwerke eignet sich ein Switch also nicht. Aus diesem Grund wird ein Netzwerk durch IP-Adressen und Subnetzmaske in logische Segmente bzw. Subnetze unterteilt. Die Subnetzmaske gibt an, in welchem logischen Netzwerk sich eine Station befindet und welche Adresse sie hat.
Die Adressierung durch das Internet Protocol ist so konzipiert, dass Stationen mit unterschiedlichen Subnetzmasken nicht einfach so kommunizieren können, obwohl es physikalisch durchaus möglich wäre (gemeinsamer Hub/Switch). Stattdessen wird die Verbindung über einen oder mehrere Router hergestellt, die dafür sorgen, dass der Netzwerkverkehr innerhalb der Subnetze bleibt.
Insbesondere folgende Probleme in einem Ethernet-Netzwerk machen IP-Routing notwendig:
- Vermeidung von Kollisionen und Broadcasts durch Begrenzung der Kollisions- und Broadcastdomäne
- Routing über unterschiedliche Netzarchitekturen und Übertragungssysteme
- Paket-Filter durch eine Firewall
- Routing über Backup-Verbindungen bei Netzausfall
Vermeidung von Kollisionen und Broadcasts durch Begrenzung der Kollisions- und Broadcastdomäne
Bei der Wegfindung von Sender- zu Empfänger-Station werden häufig rundspruchbasierte Protokolle eingesetzt. Zum einen NetBIOS in Microsoft-basierten Netzwerken und ARP des TCP/IP-Stacks. Die Protokolle schicken immer wieder Broadcasts raus, um den Weg zu einer unbekannten Station zu finden. Broadcasts belasten ein Netzwerk. Router verhindern die Weiterleitung von Broadcasts, sofern sie selber nicht auf deren Verwendung angewiesen sind. Router vermindern die Belastung des Netzwerkes durch Broadcasts.
Routing über unterschiedliche Netzarchitekturen und Übertragungssysteme
Netzwerkverkabelungen sind in der Regel strukturiert angelegt. Man unterscheidet in der Primär-, Sekundär- und Tertiär-Verkabelung, die unterschiedliche Architekturen und Übertragungstechniken verwenden (Ethernet, Token Ring, FDDI, ATM, ISDN, WLAN, etc.). Ein Router kann in der Lage sein zwischen unterschiedlichen Architekturen zu vermitteln. Dazu gehört auch die Fragmentierung der Datenpakete.
Paket-Filter durch eine Firewall
Sicherheitsaspekte gehen auch an Routern nicht vorbei. Ungewünschter oder unsicherer Datenverkehr kann anhand von IP-Adressen oder TCP- und UDP-Ports gefiltert und unterbunden werden. Häufig kommen spezielle Firewall-Router oder Router mit Firewall-Funktionen zum Einsatz.
Routing über Backup-Verbindungen bei Netzausfall
Durch den Einsatz von Routern entsteht häufig ein engmaschiges Netz, dass dem Datenpaket zum Ziel mehrere Wege zum Ziel bietet. Fällt ein Router aus, verständigen sich die Router untereinander und die Datenpakete nehmen einfach einen anderen Weg zu ihrem Ziel. Fällt eine Leitung zwischen zwei Routern aus, können diese z. B. eine Backup-Verbindung herstellen. Zum Beispiel eine Wählverbindung über das Telefonnetz.
In großen und modernen Netzwerken spielt die Fehlererkennung und -behandlung eine große Rolle. Router können den Netzwerkverkehr protokollieren und über SNMP Meldungen an eine Netzwerk-Management-Station senden oder Befehle des Netzwerk-Administrators ausführen.
IP-Routing-Algorithmus
Der IP-Routing-Algorithmus gilt nicht nur für IP-Router, sondern für alle Netzwerkstationen, die IP-Datenpakete empfangen können. Die empfangenen Datenpakete durchlaufen diesen Algorithmus bis das Datenpaket zugeordnet oder weitergeleitet werden kann.
Datenpaket | ||
Frage: Ist das Datenpaket für mich? | Ja |
Verarbeitung. |
Nein | ||
Frage: Ist das Datenpaket für mein Subnetz? | Ja |
Weiterleitung ins Subnetz oder Verwerfung des Datenpakets. |
Nein | ||
Frage: Ist mir die Route zum Empfänger des Datenpakets bekannt? |
Ja |
Weiterleitung über die bekannte Route. |
Nein | ||
Frage: Ist mir ein Standard-Gateway bekannt, wohin ich das Datenpaket weiterleiten kann? |
Ja |
Weiterleitung über das Standard-Gateway. |
Nein | ||
Fehlermeldung! |
An erster Stelle des Routing-Algorithmus steht die Frage "Ist das Datenpaket für mich?". Wenn die Ziel-Adresse des Datenpaketes mit der eigenen IP-Adresse übereinstimmt, dann hat das Datenpaket sein Ziel erreicht und kann verarbeitet werden.
Wenn die Adresse nicht übereinstimmt, dann wird die zweite Frage gestellt: "Ist das Datenpaket für mein Subnetz?". Dabei wird die Zieladresse mit der Subnetmaske maskiert. Anhand des verbleibenden Adressanteils wird festgestellt, ob das Datenpaket in den eigenen Netzabschnitt (Subnetz oder Subnet) gehört.
Stimmt auch das Subnetz nicht, wird die dritte Frage gestellt: "Ist mir die Route zum Empfänger des Datenpakets bekannt?". Manchmal wissen die Stationen die Route für bestimmte IP-Adressen. Wenn die Route bekannt ist, wird das Datenpaket über diese Route weitergeleitet.
Ist die Route nicht bekannt wird die vierte Frage gestellt: "Ist mir ein Standard-Gateway bekannt, wohin ich das Datenpaket weiterleiten kann?". Das Standard-Gateway ist in der Regel ein Router, der eingehende Datenpakete anhand der Zieladresse und einigen Regeln an seine Routing-Ausgänge verteilt. Ist kein Standard-Gateway vorhanden führt das zu einer Fehlermeldung. Das Datenpaket wird verworfen.