VLAN trunking


Inom nätverksteknik är en VLAN-trunk en särskild typ av länk mellan nätverksenheter, oftast mellan två switchar. En trunk kan transportera trafik från flera VLAN över en enda fysisk anslutning. Detta gör att VLAN-trafik kan överföras effektivt mellan switchar utan att separata kablar behövs för varje VLAN.

När två switchar är anslutna via en trunk kan de skicka och ta emot ramar från flera VLAN över samma länk. På så sätt kan enheter i samma VLAN kommunicera med varandra även om de är anslutna till olika switchar. Trunkar används därför ofta i större nätverk där flera VLAN behöver transporteras mellan switchar.

I figuren är länkarna mellan S1–S2 och S1–S3 konfigurerade som trunkar som tillåter trafik från VLAN 10, 20, 30 och 99. Exempelvis tillhör:

  • PC1 och PC4 VLAN 10
  • PC2 och PC5 VLAN 20
  • PC3 och PC6 VLAN 30

Switch S1 tar emot ramar från PC1, PC2 och PC3 och skickar dem vidare via port F0/1, som är konfigurerad som en trunkport. Trunkportar finns även på F0/3, vilket gör att trafik från flera VLAN kan transporteras mellan switcharna.

802.1Q protokoll

En trunk kan använda antingen IEEE 802.1Q eller Cisco Inter-Switch Link (ISL).

802.1Q (dot1q) är en öppen standard som stöds av de flesta nätverksleverantörer och är idag det mest använda trunkprotokollet. 802.1Q fungerar genom att lägga till en 32-bitars VLAN-tagg i Ethernet-ramen.

De viktigaste fälten i taggen är:

  • TPID (Tag Protocol Identifier) – 16 bitar identifierar ramar som använder 802.1Q (värde 0x8100)
  • Priority – 3 bitar anger prioritet (0–7) för QoS-hantering.
  • CFI – 1 bit används tillsammans med prioritet för kompatibilitet mellan olika nätverkstyper.
  • VLAN ID – 12 bitar identifierar vilket VLAN ramen tillhör.

Nativ VLAN och 802.1Q-taggar

Enligt IEEE 802.1Q-standarden tilldelas varje trunklänk ett standard nativt VLAN, som vanligtvis är VLAN 1. När en omärkt (untagged) ram anländer till en trunklänk mellan två switchar behandlas den som en del av det nativa VLAN:et. Detta gör att ramar från det nativa VLAN:et kan överföras utan att märkas med en 802.1Q-tag, vilket kan vara användbart för kompatibilitet med äldre nätverksenheter som inte stöder VLAN-taggar.

Taggade ramar på det nativa VLAN-et

Vissa enheter kan skicka taggade ramar även på det nativa VLAN:et. Om en trunkport tar emot en taggad ram med VLAN-ID som motsvarar det nativa VLAN:et, tar switchen normalt bort taggen och behandlar ramen som otaggad trafik.

Detta kan orsaka problem eftersom andra enheter kan förvänta sig att trafiken är taggad. För att undvika fel bör enheter inte skicka taggad trafik på det nativa VLAN:et.

Otaggade ramar på det nativa VLAN-et

När en Cisco-switch tar emot otaggade ramar på en trunkport placeras de i det nativa VLAN:et.

Om inget annat VLAN är konfigurerat används VLAN 1 som standard. I ett väl designat nätverk bör mängden otaggad trafik dock vara begränsad.

I exemplet är PC1 ansluten via en hubb till en trunklänk. Trafiken från PC1 är otaggad och kommer därför att associeras med det nativa VLAN:et på respektive switch.

Felaktig hantering av otaggad trafik kan orsaka säkerhetsproblem och VLAN-konflikter, vilket gör korrekt konfiguration av det nativa VLAN:et viktigt.

Voice VLAN Tagging

Ett separat VLAN för rösttrafik används ofta i nätverk som stöder VoIP. Detta gör det möjligt att tillämpa QoS- och säkerhetspolicyer som prioriterar rösttrafik.

En Cisco IP-telefon ansluts vanligtvis direkt till en switchport och kan samtidigt ge nätverksanslutning till en dator.

Switchporten konfigureras då för två VLAN:

  • ett data-VLAN för datortrafik
  • ett voice-VLAN för rösttrafik

Länken mellan switchen och IP-telefonen fungerar därför som en trunk, eftersom både röst- och datatrafik transporteras samtidigt.

Cisco-telefonen innehåller en intern switch med tre portar:

  • Port 1 – anslutning till switchen
  • Port 2 – internt interface för rösttrafik
  • Port 3 – anslutning till datorn

Switchporten använder CDP (Cisco Discovery Protocol) för att informera telefonen om vilket VLAN som ska användas för rösttrafik.

Trafiken hanteras på följande sätt:

  • Voice-VLAN-trafik – VLAN-taggad och prioriterad med CoS.
  • Data-VLAN-trafik – kan taggas eller skickas utan prioritet.
  • Otaggad trafik – skickas utan VLAN-tagg.

I exemplet är PC5 ansluten till en IP-telefon, som i sin tur är ansluten till switch S3.

  • VLAN 150 används för rösttrafik.
  • VLAN 20 används för datatrafik.

Hur ottagad trafik fungerar

  1. PC5 skickar trafik – Datorn är normalt inte VLAN-medveten, därför skickar den Ethernetramar utan VLAN-tagg (untagged).
  2. IP-telefonen tar emot ramen – IP-telefonen känner igen att trafiken kommer från datorporten på telefonen. Den lägger inte till någon VLAN-tagg och trafiken skickas vidare untagged till switchen.
  3. Switchen tar emot ramen – Switchporten är konfigurerad med ett access-VLAN (VLAN 20).
    1. Switchen associerar ramen med access-VLAN (VLAN 20).
    2. Behandlar trafiken som tillhör VLAN 10.

När trafiken går från switchen til IP-telefonen och vidare till dator (PC5) fungerar det lite annorlunda än när datorn skickar trafik. Det beror på att IP-telefonen kan hantera VLAN-taggar.

  1. Switchen skickar trafik – När switchen skickar trafik till IP-telefonen beror taggningen på vilket VLAN trafiken tillhör.
    • Om trafiken tillhör VLAN 20 skickar switchen otaggade ramar
    • Om trafiken tillhör VLAN 150 skickar switchen taggade ramar enligt 802.1Q
  2. IP-telefonen tar emot ramen – IP-telefonen fungerar som en liten switch med tre portar. Den kontrollerar VLAN-taggen och avgör vart trafiken ska skickas.
    • Taggad trafik (VLAN 150) → används av telefonen själv (röst).
    • Otaggad trafik (VLAN 10) → skickas vidare till datorporten.
  3. Trafiken når PC5 – PC5 är inte VLAN-medveten och kan därför bara ta emot otaggade Ethernetramar. Telefonen skickar därför vidare datatrafiken utan VLAN-tagg till PC5.