Wenn eine Ethernet-Verbindung mehr als ein einzelnes VLAN enthält, müssen alle bis auf eines dieser VLANs mit Tags versehen werden . Das IEEE 802.1Q-konforme VLAN-Tag wird im Ethernet-Frame an der Stelle platziert, an der sich der EtherType des Frames normalerweise befinden würde. Der erste Teil des VLAN-Tags ist eine Tag-Protokoll- ID. Dies ist ein konstanter Wert von 0x8100. Infolgedessen sieht ein Gerät, das keine IEEE 802.1Q-Tags kennt oder so konfiguriert ist, dass es diese nicht erwartet, die mit Tags versehenen Frames und denkt, dass dies weder IPv4, ARP noch IPv6 ist. Ich glaube, ich verstehe das überhaupt nicht.
Ein VLAN-unterstützender Switch kann Pakete, die an jeden Port gesendet werden, nach ihren VLAN-Tags filtern und optional das VLAN-Tag von einem ausgewählten VLAN für ausgehenden Datenverkehr von diesem Port entfernen (und das VLAN-Tag wechselseitig zu eingehendem Datenverkehr auf diesem Port hinzufügen). Damit wird der Datenverkehr des ausgewählten VLAN als normaler Ethernet-Datenverkehr vor 802.1Q für das an diesen bestimmten Port angeschlossene Gerät angezeigt. Ein solches ausgewähltes VLAN wird als natives VLAN für diesen Port bezeichnet.
Der 802.1Q-Standard erlaubt es einem Ethernet-Port, ein einziges natives VLAN und eine beliebige Anzahl von markierten VLANs gleichzeitig zu unterstützen, aber ich verstehe, dass es eine etwas ungünstige Konfiguration ist, wenn ein Port sowohl markierte als auch nicht markierte Ethernet-Frames gleichzeitig durchläuft: Beachten Sie, dass sich eines der VLANs in einem Port / einer Netzwerkkarte von allen anderen unterscheidet und anders konfiguriert werden muss. Fehleranfällig.
In der Cisco-Terminologie kann ein Switch-Port entweder als Access-Port oder als Trunk-Port konfiguriert werden . Ein Access-Port bietet nur Zugriff auf ein einzelnes VLAN. Die VLAN-Tags werden automatisch vom ausgehenden Datenverkehr befreit und dem eingehenden Datenverkehr für diesen Port hinzugefügt. Ein Trunk-Port leitet den Datenverkehr auf einer konfigurierbaren Gruppe von VLANs weiter, der gesamte Datenverkehr wird jedoch mit VLAN-Tags versehen.
Im Fall von zwei Geräten in zwei verschiedenen VLANs am selben Switch, die beide Adressen im selben IP-Subnetz verwenden. Was passiert, hängt davon ab, wie die Switch-Ports (und die Netzwerkschnittstellen der Geräte) in Bezug auf VLANs konfiguriert sind.
1.) Switch-Ports als Access-Ports, Geräte, die nicht VLAN-fähig sind: Der Switch-Port filtert den Datenverkehr des "entgegengesetzten" VLAN heraus, sodass die Geräte den Datenverkehr des jeweils anderen nicht sehen. Dies wirft die Frage auf, ob es sinnvoll ist, sie überhaupt als "im selben Netzwerksegment" zu betrachten.
2.) Switch-Ports als Trunk-Ports, die so eingestellt sind, dass sie beide VLANs passieren, Geräte, die kein VLAN kennen: Jedes Gerät denkt: "Warum sendet mir dieses andere Gerät immer wieder das seltsame Ethertype 0x8100-Zeug? Ich spreche das nicht."
3.) Switch-Ports als Trunk-Ports, die jeweils nur ein VLAN übertragen, Geräte VLAN-fähig: Sie müssen die VLAN-Nummern auch in der Netzwerkkonfiguration der Geräte angeben, aber das Endergebnis ist im Wesentlichen dasselbe wie im Fall # 1: Die Geräte sehen nicht den Datenverkehr des jeweils anderen.
4.) Switch-Ports als Trunk-Ports, die so eingestellt sind, dass sie beide VLANs passieren, Geräte VLAN-fähig, aber für unterschiedliche VLANs konfiguriert sind: Jetzt übernimmt die VLAN-Unterstützungsebene in den Geräten selbst die Filterung, aber das praktische Ergebnis ist das gleiche wie in Fall 1 und # 3: der Verkehr des "gegenüberliegenden" Geräts erreicht niemals die IP-Protokollschicht im Netzwerkprotokollstapel des Geräts.
5.) Switch-Ports als Trunk-Ports, die so eingestellt sind, dass sie beide VLANs passieren, Geräte, die mit VLAN-Erkennung konfiguriert sind, und beide VLANs, die im Gerät konfiguriert sind. Dies geht über das hinaus, wonach Sie gefragt haben. Jetzt ist das Gerät effektiv in beiden VLANs vorhanden.
Da sich beide VLANs auf der Ethernet-Ebene unterscheiden, aber dasselbe IP-Subnetz verwenden, hängt das, was passiert, davon ab, wie das IP-Routing der Geräte implementiert wurde. Das wichtigste Detail wird sein, ob der IP-Stack für die Verwendung eines starken oder eines schwachen Hostmodells ausgelegt ist und wie genau das Konzept der VLANs in das System integriert wurde.
Zum Beispiel präsentiert Linux alle konfigurierten getaggten VLANs als zusätzliche virtuelle NICs, die den Verbindungsstatus der zugrunde liegenden physischen NIC widerspiegeln, aber ansonsten so unabhängig wie technisch möglich sind. Es ist also so, als hätten Sie zwei Netzwerkkarten in zwei separate physische Netzwerksegmente mit 100% überlappenden IP-Subnetzen gesteckt: Das System empfängt möglicherweise eingehenden Datenverkehr in Ordnung, geht jedoch davon aus, dass jede mit dem Ziel-IP-Subnetz verbundene Netzwerkkarte für Gespräche geeignet ist Jeder andere Host in diesem IP-Subnetz verwendet die (virtuelle, VLAN-spezifische) Netzwerkkarte, die zuerst in der Routing-Tabelle vorkommt. Die Konfiguration kann also in Abhängigkeit von der Reihenfolge der verschiedenen Teile der Routing-Tabelle funktionieren oder auch nicht Die NIC- und VLAN-Konfiguration wurde initialisiert. Sie müssten Linux verwenden
Die Verwendung desselben IP-Subnetzes in zwei unterschiedlichen Segmenten ist ein Problem der Schicht 3, unabhängig davon, ob die Segmenttrennung auf Schicht 2 physisch (= tatsächliche separate Netzwerkkarten) oder logisch (= mit VLANs erstellt) ist. Für ein Layer-3-Problem ist eine Layer-3-Lösung erforderlich: Die Verwendung eines Routers oder einer anderen Box zum Symmetrisieren von NAT in einem der Subnetze zum Entfernen der IP-Subnetzüberlappung ist viel eleganter als der Versuch, dies auf den einzelnen Geräten zu handhaben.