Mehrfachschalter - wie geht das?

14

Ich habe vor einiger Zeit etwas über Netzwerkhardware gelesen und fand eine Erklärung zur Funktionsweise von Netzwerk-Switches. Grundsätzlich hieß es, dass ein Switch eine interne Datenbank darüber führt, welche MAC-Adresse mit jedem Port verbunden ist und wann er ein Paket empfängt Schlagen Sie den Ziel-MAC in seiner Datenbank nach und leiten Sie das Paket an den richtigen Port weiter.

Ich habe mich gefragt, was passiert, wenn Switches mit Switches verbunden sind:

Computer A
    |
 Switch 1
    |
 Switch 2
    |
Computer B

Ein Teil meines Heimnetzwerks ist so eingerichtet, so dass es immer noch funktioniert. Aber wenn Computer A ein Paket an Computer B senden möchte, woher weiß Switch 1, dass es das Paket an Switch 2 weiterleitet? Da Switch 1 nicht direkt mit Computer B verbunden ist, wie kann er die MAC-Adresse von Computer B in seiner Datenbank haben, wenn Switch 2 Switch 1 diese Informationen nicht zur Verfügung stellt?

tlng05
quelle
1
Angenommen, ein Ethernet-Frame wechselt von Computer A zu Computer B, haben sowohl Switch 1 als auch Switch 2 irgendwann einen Eintrag in der CAM-Tabelle für die MAC-Adresse von Computer B. Dem Switch ist es egal, was wirklich auf der anderen Seite ist, nur als welche MAC-Adresse die Ethernet-Frames zurückkommen.
LawrenceC

Antworten:

23

Wenn Switch 1 nicht weiß, an welchen Port der Frame (nicht das Paket!) Gehen soll, werden alle Ports (mit Ausnahme des Ports, von dem der Frame stammt) geflutet. Einer dieser Ports wird mit Switch 2 verbunden, was bedeutet, dass Switch 2 den Frame erhält.

Wenn Switch 2 nicht weiß, an welchen Port der Frame gehen soll, werden alle Ports (mit Ausnahme des Ports, von dem der Frame stammt) geflutet. Einer dieser Ports wird mit Computer B verbunden.

Computer B bekommt also irgendwann den Frame, während alle anderen Geräte ihn ignorieren.

Jetzt können Sie die Punkte verbinden. Wenn Computer B antwortet, lernt Switch 2, dass für Computer A bestimmte Frames an den Port gesendet werden, an dem Switch 1 angeschlossen ist, und Switch 1 lernt, dass für Computer B bestimmte Frames an den Port gesendet werden, an dem Switch 2 angeschlossen ist.

misha256
quelle
7
Daher verhalten sich Switches für unbekannte Frames im Grunde wie Hubs der alten Schule.
Sirex
2
Genau, was bedeutet, dass es immer zu Überschwemmungen kommen wird, nur nicht sehr oft. Ha, Old School Hubs. Erinnert mich an Satellite Internet in den 90er Jahren, als der in Ihrem PC installierte Receiver alle nicht für Sie bestimmten Pakete ignorieren musste. Sprechen Sie über das Hochwasser!
Mischa256
2
Was passiert, wenn wir eine pingAnfrage senden ? Reagiert jedes an den Switch angeschlossene Gerät oder reagiert der Switch selbst auf den ICMP ping?
AStopher
@ misha256 Tatsächlich senden alle modernen Kabel-Internet-Dienste und viele Glasfaser-Internet-Dienste immer noch alle Pakete, die für Ihre Nachbarschaft bestimmt sind (oder vielleicht nur für Ihren oder zwei Blöcke), und Ihr Modem muss das herausfiltern, das Ihnen nicht gehört.
Moshe Katz
6

Der physische Port an einem Switch zählt als OSI-Schicht 1. Alle MAC-Adressen, die an diesem bestimmten Port ankommen, sind physische Adressen von Netzwerkgeräten (OSI-Schicht 2). An jedem aktiven Port können sich 0, 1 oder mehr MAC-Adressen (oder CAM-Adressen oder die Adressen der Switch-Anbieter) befinden. Tatsächlich hat der Switch keine Ahnung, welcher Gerätetyp ohne zusätzliche Informationen verbunden ist (entweder der Administrator oder ein speziell entwickeltes Protokoll sagt mehr aus).

Wenn Sie also einen Switch mit einem anderen Switch verbinden, können alle MAC-Adressen, die ein Switch kennt, auf einen anderen Switch repliziert werden. Wenn es sich um einen Dummy-Switch handelt, tragen alle MAC-Adressen zum selben unbenannten LAN bei. Wenn es besser ist, können mehrere virtuelle LANs (VLANs) konfiguriert werden, und jedes VLAN verfügt über einen eigenen Satz von MAC-Adressen. Sie können in mehr als einem VLAN wiederholt werden.

Wenn ein Switch über mehr als eine Schnittstelle dieselbe physikalische Adresse empfängt, wird dies normalerweise als "MAC Flapping" erkannt und gezählt. Dies bedeutet, dass der Switch nicht sicher sein kann, über welchen Port ein Paket mit einer bestimmten MAC-Adresse gesendet werden soll.

Switches vergessen normalerweise die MAC-Adresse eines Ports, wenn diese in den letzten Minuten nicht angezeigt wird. Das ist gut; Andernfalls können Switches zu viele Informationen empfangen, die sich im Laufe der Zeit widersprechen können.

Gelegentlich können aufgrund eines Netzwerkfehlers oder eines Hackerangriffs innerhalb eines Netzwerks einige Geräte viele MAC-Ansagen generieren. Wenn die Anzahl der angekündigten MAC-Adressen zu hoch ist, als dass sich ein Switch daran erinnern könnte, kann er entscheiden, die optimale Paketzustellung zu vergessen. Wenn Sie sich nicht sicher sind, auf welchem ​​Port sich eine MAC-Adresse befindet, kann ein Paket wie eine Rundsendung an alle Ports gesendet werden (ein Angriff mit Namens-Arp-Spoofing war erfolgreich).

Wenn der Administrator potenzielle Risiken kennt, kann er die Anzahl der möglichen MAC-Adressen für jeden Port einschränken. Wenn bekannt ist, dass über einen Port jeweils nur ein Computer verbunden ist, kann dieser als "Wir können nur einen Mac haben" konfiguriert werden (die Art des Ports in Ihrer Skizze von Computer A zu Switch 1). Wenn dies nicht bekannt ist oder ein anderer Switch an einen Port angeschlossen ist, kann das Limit angemessen angehoben oder sogar als unbegrenzt belassen werden (bei einem durchschnittlichen Switch sind es tatsächlich einige Tausend).

Ich hoffe es hilft.

Martin
quelle