"Soweit ich es verstehe, bleibt der Frame unverändert, wenn ein PC einen Frame über einen Switch an einen anderen PC sendet."
Du hast Recht; Schalter ändern die von ihnen weitergeleiteten Frames in keiner Weise. Dies wird als transparentes Bridging bezeichnet, wie in diesem O'Reilly-Artikel mit dem Titel Basic Switch Operation erläutert :
Ethernet-Switches sind so ausgelegt, dass ihre Operationen für die Geräte im Netzwerk unsichtbar sind. Dies erklärt, warum dieser Ansatz zur Verknüpfung von Netzwerken auch als transparentes Bridging bezeichnet wird . "Transparent" bedeutet, dass beim Anschluss eines Switches an ein Ethernet-System keine Änderungen an den überbrückten Ethernet-Frames vorgenommen werden.
"Aber was passiert, wenn wir zwei PCs an einen Router angeschlossen haben und etwas zwischen ihnen senden?"
TL; DR
Jedes von einem Router weitergeleitete Paket wird geändert. Erforderliche Änderungen umfassen eine neue Ziel-MAC-Adresse und eine neue Frame-Prüfsequenz. Aber das ist nur ein kleiner Teil des Routers ...
Im Gegensatz zu Switches entscheiden Router auf der Grundlage ihrer OSI-Layer-3- Zieladresse, was mit einem Paket zu tun ist . In diesem Fall ist dies eine IP-Adresse ( Internet Protocol ). Was mit dem Paket geschieht, hängt also davon ab, wohin das Paket geleitet wird. Verwenden wir das Bild, auf das Sie sich bezogen haben, als Beispiel:
Hier haben wir einen Router mit zwei Schnittstellen: e1 / 1/1 (was ich als E1 bezeichnen werde ) und e1 / 1/2 (was ich als E2 bezeichne ). Beachten Sie, dass sich die beiden Schnittstellen des Routers in separaten Subnetzen befinden, was für einen Router immer der Fall sein muss:
- E1 ist mit dem Subnetz 10.0 verbunden. 0, 0/24
- E2 ist an das Subnetz 10.0 angeschlossen. 1 .0 / 24
Angenommen, Computer A (mit der IP-Adresse 10.0.0.2/24 und daher im Subnetz 10.0.0.0/24) sendet ein Paket an die Ziel-IP-Adresse 10.0.1.2. Sobald dieses Paket beim Router eintrifft, geschieht Folgendes:
- Paket kommt an der Schnittstelle E1 an
- Der Router legt fest, dass die Zieladresse 10.0.1.2 ist
- Der Router überprüft seine Routing-Tabelle, um festzustellen, wohin das Paket gehen soll
- Die Routing-Tabelle zeigt an, dass die Schnittstelle E2 mit dem Subnetz 10.0.0.0/24 verbunden ist
- Der Router bereitet das Paket für die Übertragung auf der Schnittstelle E2 vor. Dies erfordert das Ändern des Pakets auf verschiedene Arten. Zum Beispiel wird das neue Paket Folgendes haben:
- Die alte Zielschicht 2 (MAC) -Adresse wird durch eine neue Zieladresse ersetzt, die die Broadcast-Adresse
FF:FF:FF:FF:FF:FF
für das erste auf der Schnittstelle gesendete Paket ist - Eine neue Frame Check Sequence (FCS) wird berechnet und dem Paket hinzugefügt
- Das neue Paket wird auf der Schnittstelle E2 übertragen
Nachdem das Paket an das mit der Router-Schnittstelle E2 verbundene Netzwerksegment gesendet wurde, wird es von Computer B mit der IP-Adresse 10.0.1.2 empfangen.
Angenommen, Computer A sendet ein Paket an die Ziel-IP-Adresse 10.0.7.44. Sobald das Paket den Router erreicht, geschieht Folgendes:
- Paket kommt an der Schnittstelle E1 an
- Der Router legt fest, dass die Zieladresse 10.0.7.44 lautet
- Der Router überprüft seine Routing-Tabelle, um festzustellen, wohin das Paket gehen soll
Was passiert jetzt?
Wenn der Router, wie in der Grafik gezeigt, wirklich nur über zwei Schnittstellen verfügt, verwirft er das Paket, da er keine gültige Route zum Zielnetzwerk hat.
In der realen Welt hat ein Router jedoch wahrscheinlich mindestens eine Schnittstelle, die als Standard- oder Route des letzten Auswegs konfiguriert ist . In der Routingtabelle ist dies die Schnittstelle, der das Netzwerk 0.0.0.0/0 zugeordnet ist. Wenn der Router keine bestimmte Route zu einem gültigen Netzwerk für das an 10.0.7.44 bestimmte Paket hat, überträgt er als letzte Aktion das Paket auf der Schnittstelle, die der Standardroute zugeordnet ist.
Die Standardroutenfunktion ist sehr wichtig. Andernfalls muss der Router für viele (jedoch nicht alle) IP-Netzwerke im Internet einen Routing-Tabelleneintrag haben. Ein solcher Tisch wäre sehr groß. Im Vergleich zu einem Router mit einer Standardroute würde ein solcher Router Folgendes erfordern:
- Mehr Speicher zum Speichern der Routingtabelle
- Mehr CPU-Zeit zum Überprüfen der Tabelle (dies wird für jedes eingehende Paket durchgeführt!)
- Übermäßige und häufige Routingtabellenaktualisierungen von vielen anderen Routern im Internet, um die Routingtabelle genau zu halten. Ansonsten könnten Pakete über eine Schnittstelle weitergeleitet werden, die tatsächlich keine Verbindung zum Zielnetzwerk mehr hat.