====== IP-Routing ====== Das **Internet Protocol (IP)** ist ein **routingfähiges Protokoll** und sorgt dafür, dass **Datenpakete über Netzgrenzen** hinweg einen Weg zu anderen Hosts finden. 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 ===== Wozu Routing? ===== Das grundlegende Verbindungselement in einem Ethernet-Netzwerk ist der Hub oder Switch. Daran sind alle Netzwerk-Teilnehmer angeschlossen. Wenn ein Host Datenpakete verschickt, dann werden die Pakete im Hub an alle Stationen verschickt und von diesen angenommen. Jedoch verarbeitet nur der adressierte Host die Pakete weiter. Das bedeutet aber auch, dass sich alle Hosts die Gesamtbandbreite dieses Hubs teilen müssen. 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. Daher eignet sich zum **Verbinden großer Netzwerke** weder ein Hub noch ein Switch. Aus diesem Grund wird ein Netzwerk **durch Router** und IP-Adressen in **logische Segmente bzw. Subnetze** unterteilt. Die Adressierung durch das Internet Protocol ist so konzipiert, dass der Netzwerkverkehr innerhalb der Subnetze bleibt und erst dann das Netzwerk verlässt, wenn das Ziel in einem anderen Netzwerk liegt. {{https://www.elektronik-kompendium.de/sites/net/bilder/05032714.gif}} {{https://www.elektronik-kompendium.de/sites/net/bilder/03092711.gif}} {{https://www.elektronik-kompendium.de/sites/net/bilder/05032716.gif}} 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 und Firewall** * **Routing über Backup-Verbindungen bei Netzausfall** =====IP-Routing-Algorithmus===== Der IP-Routing-Algorithmus gilt nicht nur für IP-Router, sondern für alle Host, die IP-Datenpakete empfangen können. Die empfangenen Datenpakete durchlaufen diesen Algorithmus bis das Datenpaket zugeordnet oder weitergeleitet werden kann. {{ http://www.mathcs.emory.edu/~cheung/Courses/455/Syllabus/4b-internet/FIGS/ip-tunnel-alg.gif | IP-Routing-Algorithmus }} * Prüfe, ob das Datenpaket mir gehört? * Wenn ja, dann hat das Datenpaket sein Ziel erreicht und kann verarbeitet werden. * Wenn nein, prüfe ob das Datenpaket in mein Subnetz gehört? * Wenn ja, schick es in das eigene Subnetz weiter! * Wenn nein, prüfe ob die Route zum Empfänger bekannt ist? * Wenn ja, schicke es über die bekannte Route zum nächsten Router! * Wenn nein, prüfe ob es ein Standard-Gateway gibt? * Wenn ja, schick das Paket zum Standard-Gateway! * Wenn nein, schreibe eine Fehlermeldung und verwirf das Datenpaket! ===== Broadcastdomäne ===== Eine Broadcast-Domäne ist ein logischer Verbund von Netzwerkgeräten in einem lokalen Netzwerk, der sich dadurch auszeichnet, dass ein **Broadcast alle Domänenteilnehmer erreicht**. Ein lokales Netzwerk auf der 2. Schicht des OSI-Modells (Sicherungsschicht) besteht durch seine Hubs, Switches und/oder Bridges aus einer Broadcast-Domäne. Erst durch die Unterteilung in VLANs oder durch den Einsatz von Routern, die auf Schicht 3 arbeiten, wird die Broadcast-Domäne aufgeteilt. **Eine Broadcast-Domäne besteht aus einer oder mehreren Kollisionsdomänen.** {{ http://dnetzone.in/dhawaldamania/wp-content/uploads/2011/03/router-sw1.jpeg }}