Warum schreiben Switches keine Mac-Adressen neu?

10

Gibt es einen bestimmten Grund, warum Ethernet-Switches die MAC-Adresse eines Pakets nicht ändern?

Ist es für die Identifizierung des Endhosts anhand der MAC-Adresse oder etwas anderes?

user2720323
quelle
5
Angenommen, Ihr Name war Kumar. Würde es dir gefallen, wenn die Leute dich "Jessica" nennen würden?
Mike Pennington
1
Switches schreiben keine Pakete (Frames) neu. Sie verschieben sie einfach von Schnittstelle zu Schnittstelle. (Im Fall von Broadcast / Multicast beinhaltet dies das Kopieren auf mehrere Ports.)
Ricky Beam
4
Können Sie sich einen gültigen Grund vorstellen, warum ein Switch die MAC-Adresse ändern sollte ?
Teun Vink
Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:

10

Wenn ein Switch die MAC-Adressen ändern würde, würde dies das Netzwerk vollständig unterbrechen.

Die MAC-Adresse ist eine eindeutige Kennung, die von Hosts im lokalen Netzwerk verwendet wird.

Wenn der Switch den Ziel-MAC ändern würde, würde der Frame nicht an den entsprechenden Host geliefert. In den Fällen, in denen der Frame beispielsweise überflutet wird, wird er vom Zielhost gelöscht, da er nicht mehr für den Host bestimmt ist.

Wenn der Switch die Quell-MAC-Adresse ändern würde, würde der Zielhost diese MAC-Adresse für alle Antworten verwenden (einschließlich der Aktualisierung von ARP-Einträgen mit fehlerhaften Daten). Dies würde zu der gleichen Situation führen, die ich bereits beschrieben habe, nur für den gesamten Rückverkehr.

Dies könnte weitere Probleme mit Dingen wie 802.1X und anderen Mechanismen verursachen, die die MAC-Adresse zum Identifizieren / Klassifizieren des Geräts verwenden.

Könnten dafür Mechanismen entwickelt werden? Ich bin sicher, dass sie könnten. Derzeit gibt es jedoch keinen Grund, dies zu tun. Dies würde die Vernetzung nur erschweren und unnötige Verarbeitung hinzufügen. Wir sind nicht nahe daran, den verfügbaren MAC-Adresspool zu erschöpfen, sodass so etwas wie MAT nicht erforderlich ist (Sie wissen nicht, ob das Konzept der MAC-Adressübersetzung überhaupt irgendwo existiert, also habe ich vielleicht nur einen Begriff geprägt?).

YLearn
quelle
4

Das Umschreiben von Adressen von Datagrammen erfolgt auf Schicht 3, wenn beispielsweise Gateways (Router oder Firewall), auf denen NAT ausgeführt wird, die IP-Adressen von Hosts im internen Netzwerk neu schreiben, sodass sie alle von einer (oder mehreren) externen IP-Adressen auf dem Gateway selbst angezeigt werden.

Der Grund dafür, dass etwas Ähnliches nicht auf Ebene 2 passiert (wo wir MAC-Adressen verwenden, um Hosts und Switches zu unterscheiden, die die Bewegung von Datagrammen, dh Frames, ausführen), ist, wie in den obigen Kommentaren erwähnt, dass es wirklich keine Notwendigkeit dafür gibt.

Im Fall der dritten Schicht mit NAT löst das NAT eine Reihe von Problemen:

  • IP-Adressen werden für die globale Kommunikation verwendet, und es steht ein begrenzter Pool von IP-Adressen zur Verfügung, die gemeinsam genutzt werden müssen. Durch die Verwendung von NAT wird sichergestellt, dass eine größere Anzahl interner Hosts weniger (normalerweise nur eine) IP-Adresse gemeinsam nutzen kann, die im öffentlichen Internet sichtbar ist.
  • Das Umschreiben von IP-Adressen wird von einigen, aber nicht von allen in Betracht gezogen, um eine Sicherheitsebene hinzuzufügen, indem die IP-Adressen der internen Maschinen maskiert werden.

Wenn wir uns also an das NAT-Beispiel halten, ist ein Layer-2-Gegenstück zu NAT wirklich nicht erforderlich.

  • MAC-Adressen werden nicht global zum Adressieren von Datagrammen im Internet verwendet, sondern zum Senden von Frames an die richtigen Hosts im lokalen Subnetz. Da lokale Subnetze relativ klein sind und die Anzahl der möglichen MAC-Adressen sehr groß ist, gehen den verfügbaren MAC-Adressen auf Schicht-2-Ebene nicht die Puste aus. (Die Option, die MAC-Adressen von Netzwerkkarten manuell auf einen beliebigen Wert umzustellen, ändert dies nicht.)
  • Und für den fraglichen Sicherheitsvorteil des Umschreibens von Datagrammadressen bei der Weiterleitung: Da MAC-Adressen nur in einem lokalen Subnetz verwendet werden, hat man normalerweise aus relativer Sicht eine viel bessere Kontrolle über dieses Subnetz (sowohl physisch als auch in den meisten anderen) beteiligte Geräte) im Vergleich zum Gegenstück im Layer-3-Fall, bei dem es sich um das gesamte Internet handelt (über das wir als verbundene Benutzer und Netzwerktechniker in der Praxis keine Sicherheitskontrolle haben).

Ich hoffe, dies gibt Aufschluss darüber, warum Switches MAC-Adressen nicht neu schreiben. Der einzige Layer-3-Fall, den ich mir von oben ausgedacht habe, war NAT. Andere können sicherlich Beispiele für andere Layer-3-Fälle liefern, in denen IP-Umschreibungen erforderlich sind (und warum diese Technologien auf Layer-2-Ebene nicht wirklich sinnvoll sind). .

IllvilJa
quelle
3
Genau richtig, aber ich habe ein kleines Problem mit Ihrer Antwort. Sie haben erwähnt, dass "es wirklich keine Notwendigkeit für ein Gegenstück zu NAT auf Schicht zwei gibt" ... während ich MAC NAT nicht gesehen habe, habe ich Tunneling auf Mac-Ebene gesehen. Unter bestimmten Umständen ist es sinnvoll, auf Mac-Adressen innerhalb anderer Mac-Adressen zu "tunneln". Die Situation, die sofort in den Sinn kommt, ist IEEE 802.1ah Provider Based Bridging (PBB) . In der Regel wird dies verwendet, um verfügbare VLANs zu skalieren / das Mac-Lernen in U-Bahn-Ringen von Dienstanbietern zu reduzieren
Mike Pennington,
1
@IllvilJa: Gut gesagt ..! Sie haben einen Zweifel gelöst, der mich in den letzten Wochen verwirrt hat. Vor ein paar Wochen dachte ich wie folgt ... "Ein Router, der sich mit einem WAN befasst, neigt dazu, seine MAC-Adresse anstelle der MAC-Adresse eines Absenders (auf jedem Paket) anzugeben und leitet die Pakete an den Empfänger weiter. Aber im Falle von LAN, der Router gibt seine MAC-Adresse nicht anstelle der MAC-Adresse eines Absenders (auf jedem Paket) an, sondern leitet nur die Pakete zwischen Absender und Empfänger weiter. "Aber nach Ihrer Erklärung habe ich klar genug, um zwischen" Router "und" Router "zu unterscheiden. ein Schalter'. Danke noch einmal..!
Maharan
0

Das Umschreiben der MAC-Adresse würde zu einer erheblichen Komplexität führen (der Switch müsste über Protokolle höherer Ebenen wie arp Bescheid wissen, damit die Adressauflösung neu geschrieben werden kann), die Fehlerbehebung erschweren, verhindern, dass Protokolle wie STP funktionieren, und wäre im Allgemeinen eine PITA. Es wird normalerweise auch nicht benötigt.

Das heißt nicht, dass es nicht möglich ist. ebtables (das Layer-2-Gegenstück zu iptables) bietet einige Optionen für die MAC-Adressumsetzung. Dies kann nützlich sein, wenn Sie Switches haben, die keine MAC-Tabellen pro VLAN verwenden, und eine Layer-2-Filterung durchführen möchten.

http://ebtables.netfilter.org/examples/example1.html

Peter Green
quelle