Warum können Geräte in verschiedenen VLANs, die sich jedoch im selben Subnetz befinden, nicht kommunizieren?

22

Ich habe eine Frage zum Umstieg. Ich habe zwei Geräte an einen Switch mit den IP-Adressen 192.168.5.20 und 192.168.5.10 angeschlossen. Beide Geräte haben das gleiche Präfix / 24. Das heißt, sie befinden sich im selben Subnetz.

Wenn ich diese Geräte auf verschiedene VLANs (10 und 20) auf dem Switch aufteile, kommuniziert dieser nicht, obwohl sie sich im selben Subnetz befinden. Warum passiert das?

Jim Pap
quelle
3
Sie benötigen einen Router, um zwischen verschiedenen Vlans zu routen. Wenn Sie dies tun, können Sie nicht dasselbe IP-Subnetz auf diesen beiden Vlans haben.
5
Hallo Jim Pap und willkommen ... Sie haben Ihre beiden Hosts an zwei verschiedene Switches angeschlossen, einen mit der Bezeichnung "LAN 10" und einen mit der Bezeichnung "LAN 20". Durch das Konfigurieren von VLANs auf Ihrem Switch wird Ihr Switch in mehrere virtuelle Switches unterteilt.
Jonathanjo
3
Diese Frage ist eher eine Tautologie. Sie können es nicht, weil sie es nicht können. Durch die Erstellung separater VLANs wird das Switched Internetwork logisch segmentiert. Sie müssen jetzt eine Form von Inter-VLAN-Routing verwenden, damit diese Geräte kommunizieren können.
WakeDemons3
1
@Cown Auf einem Cisco- Router ist es nicht möglich , Adressen aus demselben Subnetz auf verschiedenen Schnittstellen zu haben. Dies hat jedoch wenig mit dem VLAN selbst zu tun, das sich nicht um IP-Adressen kümmert (und beispielsweise mit IPX / SPX). Und ... Cisco ist immer noch ein wichtiger Schauspieler, aber bei weitem nicht der einzige.
JFL
1
@Cown wie würden verschiedene VRFs helfen? Sie würden dann sowieso nicht kommunizieren, und um Ihre Frage zu beantworten, überbrücken Sie einfach die vlans, so einfach ist das. Bridging ist in Cisco-Routern seit langem verfügbar, bevor ich meinen CCIE nahm, und das war vor über 20 Jahren
Matt Douhan

Antworten:

39

Eines der Dinge, die VLANs tun, ist, einen physischen Switch in mehrere kleinere "virtuelle" Switches aufzuteilen.

Dies bedeutet die physikalische Darstellung von einem Switch und zwei VLANs:

Bildbeschreibung hier eingeben

Ist im Betrieb identisch mit dieser logischen Darstellung der gleichen Topologie:

Bildbeschreibung hier eingeben

Selbst wenn sich die IP-Adressen im zweiten Image im selben Subnetz befänden, werden Sie feststellen, dass keine "Verbindung" zwischen den beiden virtuellen Switches (dh VLANs) besteht und Hosts A / B daher nicht mit Hosts C kommunizieren können / D.

Damit die Hosts im 2. Image miteinander kommunizieren können, benötigen Sie eine Art Gerät, um die Kommunikation von einem "Switch" zum anderen zu erleichtern. Das zu diesem Zweck vorhandene Gerät ist ein Router. Daher ist ein Router erforderlich, damit der Datenverkehr eine VLAN-Grenze überschreitet:

Bildbeschreibung hier eingeben

Aufgrund der Funktionsweise des Routers muss jedes Router-Interface ein eigenes, eindeutiges IP-Subnetz haben. Deshalb benötigt jedes VLAN traditionell ein eigenes eindeutiges IP-Subnetz - denn wenn eine Kommunikation zwischen diesen VLANs stattfinden soll, sind eindeutige Subnetze erforderlich.


Die obigen Bilder stammen aus meinem Blog. Weitere Informationen zu VLANs als Konzept und zum Routing zwischen VLANs finden Sie hier .

Eddie
quelle
2
Falle für Unachtsame: Versuchen Sie nicht, einen Switch auf diese Weise aufzuteilen, und verbinden Sie dann VLANs über nicht gekennzeichnete Ports - es sei denn, Sie wissen genau, wie die STP- und CAM-Implementierungen in diesem Switch eingerichtet sind.
Rackandboneman
1
@rackandboneman Das ist ein guter Rat. Aber aus Gründen der Klarheit stellen die Bilder in meinem Beitrag nur einen physischen Schalter dar. Das "Two-Switch-Image" ist die logische Darstellung eines physischen Switches mit zwei VLANs.
Eddie
2
"Jede Router-Schnittstelle muss über ein eigenes, eindeutiges IP-Subnetz verfügen." Dies ist bei einigen Router-Implementierungen möglicherweise nicht allgemein der Fall. Zumindest unter Linux können Sie dasselbe Subnetz mehreren Schnittstellen zuweisen und dann eine Kombination aus Proxy-Arp- und / 32-Routen verwenden, um den Datenverkehr zwischen diesen zu ermöglichen.
Peter Green
@PeterGreen Es gibt immer Ausnahmen. Nur weil etwas kann getan werden, bedeutet nicht , es sollte getan werden - auch nicht für die Frage auf der Hand relevant machen.
Eddie
29

Der springende Punkt von Virtual LAN ist, separate Layer 2-LANs auf einem einzigen physischen Gerät zu erstellen.

Es ist, als würde man in einem Raum eine gepanzerte und schalldichte Wand bauen, um 2 Räume zu schaffen. Die Personen in jeder Raumhälfte können nicht mehr mit den Personen in der anderen Raumhälfte kommunizieren.

Sie haben also zwei Hosts in zwei unterschiedlichen L2-Netzwerken, ohne dass diese miteinander kommunizieren können.

Beachten Sie, dass es in den meisten Fällen keinen Sinn macht, dasselbe Subnetz in zwei verschiedenen VLANs zu verwenden. Im Standardfall wird ein IP-Netzwerk mit einem VLAN verknüpft.

JFL
quelle
Es fällt mir schwer, mir einen Fall vorzustellen, in dem die Verwendung des gleichen Subnetzes in zwei verschiedenen VLANs sinnvoll ist. Stellen Sie sich vor, Sie sind ein Router, und Sie erhalten ein Paket für 192.168.5.15. Welches VLAN ist das?
Monty Harder
@MontyHarder Hängt ab. Aus welchem ​​Netzwerk (virtuell oder nicht) kommt es?
Deduplizierer
1
@ Deduplicator Ich bin nicht sicher, warum es darauf ankommt, wie die Quell-IP des Pakets lautet. Woher wissen Sie, was ein VLAN ist, wenn Sie denselben IP-Bereich für zwei oder mehr VLANs verwenden? Das ergibt einfach keinen Sinn.
Monty Harder
@MontyHarder Ich habe den Fall: Ich habe Verbindungen zu Anbietern, die dieselbe Adressierung verwenden und die auf denselben Switches hergestellt werden. Da ich mit beiden (über verschiedene Router) spreche und sie nicht miteinander sprechen, ist das in Ordnung.
JFL
@MontyHarder Tatsächlich ist es sehr verbreitet, dass in vielen verschiedenen LANs (und damit VLANs) dasselbe Subnetz vorhanden ist. RFC1918-Privatadressen werden in Millionen von LANs wiederverwendet. Sie könnten sehr gut mehrere separat NATed-Netzwerke in demselben VLAN haben. Dies geschieht wahrscheinlich ad nauseam in Hosting-Umgebungen. Aber diese Netzwerke gelten in der Tat als völlig unabhängig.
Jcaron
5

IP-Subnetze gruppieren Hosts logisch - Hosts innerhalb desselben Subnetzes verwenden ihre Layer-2-Verbindung, um direkt miteinander zu kommunizieren. Für die Kommunikation mit Hosts in einem anderen Subnetz ist die Verwendung eines Gateways / Routers erforderlich.

VLANs gruppieren Hosts physisch - Hosts innerhalb desselben VLAN / Broadcast-Domain / L2-Segments können direkt miteinander kommunizieren. Hosts in verschiedenen VLANs können dies nicht. (Schlagt mich nicht zusammen - die physische Gruppe ist nicht wirklich korrekt, aber es markiert meinen Standpunkt.)

Wenn sich also zwei Hosts im selben IP - Subnetz befinden, sich jedoch in verschiedenen VLANs / Broadcast - Domänen / L2 - Netzwerken befinden, können sie nicht kommunizieren: Der Quellhost übernimmt das Ziel in seinem lokalen L2 - Netzwerk und versucht daher, die Zieladresse (oder NDP-Auflösung für IPv6).

ARP sendet eine Anfrage als Broadcast an das lokale L2-Netzwerk, und der Host mit der angeforderten IP-Adresse antwortet mit seiner MAC-Adresse. Da sich der Zielhost außerhalb des lokalen Netzwerks befindet, hört er die ARP-Anforderung nie und ARP schlägt fehl.

Selbst wenn die Quelle die MAC-Adresse des Ziels irgendwie kennen und einen an diesen MAC adressierten Frame erstellen würde, würde sie das Ziel niemals erreichen, da es sich immer noch außerhalb des L2-Netzwerks befindet. MACs von außerhalb des lokalen L2-Netzwerks sind bedeutungslos und nutzlos.

Zac67
quelle
3

Ergänzend zu den bisherigen Antworten, die die Frage aus gestalterischer und theoretischer Sicht behandeln ...

Anstatt zu fragen: " Warum kommunizieren sie nicht? ", Fragen wir: " Was passiert, wenn sie versuchen zu kommunizieren?"

Was bedeutet es zunächst, ein VLAN auf einem Switch zu konfigurieren? In unserem Beispiel sind einige Sockets als VLAN 10 und einige als VLAN 20 konfiguriert. Die Definition eines VLAN ist, dass nur Sockets in demselben VLAN verbunden sind. Dies bedeutet, dass ein auf einem Port in einem bestimmten VLAN empfangener Frame immer nur an Ports desselben VLAN gesendet wird.

  10  10  20  20  10  20       VLAN of port
   1   2   3   4   5   6       Port number
===+===+===+===+===+===+===
   |   |   |   |   |   |
   A   B   C   D   E   F       Hosts

In diesem Diagramm haben wir sechs Hosts, die Ports 1, 2, 5 befinden sich in VLAN 10, die Ports 3, 4, 6 befinden sich in VLAN 20.

Angenommen, Host A ist statisch als 192.168.5.10/24 konfiguriert und F ist statisch als 192.168.5.20/24 konfiguriert. Angenommen, B bis E haben andere statische Konfigurationsadressen (egal was sie sind).

Wenn A 192.168.5.20 anpingt, stellt es fest, dass es sich in derselben / 24 befindet. Das erste, was passiert, ist eine ARP-Anfrage: WHO HAS 192.168.5.20, die als Ethernet-Broadcast gesendet wird.

Der Switch empfängt den Broadcast an Port 1. Dies ist VLAN 10, sodass der Broadcast über die Ports 2 und 5 und die anderen Ports in VLAN 10 gesendet wird. Die Hosts B und E empfangen die ARP-Anforderung und ignorieren sie, da dies nicht ihre Adresse ist.

Das ist es.

Es erfolgt keine ARP-Antwort. Das nächste, was passiert, ist ein Timeout auf A, gefolgt von anschließenden wiederholten ARP-Anfragen, bis die Anwendung aufgibt.

Ein Host, der an einen anderen Port als einen VLAN 10-Port angeschlossen ist, sieht unabhängig von seiner IP-Adresse überhaupt nichts. Dies schließt offensichtlich F ein, das 192.168.5.20 ist.

Jonathanjo
quelle
1

Ich erwarte von Ihnen ein gutes Verständnis für die Subnetz-Maskierung. Wenn Sie separate VLANs haben, müssen Sie einen eindeutigen IP-Adressbereich mit Subnetzen haben. Dies ist nicht unbedingt erforderlich.

VLANs sind ein separates LAN, aber ein virtuelles. Zusätzlich ein virtuelles LAN zum Trennen von Netzwerken in demselben Switch. Es wird eine separate Broadcast-Domäne in Ihrem Switch erstellt. Aber wenn Sie virtuelle LANs mit der gleichen IP-Adresse erstellen, ist dies nutzlos.

Außerdem müssen Sie das Intervlan-Routing auf Ihrem Switch konfigurieren.

infra
quelle
2
Nein, es ist nicht unmöglich, mehrere VLANs mit demselben Subnetz zu haben. Es ist ungewöhnlich und etwas entmutigend, aber es ist durchaus möglich.
JFL
@JFL Ja, es ist möglich, entweder VRFs oder eine andere Form von Trennzeichen zu verwenden, aber ich habe noch keinen Anwendungsfall dafür. Bitte erleuchte mich.
@ JFL gleiche Ausgabe auch für mich. Ich habe gerade versucht, in Cisco Packet Tracer, mit Interplan-Routing. Ich weiß nicht, ob ein Problem mit dem Cisco Packet Tracer vorliegt. Es ist keine Arbeit. Ich stimme Cown zu. es ist in VRF möglich.
Infra
1
@Cown Ich habe nicht gesagt, dass es eine gute Idee ist, und es ist auch nicht möglich, sie dazu zu bringen, miteinander zu kommunizieren (aber mit NAT ist es immer noch möglich). Aber ich habe einige Anwendungsfälle. Zum Beispiel habe ich eine Verbindung mit Providern, die über einige überlappende RFC1918-Netzwerke laufen. Diese sind in verschiedenen VLANs mit denselben Switches verbunden und kommunizieren nicht miteinander.
JFL
@ JFL Sorry, Mann, ich verstehe nur nicht, wie das mit der Ausgangsfrage verglichen wird. Ja, es ist möglich, überlappende IP-Adressen für Interlinks oder NAT zu verwenden, aber ich glaube nicht, dass dies ein reales Szenario widerspiegelt.
1

Überlegen Sie, was passiert, wenn Sie zu Hause ein LAN und einen Computer mit der IP-Adresse 192.168.2.1 haben. Ihr Freund hat auch ein LAN bei sich zu Hause und einen Computer mit der IP-Adresse 192.168.2.2. Sie befinden sich im selben Subnetz. Warum können sie nicht miteinander sprechen?

In einem solchen Beispiel ist die Ursache anders, als Sie fragen.

Ein VLAN erzielt jedoch dasselbe Ergebnis: Es segmentiert ein Netzwerk auf der zweiten Ebene.

Mein Punkt ist, dass wir leicht erkennen können, dass die Tatsache "IP-Adressen befinden sich im selben Subnetz" nicht ausreicht, um zu bestimmen, ob Pakete zwischen ihnen weitergeleitet werden dürfen. Die zugrunde liegende Topologie spielt ebenfalls eine Rolle.

Wenn Sie dies auf die Spitze treiben, benötigen Sie auf der untersten Ebene physisches Material (naja, okay oder Luft: D), um die Daten tatsächlich zu transportieren. Ihre Computer befinden sich möglicherweise im selben Haus im selben Subnetz, sind jedoch nicht physisch verbunden (oder verfügen über eine drahtlose Verbindung), und Sie würden nicht erwarten, dass Pakete weitergeleitet werden.

Leichtigkeit Rennen mit Monica
quelle
0

Der Sinn der VLANs ist die Netzwerksegmentierung. Sie können dasselbe auch mithilfe von Subnetzen erreichen (abgesehen von einigen Einschränkungen). Da Ihr Subnetz in 2 verschiedene VLANs aufgeteilt ist, können Ihre Geräte nicht im L2-Netzwerk kommunizieren. Sie können die IRB-Schnittstelle auf dem Switch einrichten, um die Kommunikation zwischen den VLANs zu ermöglichen. Alternativ können Sie den Datenverkehr über eine Firewall leiten und eine selektive Kommunikation zwischen den VLANs ermöglichen. Idealerweise sollten Sie Ihr Netzwerk so gestalten, dass für jedes der VLANs unterschiedliche Subnetze vorhanden sind, und dann den Datenverkehr zwischen VLANs per Firewall überwachen. Hoffe das hilft.

Ricky
quelle
1
Nonononono verwendet in dieser Situation kein IRB. Das Problem ist, dass der Switch niemals mit zwei vlans über dasselbe Subnetz konfiguriert werden sollte. Die beste Antwort ist, alle Hosts in einem Subnetz im selben VLAN zu platzieren.
Mike Pennington
0

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.

telcoM
quelle