Wie lernt ein Switch eine MAC-Adresse, die nicht in seiner Nachschlagetabelle enthalten ist?

11

Ich habe eine relativ dumme Frage. Angenommen, der Switch wurde gerade gestartet und hat einen Frame empfangen, der eine Ziel-MAC-Adresse für ein Netzwerkgerät enthält, das nicht in seiner MAC-Adresstabelle enthalten ist.

Was passiert dann? Sendet es (MAC-Adresse ff:ff:ff:ff:ff:ff) und empfängt es Antworten von angeschlossenen Geräten oder gibt es ein Protokoll für das, was verwendet wird? Ich glaube nicht, dass der Switch das ARP (Address Resolution Protocol) verwendet.

Ron Maupin
quelle
1
Wenn Sie darüber nachdenken, wenn ein Switch einen Frame nicht tatsächlich wechseln kann (weil er beispielsweise nicht die erforderliche Adresse in seiner Tabelle hat), muss er diesen Frame aus Kompatibilitätsgründen normalerweise wie einen Hub behandeln.
Todd Wilcox
Wirklich danke an alle für die Antworten.

Antworten:

27

Gute Frage. Ich werde es mit einer Animation beantworten:

Geben Sie hier die Bildbeschreibung ein

Wenn Host A den Frame sendet, hat der Switch nichts in seiner MAC-Adresstabelle. Beim Empfang des Frames wird die MAC-Adresse von Host A für die Switch-Port- Zuordnung aufgezeichnet . Da es nicht weiß , wo das Ziel - MAC - Adresse ist, es flutet den Rahmen aus allen Ports.

Dies stellt sicher , dass , wenn Host B vorhanden ist (die an dieser Stelle, wird der Schalter nicht wissen noch) nicht , dass sie es erhalten. Hoffentlich generiert Host B beim Empfang des Frames einen Antwortframe, der es dem Switch ermöglicht, die MAC-Adresszuordnung aus dem Rückgaberahmen zu lernen.

Weitere Informationen zur Funktionsweise eines Switch finden Sie hier (woher ich die Animation genommen habe). Ich würde auch vorschlagen, die gesamte Artikelserie zu lesen, um genauer zu sehen, wie sich ein Paket durch ein Netzwerk bewegt .

Ein letzter Hinweis zu den Begriffen Flooding vs Broadcast . Ein Switch sendet niemals Frames. Ein Broadcast ist keine Aktion, die ein Switch ausführen kann. Ein Switch kann nur einen Frame überfluten . Eine Sendung ist einfach ein Frame mit einer Ziel-MAC-Adresse von ffff.ffff.ffff. Dies wird oft verwechselt, weil der Endeffekt der gleiche ist, aber sie sind tatsächlich unterschiedlich .

Eddie
quelle
Der Hauptunterschied zwischen Überschwemmung und Rundfunk besteht darin, wie die nächsten Knoten reagieren werden
Ferrybig
2
@Ferrybig Richtig. Aber ich würde es etwas anders formulieren ... Der Hauptunterschied zwischen einem Switch , der einen Unicast- Frame überflutet , und einem Switch , der einen Broadcast- Frame überflutet , besteht darin, wie die nächsten Knoten reagieren. Es gibt keinen Switch, der einen Frame sendet . (Dieser Kommentar und meine Antwort sprechen vom Transitverkehr, nicht vom Verwaltungsverkehr zum / vom Switch)
Eddie
4

Wenn ein Switch einen Frame empfängt, aktualisiert er seine MAC-Adresstabelle mit der Quell-MAC-Adresse und dem Port, an dem er den Frame empfangen hat. Wenn sich die Ziel-MAC-Adresse nicht in der MAC-Adresstabelle befindet (unbekanntes Unicast), wird der Frame an alle Ports mit Ausnahme des Ports geflutet, an dem der Frame empfangen wurde.

Ron Maupin
quelle
Außer wenn es überflutet wird, flutet es den Frame nicht zurück zu dem Port, von dem es den Frame empfangen hat, oder?
Todd Wilcox
1
Recht. Es wird nicht an den Port gesendet, von dem der Frame empfangen wurde.
Ron Maupin
3
Ich füge nur hinzu, dass der Switch die neue (Ziel-) MAC-Adresse erst erfährt, wenn das Gerät antwortet.
Ron Trunk
Wenn der Frame auf alle Ports übertragen wird, besteht ein Sicherheitsrisiko?
3
Es kann sein. Aus diesem Grund unterstützen einige / viele Switches das Deaktivieren der Unicast-Überflutung von unbekanntem Unicast (sowie Multicast). In drei Jahrzehnten der Vernetzung musste ich es nie verwenden.
Ricky Beam
4

Der Schalter nicht verwenden ARP, aber ARP kann von dem Auftreten in erster Linie aus zwei Gründen bei der Verhinderung dieser Situation helfen:

  1. Wenn Knoten A ein IP-Paket an Knoten B sendet, der sich nicht in seinem ARP-Cache befindet, sendet er zuerst eine ARP-Anforderung (die ein Broadcast-Paket ist und vom Switch automatisch an alle Ports geflutet wird). Wenn Knoten B seine ARP-Antwort sendet, lernt der Switch seine MAC-Adresse. Zum Zeitpunkt der tatsächlichen Datenübertragung kennt der Switch die MAC-Adressen der Teilnehmer bereits und muss keine Datenpakete überfluten.

  2. Viele Geräte senden, wenn ihre Verbindung unterbrochen wird, ein kostenloses ARP- Paket. Zusätzlich zur Aktualisierung der ARP-Caches anderer Knoten im Netzwerk füllt der GARP auch die MAC-Adresstabelle des Switch.

IPv6 verwendet kein ARP, aber NDP erfüllt einen ähnlichen Zweck.

Also insgesamt, obwohl Schalter sicherlich werden Frames Unicast - Adressen überfluten sie nicht gelernt haben, dann ist es nicht notwendig , so oft wie Sie vielleicht denken, weil es in der Regel die Möglichkeit , müssen vorher Knoten die Adressen von Broadcast - Frames zu lernen. Sie können dies jedoch definitiv bei einem Switch beobachten, dessen MAC-Tabelle übergelaufen ist oder der gerade neu gestartet wurde.

Hobbs
quelle