Zwei Hosts verschiedener Subnetze sind mit dem Switch verbunden


10

Zwei Hosts verschiedener Subnetze, A - 10.1.2.1/24 und B - 10.1.3.1/24, werden mit demselben Switch S verbunden. Können sie kommunizieren?

Soweit ich weiß:

  • A sendet ein Paket mit der IP von B.
  • S empfängt es und vergleicht es mit den Werten in der Tabelle der gespeicherten Adressen. Andernfalls wird es gesendet.
  • B empfängt die Pakete, überprüft die IP und akzeptiert sie.

Habe ich recht?

Antworten:


17

Leider nein, Sie sind falsch.

Ron macht einen guten Punkt, Sie haben keine Subnetzmaske bereitgestellt. Wenn wir also die klassische Maske annehmen würden, hätte die 10.xxx-Adresse eine 255.0.0.0-Maske, die die beiden Hosts tatsächlich in dasselbe Netzwerk stellen würde. Wenn dies der Fall ist, hätten sie kein Problem mit der Kommunikation.

Angesichts der Art Ihrer Frage stellen Sie sich jedoch vor, dass Sie für jeden dieser Hosts eine kleinere Maske verwenden möchten. Wir verwenden 255.255.255.0, wodurch beide Hosts in zwei verschiedene Subnetze unterteilt werden.

Abgesehen davon liegt das Herzstück dessen, was Sie vermissen, darin, ARP (Address Resolution Protocol) zu vergessen . Insbesondere, für wen HostA sich für ARP entscheidet. Lassen Sie mich erklären...


Bevor ein Host ein Paket auf die Leitung legt, muss er zunächst feststellen, ob sich die Ziel-IP in seinem eigenen Netzwerk oder in einem fremden Netzwerk befindet. Lassen Sie uns dies aus der Perspektive von Host A durchgehen.

Host A kennt seine IP (10.1.2.1) und seine Subnetzmaske (/ 24 oder 255.255.255.0). Mit einem wenig subnetting bestimmt Hosta , dass seine Netzausdehnungen all IP - Adressen im Bereich von 10.1.2.0 bis 10.1.2.255. (Wir werden Details zu NetID und BroadcastIP weglassen, da sie im Moment nicht relevant sind.)

Host A weiß auch, dass seine Ziel-IP 10.1.3.1 ist, was außerhalb des IP-Adressbereichs im eigenen Netzwerk von Host A liegt. Als solches würde Host A zu dem Schluss kommen, dass sich die Ziel-IP 10.1.3.1 in einem fremden Netzwerk befindet und Host A ein fremdes Netzwerk nur durch Sprechen über einen Router erreichen kann. Oder genauer gesagt über das Standard-Gateway von HostA .

Wenn HostA zu diesem Zeitpunkt nicht mit einem Standard-Gateway konfiguriert ist, endet der Prozess hier mit einem allgemeinen Fehler. HostA kann nicht mit HostB sprechen.

Wenn HostA mit einem Standard-Gateway konfiguriert ist , sendet es eine ARP-Anforderung (die selbst ein Broadcast-Frame ist) und fragt nach der MAC-Adresse seines Standard-Gateways - NICHT nach der MAC-Adresse der endgültigen Ziel-IP.

Der Switch, der den Broadcast-Frame empfangen hat, würde das Paket aus allen Schnittstellen überfluten, um den einzuschließen, mit dem HostB verbunden ist. HostB würde das Paket zwar empfangen, aber da der ARP nach der MAC-Adresse des Standard-Gateways sucht (und nicht nach der MAC-Adresse von HostB) , würde HostB die ARP-Anforderung einfach löschen und ignorieren, ohne jemals eine Antwort zu senden.

HostA würde dann niemals eine MAC-Adresse für sein Standard-Gateway erhalten und wäre daher nicht in der Lage, das Layer 3-Paket mit einem Layer 2-Header zu kapseln. Das Paket würde dort fehlschlagen.

Sie können den in diesem Video dargestellten ARP-Prozess sehen .


Das heißt, obwohl ich nichts mit Ihrer Frage zu tun habe, wollte ich mit etwas sprechen, das Sie gesagt haben. Dies mag eine Terminologie-Nuance sein, aber ich möchte nur sicherstellen, dass sie kommuniziert wird. Ein Switch macht nur zwei Dinge: Weiterleitungsrahmen , für den er die Ziel-MAC-Adresse kennt, oder Flutrahmen , für die er die Ziel-MAC-Adresse nicht kennt . Ein Switch sendet nie .

Eine Sendung ist ein Frame, dessen Ziel-MAC-Adresse lautet ffff.ffff.ffff. Dies ist eine speziell reservierte MAC-Adresse, die speziell für Broadcast-Frames entwickelt wurde. Wenn ein Switch auf einen Frame trifft , der für ffff.ffff.ffff bestimmt ist, besteht sein Verhalten darin, diesen Frame immer zu überfluten .

Sie könnten es so sehen, da ffff.ffff.ffff eine reservierte MAC-Adresse ist, die vom Switch nicht gelernt werden kann. Wenn ein Switch etwas empfängt, das für ffff.ffff.ffff bestimmt ist, muss er daher alle Ports im VLAN überfluten, in denen der Frame ursprünglich empfangen wurde.


Es gibt Randfälle für diese Antwort ... Hosts können entweder kein Gateway oder ihre eigene Adresse als Gateway-Adresse konfiguriert haben. Dies führt dazu, dass der Host für alle Adressen ARP-fähig ist und Proxy-Arp-fähige Router mit einer Route (auch Standardroute) zum Ziel mit ihrer eigenen Mac-Adresse antworten.
cpt_fink

3
Es gibt Randfälle für nahezu jede Antwort / Situation. Ich hätte nicht gedacht, dass es für die Frage relevant wäre, auf einige von ihnen hier einzugehen.
Eddie

2

Ja. Wenn sie unter / 16 Subnetz sind. Für das / 24-Subnetz benötigen Sie einen Router.


1
Sie können Ihre Antwort verbessern, indem Sie sie näher erläutern. Erklären Sie zum Beispiel, warum es funktioniert /16, aber `/ 24 benötigt einen Router.
Ron Maupin

0

Wenn sich Host A und B in verschiedenen Netzwerken oder Subnetzen befinden und mit demselben Switch verbunden sind, können sie meines Erachtens über das Standard-Gateway kommunizieren.


Eine Gateway-Adresse muss sich im selben Netzwerk befinden wie die auf einem Host konfigurierte Adresse. Da die Gateway-Adresse die Adresse ist, die zum Senden von Datenverkehr aus dem Netzwerk verwendet wird , muss sie sich im selben Netzwerk wie der sendende Host befinden. Andernfalls benötigt der Host ein Gateway, um zum Gateway zu gelangen.
Ron Maupin

0

Nur wenn der Switch mit einem Router verbunden ist, der weiß, wie zwischen diesen beiden Subnetzen geroutet wird.


Layer 3 - Switch ist nicht erforderlich , separate Router
infra
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.