Virtual Local Area Network
# Virtual Local Area Network

Ein Virtual Local Area Network (VLAN) ist ein logisches Teilnetz (Netzsegment) innerhalb eines Switches bzw. eines gesamten physischen Netzes. Es kann sich über mehrere Switches hinweg ausdehnen. Ein VLAN trennt physische Netze in Teilnetze auf, indem es dafür sorgt, dass VLAN-fähige Switches Frames (Datenpakete) nicht in ein anderes VLAN weiterleiten (obwohl die Teilnetze an gemeinsamen Switches angeschlossen sein können).

## Gründe und Vorteile sowie Nachteile

Lokale Netze werden heute üblicherweise mit Hilfe von aktiven Komponenten aufgebaut, die auf OSI-Ebene 2 arbeiten. In der Regel sind diese Komponenten Switches. Durch die heute gängigen Switch-Implementierungen, welche die Anschlüsse üblicherweise im Vollduplex-Modus betreiben und kollisionsfrei arbeiten, können auch sehr große, aber dennoch performante LANs mit einigen hundert oder tausend Stationen aufgebaut werden.
Eine Unterteilung solcher Netze kann grundsätzlich aus mehreren Gründen wünschenswert sein:

### Flexibilität

    bei der Zuordnung von Endgeräten zu Netzsegmenten, unabhängig vom Standort der Basisstation.

### Performance-Aspekte

    So kann zum Beispiel ein bestimmter Datenverkehr wie IP-Telefonie in einem VLAN erfolgen, das bei der Übertragung priorisiert wird. Häufig möchte man jedoch einfach nur Broadcast-Domänen verkleinern, damit sich Broadcasts nicht über das gesamte Netz ausbreiten.

### Sicherheitsaspekte

    VLANs können Netze gegen Ausspionieren und Abhören besser absichern als Switch-basierte Netze, beispielsweise mittels Zugriffskontrolllisten. Switch-basierten Netzen wurde früher ein Sicherheitsvorteil zugesprochen; dieser ist heute de facto nicht mehr gegeben, da für sie eine Vielzahl von Angriffsmöglichkeiten existieren wie zum Beispiel MAC-Flooding oder MAC-Spoofing. VLANs hingegen sind robuster, da zur Verbindung der VLANs Router zum Einsatz kommen, die gegen Layer-2-Attacken systembedingt unempfindlich sind. Zusätzlich bietet Routing die Möglichkeit, Firewalls auf Layer-3-Basis einzusetzen, wodurch sich eine größere Auswahl an Firewallsystemen erschließt (denn Layer-2-basierte Firewalls sind vergleichsweise selten). Vorsicht ist aber besonders bei dynamischen VLANs bzw. bei Systemen geboten, die im automatischen Lernmodus (siehe Switch-Typen) arbeiten. Diese lassen sich analog zu Switches ebenfalls kompromittieren und können so den vorgesehenen Sicherheitsgewinn von VLAN-Implementierungen unwirksam machen.
Die beiden letztgenannten Aspekte könnten auch durch eine entsprechende Verkabelung und den Einsatz mehrerer Switches und Router erreicht werden. Durch den Einsatz von VLANs lässt sich dies jedoch unabhängig von der meist vorhandenen und nur mit großem Aufwand erweiterbaren physischen Verkabelung verwirklichen, was neben einer erhöhten Flexibilität auch wirtschaftlich sinnvoll sein kann: VLAN-fähige Geräte sind zwar durchaus teurer, ersetzen unter Umständen aber mehrere Einzelgeräte.

## Zuordnung von Datenverkehr zu VLANs

Die Zuordnung der Teilnetze zu einem VLAN kann statisch über Portzuordnung an den Switches erfolgen, über spezielle Markierungen an den Paketen (Tags) realisiert sein oder dynamisch erfolgen (zum Beispiel durch MAC-Adressen, IP-Adressen bis hin zu TCP- und UDP-Ports und höheren Protokollen). Ebenfalls ist eine Zuordnung eines Ports zu einem VLAN nach Authentifizierung des Anwenders z. B. mittels 802.1X möglich.
Jedes VLAN bildet (wie ein normales, physisch separiertes Netzsegment) eine eigene Broadcast-Domäne. Um den Verkehr zwischen den VLANs transparent zu vermitteln, benötigt man einen Router. Moderne Switches stellen diese Funktion intern zur Verfügung; man spricht dann von einem Layer-3-Switch.
Die Überlegenheit von VLANs im Vergleich zur physischen Zuordnung zu verschiedenen Subnetzen basiert darauf, dass der Wechsel eines Clients von einem VLAN in ein anderes am Kopplungselement (Multilayerswitch, Router) geschehen kann, ohne dass eine physische Verbindung geändert werden muss.

## Verbindung von VLAN-Switches

Wenn sich ein VLAN über mehrere Switches erstreckt, ist zu deren Verbindung entweder für jedes VLAN ein eigener Link (Kabel) erforderlich, oder es kommen sogenannte VLAN-Trunks (VLT) zum Einsatz. Das Verfahren entspricht einem asynchronen Multiplexing. Deshalb dient ein VLT dazu, Daten der unterschiedlichen VLANs über eine einzige Verbindung weiterzuleiten. Hierzu können sowohl einzelne Ports als auch gebündelte Ports (siehe Link Aggregation) zum Einsatz kommen.

## VLAN-Typen

Ältere VLAN-fähige Switches beherrschen nur portbasierte VLANs, die statisch konfiguriert werden mussten. Erst später entwickelten sich dynamische VLANs und proprietäre tagged VLANs. Schließlich entstanden aus den proprietären tagged VLANs die heute dominierenden standardisierten tagged VLANs nach IEEE 802.1Q.

### Portbasierte VLANs

Portbasierte VLANs sind die Urform der VLANs. Hier wird mit managebaren Switches ein physisches Netz portweise in mehrere logische Netze segmentiert, indem ein Port einem VLAN fix zugeordnet wird. Im Frame vorhandene Tags werden vom Switch entfernt. Man spricht hier daher von einem untagged Port. Portbasierte VLANs lassen sich auch über mehrere Switches hinweg ausdehnen. Dazu wird heutzutage ein Trunk-Port (ein als tagged konfigurierter Port) verwendet. Um die so segmentierten Netze bei Bedarf zu verbinden, kommt z. B. ein Router zum Einsatz. Ferner gehören sie zu den statischen VLAN-Konfigurationen und bilden sozusagen einen Gegenpol zu den dynamischen VLANs. Ein Port kann sowohl als tagged als auch als untagged konfiguriert sein. Das ist z. B. dann der Fall, wenn über einen Port mehrere Geräte (z. B. IP-Telefon und Desktop-PC) verbunden werden.

### Tagged VLANs

Die paketbasierten tagged VLANs stehen im Gegensatz zu den älteren markierungslosen, portbasierten VLANs. Der Ausdruck tagged leitet sich vom englischen Ausdruck material tags ab (Anhänger, mit denen Waren markiert werden). Es handelt sich also bei tagged VLANs um Netze, die Netzpakete verwenden, welche eine zusätzliche VLAN-Markierung tragen.
Ein Tagging in VLANs kommt auch dann zum Einsatz, wenn sich VLANs z. B. über mehrere Switches hinweg erstrecken, etwa über Trunkports. Hier tragen die Frames eine Markierung, welche die Zugehörigkeit zum jeweiligen VLAN anzeigt.
Durch die Tags werden VLAN-spezifische Informationen zum Frame hinzugefügt. Zu dieser Gattung gehören die VLANs nach IEEE 802.1Q, Shortest Path Bridging, Ciscos Inter-Switch Link Protocol (ISL) oder auch 3Coms VLT (Virtual LAN Trunk) Tagging. Damit die VLAN-Technik nach 802.1Q auch für ältere Rechner und Systeme in einem Netz transparent bleibt, müssen Switches diese Tags bei Bedarf hinzufügen und auch wieder entfernen können.
Bei portbasierten VLANs (d. h. bei Paketen, die kein Tag besitzen) wird zum Weiterleiten eines Datenpakets über einen Trunk hinweg üblicherweise vor dem Einspeisen in den Trunk ein VLAN-Tag hinzugefügt, welches kennzeichnet, zu welchem VLAN das Paket gehört. Der Switch auf Empfängerseite muss dieses wieder entfernen. Bei tagged VLANs nach IEEE 802.1Q hingegen werden die Pakete entweder vom Endgerät (z. B. Tagging-fähigem Server) oder vom Switch am Einspeiseport mit dem Tag versehen. Daher kann ein Switch ein Paket ohne jegliche Änderung in einen Trunk einspeisen. Empfängt ein Switch auf einem VLT-Port (Trunkport) einen Frame mit VLAN-Tag nach IEEE 802.1Q, kann auch dieser es unverändert weiterleiten. Lediglich der Switch am Empfangsport muss unterscheiden, ob er ein Tagging-fähiges Endgerät beliefert (dann kann der Frame unverändert bleiben) oder ob es sich um ein nicht Tagging-fähiges Endgerät handelt, welches zu dem aktuellen VLAN gehört (dann ist das Tag zu entfernen). Hierzu muss die zugehörige VLAN-ID im Switch hinterlegt sein. Da nach IEEE 802.1Q alle Pakete mit VLAN-Tags markiert sind, müssen einem Trunk entweder alle VLAN-IDs, die er weiterleiten soll, hinterlegt werden, oder er ist zur Weiterleitung aller VLANs konfiguriert. Werden Pakete ohne Tag auf einem Trunk-Port empfangen, können diese je nach Konfiguration entweder einem Default-VLAN zugeordnet werden (der Switch bringt das Tag nachträglich an), oder sie werden verworfen.
Empfängt ein Switch auf einem seiner Ports z. B. von einem älteren Endgerät Pakete ohne VLAN-Tags (auch native Frames genannt), so muss er selbst für das Anbringen des Tags sorgen. Hierzu wird dem betreffenden Port entweder per Default oder per Management eine VLAN-ID zugeordnet. Der Switch, der das Paket ausliefert, muss analog verfahren, wenn das Zielsystem nicht mit Tags umgehen kann (das Tag muss entfernt werden).
Das automatische Lernen der zu den VLTs (Trunkports) gehörenden Einstellungen ist heute Standard bei den meisten VLAN-fähigen Switches. Dabei muss ein Switch mit einem Mischbetrieb sowohl von Paketen, die keine Tags kennen und enthalten, als auch von Paketen, die bereits Tags besitzen, umgehen können. Das Erlernen der VLTs erfolgt analog zum Erlernen der MAC-Adressen: Empfängt der Switch ein Paket mit VLAN-ID, so ordnet er den Port zunächst diesem VLAN zu. Empfängt er an einem Port innerhalb kurzer Zeit Pakete mit unterschiedlichen VLAN-IDs, so wird dieser Port als VLT identifiziert und als Trunk genutzt. Einfache Switches (ohne Verwaltungsmöglichkeit) bilden üblicherweise ein zusätzliches natives VLAN für alle Pakete, die keine Tags enthalten. Solche Pakete werden meist belassen wie sie sind. Ein Trunkport wird hier wie ein normaler (Uplink-)Port behandelt. Alternativ kann auch ein Default-Tag angefügt werden.
Der Begriff Trunk wird im Unterschied zu VLT häufig auch mit einer ganz anderen Bedeutung verwendet, siehe auch Bündelung (Datenübertragung).
Generell sollte man Sicherheit aber nicht mehr zu den Tagged-VLAN-Features zählen. Switches lassen sich auf zahlreichen Wegen kompromittieren, müssen folglich immer als unsicher eingestuft werden. Man kann aber auch direkt bei der Verkabelung ansetzen. Es gibt beispielsweise Messklemmen als Zubehör zu Profi-Netzanalysegeräten, die äußerlich direkt an ein Kabel angeschlossen werden und das geringe elektromagnetische Feld messen. So kann völlig unbemerkt der gesamte über dieses Kabel laufende Datenverkehr mitgelesen und aufgezeichnet werden. Dagegen hilft nur eine starke Verschlüsselung (z. B. mit IPsec), die manche LAN-Karten direkt in Hardware implementieren.

## Zuordnung einer VLAN-ID
### Statische VLANs

Hier wird einem Port eines Switches fest eine VLAN-Konfiguration zugeordnet. Er gehört dann zu einem Port-basierten VLAN, zu einem untagged VLAN oder er ist ein Port, der zu mehreren VLANs gehört. Die Konfiguration eines Ports ist bei statischen VLANs fest durch den Administrator vorgegeben. Sie hängt nicht vom Inhalt der Pakete ab und steht im Gegensatz zu den dynamischen VLANs unveränderlich fest. Damit ist eine Kommunikation des Endgerätes an einem Port nur noch mit den zugeordneten VLANs möglich. Gehört ein Port zu mehreren VLANs, ist er ein VLAN-Trunk und dient dann meist zur Ausdehnung der VLANs über mehrere Switches hinweg.
Durch die Möglichkeit, einen Port mehreren VLANs zuzuordnen, können zum Beispiel auch Router und Server über einen einzelnen Anschluss an mehrere VLANs angebunden werden, ohne dass für jedes Teilnetz eine physische Netzschnittstelle vorhanden sein muss. Somit kann ein einzelnes Gerät – auch ohne Router – seine Dienste in mehreren VLANs anbieten, ohne dass die Stationen der verschiedenen VLANs miteinander kommunizieren können. Diese VLAN-Trunks dürfen nicht mit den Trunks im Sinne von Link Aggregation verwechselt werden, bei denen mehrere physische Übertragungswege zur Durchsatzsteigerung gebündelt werden.

### Dynamische VLANs

Bei der dynamischen Implementierung eines VLANs wird die Zugehörigkeit eines Frames zu einem VLAN anhand bestimmter Inhalte des Frames getroffen. Da sich alle Inhalte von Frames praktisch beliebig manipulieren lassen, sollte in sicherheitsrelevanten Einsatzbereichen auf den Einsatz von dynamischen VLANs verzichtet werden. Dynamische VLANs stehen im Gegensatz zu den statischen VLANs. Die Zugehörigkeit kann beispielsweise auf der Basis der MAC- oder IP-Adressen geschehen, auf Basis der Protokoll-Typen (z. B. 0x809B Apple EtherTalk, 0x8137: Novell IPX, 0x0800: IPv4 oder 0x88AD: XiMeta LPX) oder auch auf Anwendungsebene nach den TCP-/UDP-Portnummern (Portnummer 53: DNS, 80: HTTP, 3128: Squid Proxy). In der Wirkung entspricht dies einer automatisierten Zuordnung eines Switchports zu einem VLAN.
Die Zugehörigkeit kann sich auch aus dem Paket-Typ ableiten und so zum Beispiel ein IPX/SPX-Netz von einem TCP/IP-Netz trennen. Diese Technik ist heutzutage nicht mehr weit verbreitet, da TCP/IP in vielen Netzen alle anderen Protokolle abgelöst hat.
Durch Dynamische VLANs kann zum Beispiel auch erreicht werden, dass ein mobiles Endgerät immer einem bestimmten VLAN angehört – unabhängig von der Netzdose, an die es angeschlossen wird. Eine andere Möglichkeit besteht darin, einen bestimmten Teil des Datenverkehrs wie zum Beispiel IP-Telefonie aus Performance- oder Sicherheitsgründen (veraltet) in ein spezielles VLAN zu leiten.