Warum benötigen Switches ARP-Tabellen, wenn die Übersetzung maschinenseitig erfolgt?


12

Wie aus dem Titel hervorgeht, warum benötigen Switches ARP-Tabellen, wenn die Übersetzung auf der Maschinenseite erfolgt?

Grob gesagt, warum gibt es zwei ARP-Tabellen auf Maschinen und auf Switches? Ist der am Schalter nicht ausreichend?


Ich denke, die Antworten auf dieser Seite sind richtig. Ich habe andere Kommentatoren auf anderen Seiten gefunden, die sagten, dass L2-Switches ARP-Tabellen enthalten. Das macht keinen Sinn. Nur L3-Geräte enthalten ARP-Tabellen.
Stephen Gibbons

Antworten:


23

Dies ist ein ziemlich häufiges Missverständnis oder genauer gesagt ein Terminologieproblem. In einem Layer-2-Switch gibt es keine ARP-Tabelle, sondern nur eine Weiterleitungstabelle. Der Switch zeichnet jede eingehende src-MAC-Adresse in der Weiterleitungstabelle auf und ordnet sie dem Port zu, sodass Frames mit einem dst-MAC nur an den für diesen MAC bekannten Port gesendet werden. Viele Leute nennen dies eine "Arp-Tabelle" oder "Arp-Cache", obwohl es keine ist.

In einem Switch der verwalteten Schicht 2 gibt es eine Weiterleitungstabelle sowie eine ARP-Tabelle. Letztere wird jedoch nur für die Verwaltungsschnittstelle verwendet, um mit interessierten Hosts zu kommunizieren (dh dem PC, mit dem Sie den Switch konfigurieren). In einem Switch der verwalteten Schicht 3 Es wird eine Weiterleitungstabelle sowie eine ARP-Tabelle geben, da diese für die Verwaltungsschnittstelle benötigt wird und Routerfunktionen vorhanden sind, um die Weiterleitung zwischen Subnetzen durchzuführen.


Nach meinem Verständnis würden Sie einen Switch als eine Reihe von (Switch-) Ports modellieren. Ports sind nummerierte Paketwarteschlangen. Der Switch leert die Ports in beliebiger Reihenfolge und verwaltet eine Zuordnung von Mac zu Port. Wenn ein Paket von einem Port abgeleitet wird, wird der src mac (Adresse) dem Port (Nummer) zugeordnet. Wenn ein abgelassenes Paket zugestellt werden muss, wird es an den Port des Ziel-Mac gesendet, falls bekannt, oder gesendet, wenn es nicht bekannt ist. Dies bedeutet, dass ein Port ein eth-Paket erhalten muss, um zugeordnet zu werden.
Rob

@Rob, in Ihrem Kommentar gibt es eine Reihe unklarer Aussagen, wenn nicht sogar völliger Ungenauigkeiten. Ports sind keine Warteschlangen. Auf einigen Plattformen kann es zu einer 1: 1-Zuordnung kommen, diese sind jedoch nicht identisch. MAC-Adressen werden gelernt, wenn ein Frame empfangen und nicht gesendet wird. Frames werden in der Reihenfolge ihres Empfangs an die Ausgabewarteschlange geliefert, möglicherweise in Verbindung mit einer Art QoS. Dies ist nicht willkürlich. Frames mit unbekannten Zieladressen werden überflutet und nicht gesendet.
YLearn

Dann: Modell wechselt als nummerierte Paare von (Ethernet-Paket-) Warteschlangen (In, Out). Stellen Sie beim Lesen einer Eingabewarteschlange sicher, dass der src mac dieses Pakets der Portnummer der Eingabewarteschlange zugeordnet ist. Dieses Paket muss in die Ausgangswarteschlange für dst mac gestellt werden. Wenn der Port nicht zugeordnet ist, wird das Paket in alle anderen Warteschlangen als die eigenen eingereiht. (Nicht sicher, was die Broadcast / Flood-Unterscheidung ist, da ich davon ausgehe, dass es buchstäblich das gleiche Signal auf allen Drähten auf Hardware-Ebene sendet; oder vielleicht Round-Robin durch die Ports?)
Rob

Ah ... ich glaube, ich sehe den Einwand, den Switch als Paketwarteschlangen zu modellieren. Der Switch arbeitet möglicherweise mit kleineren Datenblöcken als ganze Pakete. Dh sobald wir wissen, welche Ports ein Paket erhalten sollen, für das wir Bytes erhalten, könnten wir diese Bytes senden. Beispiel: Stellen Sie gerade genug Bytes in die Warteschlange, um den Ethernet-Header zu verarbeiten. Halten Sie nicht das gesamte Paket.
Rob

@Rob, ein überfluteter Frame ist ein Unicast-Frame mit einem unbekannten Ziel, der an jedem anderen Port als dem empfangenden Port überflutet wird. Eine Sendung ist ein Rahmen für alle Ziele , der an alle Ports außer dem empfangenden Port gesendet wird, aber weiterhin von allen Switches, die ihn in der L2-Broadcast-Domäne empfangen, auf diese Weise behandelt wird. Während die Auswirkungen auf einen einzelnen Switch ähnlich sind, unterscheiden sich die Auswirkungen auf das gesamte Netzwerk erheblich.
YLearn

6

Jedes Gerät, das das IP-Protokoll verwendet, verfügt über eine ARP-Tabelle. Da IP ein L3-Protokoll ist und ein zugrunde liegendes L2-Protokoll erfordert, ist dies eine Voraussetzung dafür, dass ein Gerät eine L3-IP-Adresse in die entsprechende L2-Adresse übersetzen kann.

Unabhängig davon, ob Ihr Gerät mit einer IP-Adresse im lokalen Netzwerk kommuniziert oder nicht, muss es den L2-Verkehr (um es einfach zu halten, schließen wir Broadcast und Multicast von dieser Diskussion aus) an ein bestimmtes Gerät in der lokalen L2-Domäne senden. Wenn sich die IP-Adresse im lokalen Netzwerk befindet, erfolgt dies direkt zum Zielgerät. Wenn nicht, ist dies das Gerät, das als Gateway oder Router für das lokale Netzwerk fungiert und den L3-Verkehr in Richtung seines Ziels weiterleiten kann.

Wenn ein Switch das IP-Protokoll überhaupt nicht verwendet (dh er bietet nicht einmal eine Verwaltung über IP, keine L3-Funktionalität usw.), benötigt er keine ARP-Tabelle.

Mir ist jedoch keine Enterprise-Switch-Plattform bekannt, die das IP-Protokoll nicht verwendet. Telnet, SSH, HTTP, HTTPS und SNMP sind nur einige Beispiele für die häufig unterstützten Dienste eines Unternehmens-Switches, für die Zugriff auf IP erforderlich wäre.


2

Wie Sie wahrscheinlich bereits wissen, besteht der Zweck der ARP-Tabelle darin, Netzwerkschichtadressen in Verbindungsschichtadressen zu übersetzen. dh IP-Adressen zu MAC-Adressen.

Die Tabellen, auf die Sie sich beziehen, sind nicht vollständig. Layer 2-Switches haben auch zwei Arten von Tabellen:

  • Eine ARP-Tabelle, die zur Kommunikation mit dem Switch "als Computer" für die Schnittstelle zu seinen Steuerelementen verwendet wird. Nun, es wird dies haben, wenn es verwaltet wird Switch ist

  • Eine Tabelle, die Switch-Ports mit MAC-Adressen verknüpft

Beispiel 1: Wenn ein PC ein Paket startet, verwendet er die MAC-Adresse, wenn die IP-Adresse lokal ist (aus der ARP-Tabelle). Wenn dieses Paket einen Switch erreicht, verschiebt der Switch das Paket basierend auf der MAC-Adresse (aus der Switch-Port- / MAC-Tabelle) an den entsprechenden Port.

Beispiel 2: Wenn ein Switch ein Paket über seine Verwaltungsschnittstelle startet, macht er dasselbe wie ein PC mit seiner ARP-Tabelle. Wenn ein Switch jedoch ein Paket von seiner Vermittlungsfunktion startet, verschiebt er dieses Paket einfach gemäß seiner Port- / MAC-Tabelle von einem Port zu einem anderen.


Danke liebe. Schöne und hilfreiche Beispiele. Bitte verwechseln Sie nicht zwischen Paketen und Frames.
Mohamad-Jaafar NEHME

-2

Switches haben Mac-Adresstabellen.
Endpunkte wie PCs haben Arp-Tabellen.


Also haben nur Switches Mac-Adresstabellen? Und nur Endpunkte haben ARP-Tabellen?
YLearn

1
@YLearn Für aktuelle L2-Schalter, ja.
Navin
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.