So funktioniert ein Switch, wenn er die MAC-Adresse kennt, der sendende PC jedoch die MAC-Adresse des Ziel-MAC nicht kennt

12

4 PCs sind an einen Switch angeschlossen und dieser Switch kennt ihre MAC-Adressen (alle 4 PCs). Computer A und Computer D haben noch nie zuvor kommuniziert, daher wird bei beiden die ARP-Tabelle nicht mit der MAC-Adresse des jeweils anderen aktualisiert.

Computer A möchte mit Computer D kommunizieren und sendet daher eine ARP-Anforderung für die MAC-Adresse von Computer D. Dieser ARP wäre eine Broadcast-Nachricht (mit FF: FF: FF: FF: FF: FF als Ziel-MAC im ARP-Paket).

Ich möchte verstehen, wie Switch es aufnehmen wird, da er bereits über den MAC von Computer D informiert ist, Computer A jedoch nicht. Lässt der Switch Computer D auf die ARP-Nachricht (die Übertragung) antworten oder diese ARP-Anforderung verwerfen und das Paket von Computer A direkt an Computer D weiterleiten (da der Switch den MAC von Computer D bereits kennt)?

Aniruddha
quelle
2
Zusätzlich zu den Antworten geben alle Betriebssysteme, die mir heutzutage bekannt sind, einen unbegründeten ARP aus, wenn der Link aufgerufen wird.
AbraCadaver
@ BraCadaver Das ist nicht wirklich relevant. Kostenlose ARP sollte nur vorhandene ARP-Cache-Einträge, keine neuen erstellen. Es soll veraltete Einträge erzwingen, wenn eine IP verschoben oder eine Netzwerkkarte ersetzt wird, und nicht, wenn Caches vorgeladen werden.
Barmar
@Barmar: Nein. Bridge / Switch sieht Frame, zeichnet Quell-MAC und Port auf. So funktioniert das.
AbraCadaver
@AbraCadaver Was hat das damit zu tun, wie unentgeltlich ARP verarbeitet wird?
Barmar
@Barmar: Unbeabsichtigtes ARP wird von einem Switch nicht verarbeitet. Es sieht einen Ethernet-Frame mit einem Quell-MAC an einem bestimmten Port
eingehen

Antworten:

24

Die ARP-Anfrage wird natürlich durchlaufen.

Der Switch weiß nichts über ARP. Es kennt nur Ethernet (dh MAC-Adressen in Ethernet-Frames), keine Protokolle darüber. (Einige Switches bieten erweiterte Funktionen wie IGMP-Snooping, dies ist hier jedoch nicht relevant.)

Da es sich um eine Broadcast-Nachricht handelt, muss sie an alle (verbundenen) Ports gesendet werden. Das ist alles, worum sich der Schalter kümmert. Es kann nicht wissen, dass es wirklich für Computer D bestimmt ist.

Daniel B
quelle
Nun, Ethernet ist ein Protokoll. Ein einfacher Switch achtet jedoch nur auf einige Protokolle (wie Ethernet) und nicht auf andere (wie Internet Protocol Version 4 oder Transmission Control Protocol).
TOOGAM
2
Die ARP-Anfrage fragt: "Wo ist 192.168.0.1?" Der Switch hat keine Ahnung davon.
Michael Hampton
11

Eine ARP-Anfrage ist einfach eine Nachricht, die besagt: "Sie sind bei IP, was auch immer ! Wie lautet Ihre MAC-Adresse?" Obwohl ARP Layer-2-Adressen erkennt, handelt es sich inhärent um eine Layer-3-Anfrage, da diese an eine IP-Adresse gesendet wird. Switches funktionieren nicht auf Schicht 3.

In dem Beispiel, das Sie angegeben haben, wissen Sie etwas, das der Schalter nicht tut. dass die IP-Adresse in der ARP-Anforderung zu Computer D gehört. Die Ziel-MAC-Adresse ist eine Rundsendung und das ist alles, was der Switch kennt oder kümmert. Wenn der Switch einen Broadcast-MAC erkennt, sendet er dieses Paket ganz einfach.

Ja, es gibt Layer-3-Switches, und Pedanten würden darauf hinweisen, dass ARP technisch kein Layer-3-Protokoll ist, aber nichts davon ist für dieses Beispiel von Bedeutung.

Wes Sayeed
quelle