📚Grundlagen

Ein VLAN (Virtual LAN) teilt einen physischen Switch in mehrere logische Switche. Geräte in verschiedenen VLANs sehen sich auf Layer 2 nicht – wer trotzdem miteinander reden soll, muss über einen Router, und dort sitzt die Firewall.

📣1 · Broadcast-Domänen

Ein Switch leitet Broadcasts (ARP, DHCP-Discover, …) an alle Ports weiter. Ohne VLANs landet jede ARP-Anfrage der Kamera auch beim Laptop, und jedes Gerät kann jedes andere direkt ansprechen. Mit VLANs flutet der Switch nur die Ports desselben VLANs – jedes VLAN ist eine eigene Broadcast-Domäne und bekommt sein eigenes IP-Subnetz.

Klicke ein Gerät an, um eine ARP-Anfrage „Wer hat 192.168.x.y?“ als Broadcast (ff:ff:ff:ff:ff:ff) zu senden.
🔀 Switch💻LaptopVLAN 10🗄️NASVLAN 10🖨️DruckerVLAN 20📺ChromecastVLAN 20🧳Gast-PCVLAN 30📹KameraVLAN 40

Noch kein Broadcast gesendet.

🏷️2 · IEEE 802.1Q: das Tag im Ethernet-Frame

Damit mehrere VLANs über ein Kabel laufen können (Trunk), fügt der Switch nach der Quell-MAC 4 Byte ein. Die ersten 2 Byte (TPID 0x8100) stehen dort, wo sonst der EtherType steht – ein Empfänger erkennt daran sofort „hier folgt ein VLAN-Tag“. Die nächsten 2 Byte (TCI) enthalten Priorität, DEI und die 12-Bit-VLAN-ID. Der echte EtherType (z. B. 0x0800 für IPv4) rutscht dahinter.

Ohne Tag:  | Ziel-MAC 6 | Quell-MAC 6 | EtherType 2 | Nutzdaten 46–1500 | FCS 4 |
Mit Tag:   | Ziel-MAC 6 | Quell-MAC 6 | TPID 2 | TCI 2 | EtherType 2 | Nutzdaten 42–1500 | FCS 4 |
                                      └─ 81 00 ─┘└ PCP(3) DEI(1) VID(12) ┘
Bit 15TCI = 0x0014Bit 0
0000000000010100
PCP = 0DEIVID = 20 (12 Bit)
81
TPID · Byte 13
00
TPID · Byte 14
00
TCI · Byte 15
14
TCI · Byte 16

TPID 0x8100 ✓ · PCP 5 (VO) · DEI 0 · VID 30

Ohne Tag (wie ihn ein Endgerät sendet) – 64 Byte

Ziel-MAC · 6 BQuell-MAC · 6 BEtherType · 2 BNutzdaten · 46 BFCS (CRC-32) · 4 BΣ 64 Byte
0200000000010200000A0017080000070E151C232A31383F464D545B626970777E858C939AA1A8AFB6BDC4CBD2D9E0E7EEF5FC030A11181F262D343B2EA00996

Mit Tag 81 00 00 1468 Byte, neue FCS

Ziel-MAC · 6 BQuell-MAC · 6 BTPID 0x8100 · 2 BTCI (PCP/DEI/VID) · 2 BEtherType · 2 BNutzdaten · 46 BFCS (CRC-32) · 4 BΣ 68 Byte
0200000000010200000A001781000014080000070E151C232A31383F464D545B626970777E858C939AA1A8AFB6BDC4CBD2D9E0E7EEF5FC030A11181F262D343BD617331E

Nutzlast hier 46 Byte (Mindestgröße ohne Tag). Mit Tag würden 42 Byte genügen – der getaggte Frame bleibt trotzdem ≥ 64 Byte. Die FCS (CRC-32) wird über alle Bytes ab Ziel-MAC berechnet und ändert sich deshalb bei jedem Tag.

📏3 · Frame-Größen: 4 Byte mehr

Ohne Tag: 64 Byte
MACs 12
Type 2
Daten 40
Pad 6
FCS 4
Mit 802.1Q-Tag: 64 Byte
MACs 12
Daten 40
ohne Tagmit Tag
Kopf + FCS18 Byte22 Byte
Minimale Nutzlast46 Byte42 Byte
Minimale Frame-Größe64 Byte64 Byte
Maximale Frame-Größe (MTU 1500)1518 Byte1522 Byte

Größen ohne Präambel/SFD (8 Byte) und Interframe Gap. Die IP-MTU bleibt 1500 Byte – das Tag geht nicht von der Nutzlast ab.

Warum das wichtig ist
Ältere Geräte, die nur 1518 Byte annehmen, verwerfen volle getaggte Frames (1522 Byte) als „Giants“. IEEE 802.3ac hat deshalb 1998 die maximale Frame-Größe auf 1522 Byte angehoben. Beim Einfügen eines Tags in einen 64-Byte-Frame entstehen 68 Byte; beim Entfernen muss ein Switch einen zu kurzen Frame wieder auf 64 Byte auffüllen.

🔌4 · Access-Port, Trunk-Port, Native VLAN, PVID

Access-Port

Gehört genau einem VLAN. Endgeräte senden und empfangen ungetaggt. UniFi: Tagged VLAN Management „Block All“.

Trunk-Port

Transportiert mehrere VLANs getaggt, z. B. zwischen Switch, Gateway und Access Point. UniFi: „Allow All“ oder „Custom“.

Native VLAN / PVID

Das VLAN für ungetaggte Frames auf einem Port. Die PVID (Port VLAN ID) ist die Nummer, die der Switch eingehenden ungetaggten Frames intern zuweist.

Tagged VLAN

Jedes weitere VLAN, das auf dem Port mit 802.1Q-Tag erlaubt ist. Ein VLAN ist pro Port entweder Native oder Tagged – nie beides.

⚙️ Port-Einstellung (wie im Port Manager)
Tagged VLAN Management
Trunk-Port
⬇️ Eingang (Ingress): Frame kommt am Port an
  • ungetaggtVLAN 1
    Ungetaggter Frame → landet im Native VLAN 1 (PVID).
  • Tag VID 0VLAN 1
    Priority-Tag (VID 0) → landet im Native VLAN 1 (PVID).
  • Tag VID 1VLAN 1
    Getaggt mit VID 1 = Native VLAN – wird angenommen (herstellerabhängig; sauberer ist ungetaggt).
  • Tag VID 10VLAN 10
    VID 10 ist auf dem Port als Tagged VLAN erlaubt → VLAN 10.
  • Tag VID 20VLAN 20
    VID 20 ist auf dem Port als Tagged VLAN erlaubt → VLAN 20.
  • Tag VID 30verworfen
    VID 30 ist auf diesem Port nicht erlaubt → verworfen.
  • Tag VID 40verworfen
    VID 40 ist auf diesem Port nicht erlaubt → verworfen.
⬆️ Ausgang (Egress): Frame aus VLAN … verlässt den Port
  • VLAN 1ungetaggt
    VLAN 1 ist Native VLAN → ohne Tag senden (Tag entfernen).
  • VLAN 10getaggt (81 00 00 0A)
    VLAN 10 ist Tagged VLAN → mit 802.1Q-Tag (VID 10) senden.
  • VLAN 20getaggt (81 00 00 14)
    VLAN 20 ist Tagged VLAN → mit 802.1Q-Tag (VID 20) senden.
  • VLAN 30nicht ausgegeben
    VLAN 30 ist auf diesem Port weder Native noch Tagged → nicht ausgeben.
  • VLAN 40nicht ausgegeben
    VLAN 40 ist auf diesem Port weder Native noch Tagged → nicht ausgeben.

🔁5 · Inter-VLAN-Routing

Zwischen VLANs muss geroutet werden (Layer 3). Das Endgerät erkennt an seiner Subnetzmaske, dass das Ziel „fremd“ ist, und schickt den Frame an die MAC-Adresse seines Default-Gateways. Zwei übliche Bauformen:

Router-on-a-Stick (typisch bei UniFi)

          ┌─────────────────────────────┐
          │ UniFi Gateway               │
          │  VLAN 10 → 192.168.10.1     │
          │  VLAN 20 → 192.168.20.1     │  Firewall prüft
          │  VLAN 30 → 192.168.30.1 …   │  jedes geroutete Paket
          └──────────────┬──────────────┘
                         │ ein Kabel = Trunk
                         │ (VLAN 1 untagged, 10/20/30/40 tagged)
          ┌──────────────┴──────────────┐
          │ Switch                      │
          └──┬────────────┬─────────────┘
     Port 3  │ VLAN 10    │ VLAN 20  Port 5
          💻 Laptop     🖨️ Drucker

Jedes Paket zwischen zwei VLANs läuft zweimal über den Uplink – hin mit Tag 10, zurück mit Tag 20. Dafür sieht die Gateway-Firewall wirklich alles.

Layer-3-Switch

          ┌─────────────────────────────┐
          │ Gateway (Internet, NAT)     │
          └──────────────┬──────────────┘
                         │ Transfernetz
          ┌──────────────┴──────────────┐
          │ L3-Switch                   │
          │  SVI VLAN 10 192.168.10.1   │  routet selbst
          │  SVI VLAN 20 192.168.20.1   │  (Hardware, Leitungsrate)
          └──┬────────────┬─────────────┘
          💻 VLAN 10    🖨️ VLAN 20

Schneller, aber das Gateway sieht den Verkehr zwischen diesen VLANs nicht mehr. Filtern geht dann nur über Switch-ACLs. In UniFi wählt man das pro Netzwerk über das Feld Router.

📮6 · DHCP je VLAN

DHCP-Discover ist ein Broadcast – er bleibt in seinem VLAN. Deshalb braucht jedes VLAN einen eigenen DHCP-Bereich. Das UniFi Gateway hat in jedem VLAN eine eigene Schnittstelle und beantwortet die Anfrage aus dem passenden Pool.

Die Regel „die IP verrät das VLAN“ ist das wichtigste Diagnose-Werkzeug: Bekommt der Drucker 192.168.10.x statt 192.168.20.x, hängt er im falschen VLAN – meist stimmt das Native VLAN seines Switch-Ports nicht.

Drucker ──DHCPDISCOVER (Broadcast, ungetaggt)──▶ Port 5 (Native 20)
Switch  ──Tag VID 20──▶ Gateway: Schnittstelle VLAN 20
Gateway ──DHCPOFFER 192.168.20.1xx, Router 192.168.20.1──▶ zurück
VLAN 20 · IoT Subnetz 192.168.20.0/24
Gateway / DNS
192.168.20.1
Netzmaske
255.255.255.0
Broadcast
192.168.20.255
Nutzbare Hosts
192.168.20.1192.168.20.254 (254)
DHCP-Pool
192.168.20.100192.168.20.199IP liegt im Pool (dynamisch)

📶7 · SSID → VLAN und Gast-Isolation

Ein Access Point ist aus VLAN-Sicht ein kleiner Switch: Jede SSID ist einem VLAN zugeordnet. Clients im WLAN „Zuhause“ landen in VLAN 10, im WLAN „Gäste“ in VLAN 30. Der AP taggt die Frames selbst und schickt sie über seinen Uplink – der Switch-Port zum AP muss also ein Trunk sein, der alle SSID-VLANs erlaubt.

Gast-Isolation wirkt auf zwei Ebenen: Die Firewall verhindert, dass Gäste in andere VLANs kommen (in UniFi: Zone Hotspot bzw. Network Isolation), und die Client Device Isolation im WLAN verhindert, dass Gäste-Geräte sich untereinander erreichen – das kann die Gateway-Firewall nicht, weil dieser Verkehr gar nicht geroutet wird.

   📱 Gast        💻 Laptop        💡 Steckdose
   SSID "Gäste"   SSID "Zuhause"   SSID "IoT"
        │              │               │
   ┌────┴──────────────┴───────────────┴────┐
   │ Access Point: taggt 30 / 10 / 20        │
   └───────────────────┬────────────────────┘
                       │ Uplink = Trunk (Native 1, Tagged 10,20,30)
                   Switch-Port
                       │
                   Gateway: DHCP + Firewall je VLAN