# Virtual LAN

Een virtual LAN of virtual local area network (VLAN) is een type virtueel netwerk. Een VLAN wordt gerealiseerd op de datalinklaag en bestaat uit een groep eindstations en switches die logisch gezien één enkel gemeenschappelijk local area network (LAN) vormen, maar zich in één of meer fysieke netwerken kunnen bevinden. Op deze wijze kunnen logisch gescheiden netwerken gerealiseerd worden die fysieke hardware zoals switches en bekabeling delen, wat een kostenbesparing kan betekenen. In een fysiek netwerk bestaan typisch verschillende VLAN's naast elkaar.
VLAN's bestaan in verschillende technologieën, zoals ethernet, ATM, InfiniBand etc. Dit artikel behandelt voornamelijk de wijdverspreide ethernet-VLAN's. De IEEE-standaard IEEE 802.1Q definieert VLAN's in ethernetnetwerken.

## Principes

Ethernet-VLAN's zijn logisch gescheiden netwerken op het MAC-niveau, werkend op gedeelde fysieke hardware, met gedeelde transportverbindingen. VLAN's worden dus gebruikt om logisch netwerken te definiëren los van de topologie van het fysieke netwerk. Hierdoor worden precies de juiste groepen van netwerkelementen met elkaar verbonden, gescheiden van de andere elementen. Een van de consequenties technisch gezien is dat de grootte van het broadcastdomein in de MAC-laag wordt gereduceerd: als er bijvoorbeeld een DHCP-request gebeurt in VLAN X, is die request alleen zichtbaar in VLAN X en niet in andere VLAN's die in hetzelfde fysieke netwerk bestaan.

## Toepassingen

VLAN's laten bijvoorbeeld toe dat in een bedrijf logisch gescheiden netwerken bestaan voor de administratie-afdeling, de verkoopafdeling, etc., los van de fysieke inrichting van het netwerk. Dit betekent dat alle computers en andere netwerkelementen van één afdeling rechtstreeks met elkaar kunnen communiceren, maar communicatie met toestellen van een andere afdeling rechtstreeks via het netwerk niet mogelijk is.
Zonder VLAN's kan men uiteraard voor elke afdeling een eigen fysiek netwerk realiseren, met een eigen switch. Een PC voor een gebruiker uit de verkoopafdeling moet dan fysiek verbonden worden met de overeenkomende switch. Verhuist de PC van verdieping, dan kan dit voor praktische en administratieve problemen zorgen wat betreft bedrading. Maakt men daarentegen gebruik van VLAN's dan hoeft enkel de gewenste VLAN geconfigureerd te worden op de poort van de nieuwe switch waarmee het eindstation verbonden wordt. Het eindstation kan zo steeds op het juiste virtuele netwerk worden aangesloten, onafhankelijk van de fysieke locatie. Omgekeerd, wanneer men een PC aan het netwerk van een andere afdeling wil koppelen hoeft men geen kabels te veranderen, maar hoeft men enkel een andere VLAN te configureren.
Andere toepassingen zijn bijvoorbeeld het scheiden van het verkeer voor netwerkbeheer van het normale verkeer, of het scheiden van bv. spraakverkeer via IP-telefoons van gewoon gegevensverkeer, of het groeperen van alle printers in een apart netwerk.

## Eigenschappen

* Segmentatie. Door het gebruik van VLAN's is het mogelijk verschillende logische netwerken te definiëren binnen eenzelfde fysieke netwerk. De elementen van ieder netwerk kunnen uitsluitend rechtstreeks communiceren met andere elementen uit het eigen netwerk.
* Ten gevolge van segmentatie en het feit dat binnenkomende pakketten op elke poort van een switch beperkt kunnen worden tot één enkele VLAN, is er een extra laag van beveiliging ten opzichte van een netwerk waarin alle elementen rechtstreeks met elkaar op MAC-niveau kunnen communiceren.
* VLAN's laten toe fysieke verbindingen en switches te delen voor verschillende logische netwerken. Verder kan het netwerkbeheer verschuiven van fysieke naar softwarematige configuratie. Hierdoor is de opzet meer schaalbaar en kunnen aanpassingen sneller worden uitgevoerd. VLAN's kunnen aldus leiden tot kostenreducties en een slagvaardigere operatie.
* Door het delen van onderliggende fysieke voorzieningen kan het nodig zijn om gegevensverbindingen tussen switches meervoudig uit te voeren en/of expliciete voorzieningen voor Quality of service te treffen, zoals bv. het met hoge prioriteit behandelen van telefoonverkeer. De VLAN-standaard 802.1Q kent reeds voorzieningen voor QoS, volgens de standaard 802.1P.
* Broadcasts worden beperkt tot de VLAN zelf, hierdoor is er dus minder, dikwijls nutteloos, verkeer op het totale netwerk waardoor de snelheid en beschikbaarheid positief beïnvloed worden.
* VLANs kunnen één of meer switches bevatten. Bij ethernet zijn eindstations doorgaans via hun fysieke verbinding met een welbepaalde poort van een switch verbonden met één bepaalde VLAN. Ook zal het eindstation van de switch alleen pakketten ontvangen afkomstig van die VLAN.

## VLAN-types

Er wordt een onderscheid gemaakt tussen end-to-end VLAN's en lokale VLAN's. Een end-to-end VLAN is functioneel georganiseerd en kan zich uitstrekken over een heel fysiek netwerk, terwijl een lokale VLAN geografisch beperkt is, bijvoorbeeld tot één verdieping in een gebouw. Door de tijd heen is het gebruik verschoven van end-to-end VLAN's naar lokale VLAN's.

### End-to-end VLAN's

Een opdeling naar end-to-end VLAN's is functioneel bepaald. Netwerkelementen worden gegroepeerd volgens functie, niet volgens hun fysieke locatie. Voorbeelden van groepering: alle computers van gebruikers met een functie binnen een functionele afdeling zoals "Onderzoek en Ontwikkeling", alle IP-telefoons, of alle printers.
Een end-to-end VLAN is geografisch verspreid over het volledige netwerk heen of grote delen ervan, dus over verschillende switches heen. Het strekt zich potentieel uit tot een groot geografisch gebied, bv. naar alle afdelingen van een bedrijf binnen een land.
Als een toestel van een gebruiker zich op verschillende locaties met het netwerk verbindt dan blijft dit altijd in hetzelfde VLAN.
De motivatie voor het gebruik van dit type van VLAN omvat zowel het vergemakkelijken van het netwerkbeheer, met name op het niveau van IP-adressen, alsook het bevorderen van de veiligheid door logisch gescheiden netwerken te maken.
Er zijn diverse nadelen:
* Overheadframes van het VLAN worden gepropageerd binnen het hele fysieke netwerk wat globaal leidt tot veel overheadverkeer.
* Er is een veiligheidsrisico doordat frames over het hele netwerk beschikbaar zijn in plaats van lokaal beperkt: wie bij het fysieke netwerk kan en de getagde frames kan onderscheppen, kan proberen de informatie te compromitteren van alle VLAN's, met informatie afkomstig van het gehele netwerk.
* De administratie van de VLAN's zelf kan snel complex worden. Men heeft namelijk potentieel te maken met het gehele, dikwijls zeer uitgebreide netwerk van een organisatie.

### Lokale VLAN's

Op een lokale VLAN worden eindstations gegroepeerd aan de hand van hun fysieke locatie en niet aan de hand van hun functie.
Verkeer van een lokale VLAN wordt gerouteerd naar andere netwerken in plaats van geswitcht, dus op laag 3 van het OSI-model in plaats van op laag 2. Hierdoor blijft overheadverkeer van laag 2 lokaal beperkt.
Een lokale VLAN wordt meestal beperkt tot één verbindingskast, of hooguit enkele. Andersom is het ook mogelijk dat verschillende lokale VLAN's dergelijke kasten delen. Voorbeeld: drie verdiepingen hebben hun eigen VLAN maar worden bediend door één enkele kast.
VLAN's op een bepaalde, lokale switch worden vanwege het lokale karakter niet geconfigureerd op de andere switches op het netwerk.

### Evolutie naar lokale VLAN's

In het verleden werden vooral end-to-end VLAN's ingericht aangezien netwerkontwerpers bij het ontwerpen van netwerken de 80/20 regel hanteerden voor lokaal/niet-lokaal verkeer. De 80/20 regel wil zeggen dat grosso modo 80 procent van het netwerkverkeer plaatsvindt in het eigen netwerk en slechts 20 procent naar verder gelegen netwerksegmenten. Het heeft in zo'n situatie zin om een VLAN te definiëren, waarin dan 80 procent van het verkeer plaatsvindt.
Ook het feit dat men in het verleden IP-adressen manueel moest toekennen en aanpassen gaf aanleiding tot het gebruik van end-to-end VLAN's aangezien men op die manier de IP-administratie kon vereenvoudigen. Immers, als een toestel verplaatst werd naar een andere fysieke locatie was het dan een kwestie van zorgen dat het toestel met hetzelfde VLAN verbonden bleef, waardoor het IP-adres geldig bleef. Bij verandering van VLAN zou men een verandering hebben moeten doen op het toestel zelf. Omdat men tegenwoordig IP-adressen automatisch laat toekennen via DHCP is dit echter niet meer van toepassing.
Belangrijker echter is dat ook de verhouding tussen lokaal en niet-lokaal verkeer eerder 20/80 is geworden, dit door het verder doorvoeren van client-serverarchitecturen en cloud, waarbij toepassingen niet lokaal maar op een centrale plaats of "in de cloud" zijn geïmplementeerd. Hierdoor is het netwerkverkeer vooral met elementen buiten het netwerk. Het implementeren van end-to-end VLAN's heeft daarom in waarde ingeboet: het heeft weinig waarde om toestellen binnen een over het hele fysieke netwerk verspreide VLAN te houden als slechts een klein deel van het verkeer binnen het VLAN zelf blijft. Tegelijkertijd heeft een end-to-end VLAN nadelen wegens de complexiteit van VLAN-beheer, de veiligheidsrisico's en het feit dat veel overheadverkeer door het hele fysieke netwerk propageert.
Voor het moderne gebruik is een hiërarchische topologie gepast, waarin er lokaal wordt gewerkt met VLAN's, dus met switching op laag 2, terwijl er voor meer globale communicatie gewerkt wordt op laag 3, via routers. Hierdoor blijft overheadverkeer lokaal en moet men echt tot het goed beveiligde kernnetwerk doordringen om al het verkeer te kunnen onderscheppen. Op het kernnetwerk kan men verder goed de capaciteit beheren voor het verkeer naar de centrale rekencentra en de "cloud". Daarnaast is het beheer van dergelijke lokale VLAN's relatief eenvoudig.

## Beheer van VLAN's

Men kan VLAN's op twee manieren beheren. Het eenvoudigste is handmatig beheer op basis van statische configuratie op elke switch.
Op een eenvoudige 802.1Q-VLAN-switch kan men bepalen welke poorten tot een VLAN behoren, waarbij elke poort tot meer dan één VLAN kan behoren. Poorten aan de rand van het netwerk, die verbonden zijn met eindstations zijn normaal slechts geassocieerd met één enkele VLAN. Poorten die verbonden zijn met andere netwerkapparatuur dienen meestal voor het doorgeven van frames voor meer dan één VLAN. Dergelijke poorten worden dan ook geassocieerd met al deze VLAN's. Via de poorten vindt de koppeling met een welbepaalde VLAN in de switch plaats. Bij getagde pakketten is dat bepaald door de tag, bij niet getagde pakketten wordt dat bepaald door de Port VLAN ID (PVID) van de betreffende poort. Het beheer van de PVID's is nodig naast het associëren aan de poorten één of meer VLAN's: een poort kan bijvoorbeeld deel uitmaken van VLAN 1,4, 18 en 37, maar binnenkomende pakketten zonder tag kunnen slechts worden geïnjecteerd in één enkele van deze VLAN's, bv. VLAN 1. Dit is dus een bijkomende configuratie.
Meer geavanceerde switches kennen nog meer mogelijkheden, bv. classificatie op basis van MAC-adres. Hiernaast kunnen er nog bijkomende configuraties zijn, bijvoorbeeld voor QoS of voor het beheer van de toegestane bandbreedte.
Het beheren van de statische VLAN-configuratie op elke switch, tot op het niveau van elke poort, is dikwijls doenbaar op kleine netwerken, maar daar reeds arbeidsintensief en foutgevoelig. Deze basisvorm van beheer is niet schaalbaar en daarmee niet geschikt voor grotere netwerken. In grotere organisatie werkt men daarom met dynamische VLAN's.

### Statische VLAN

Bij een statische VLAN worden VLAN's statisch toegewezen aan welbepaalde poorten door een beheerder. Dit betekent dat als er op een afdeling bijvoorbeeld een printer bij komt, deze niet alleen fysiek verbonden moet worden met een bepaalde poort, maar deze poort bijvoorbeeld ook aan het VLAN van de printers moet worden toegevoegd. Nog complexer is het als bv. er een speciale VLAN is voor het topmanagement en de PC van een manager verhuisd moet worden: op de plaats van oorsprong moet de configuratie van de VLAN op een poort worden verwijderd, op de bestemming moet het VLAN op een welbepaalde poort van een andere switch worden geconfigureerd. Dit is arbeidsintensief. Indien het foutief gebeurt, kan de veiligheid in het gedrang komen. In grotere organisaties is het statisch beheer van een VLAN daarom in de regel geen optie.

### Dynamische VLAN

Bij een dynamische VLAN is er geen vaste configuratie op elke switch. Door middel van het gebruik van een VLAN Management Policy Server (VMPS) worden MAC-adressen dynamisch toegewezen aan VLANs, afhankelijk van de switch en poort waarop het toestel met dat bepaalde MAC-adres zich verbindt. Als een toestel verhuisd wordt en zich aanmeldt op een andere poort of zelfs andere switch, zal het systeem op basis van het MAC-adres de VLAN-configuratie aanpassen: de VLAN wordt losgekoppeld van de oude switch/poorten geconfigureerd voor de nieuwe switch/poort.
Dit is vooral efficiënt voor toestellen die regelmatig fysiek door het netwerk worden verplaatst. In grotere organisaties is een dergelijk centraal en geautomatiseerd beheer de enige optie. Een andere benadering om complexiteit te verminderen is het beperken of zelfs afschaffen van het gebruik van VLAN's over een groot fysiek netwerk, om te komen tot een sterk hiërarchische topologie met lokale VLAN's. In combinatie met gecentraliseerd beheer kan men aldus ook in grote organisaties met een uitgebreid netwerk de controle houden.

## Trunks

Elke logische VLAN op een switch is vergelijkbaar met een afzonderlijke fysieke netwerkbridge. De VLAN's worden met een uniek identificatienummer aangeduid, het VLAN ID (VID). Een station dat enkel bij VLAN1 hoort kan communiceren met andere stations op VLAN1, maar niet met stations die bij VLAN2, 3, 4, ..., enzovoort horen. Om VLAN's meerdere switches te laten overbruggen moet men gebruikmaken van een zogenaamde trunk. Trunks gebruiken ofwel tagging ofwel een encapsulatie van frames om verschillende VLANs toch over één fysieke connectie te bedrijven.
Wanneer een VLAN verschillende switches bevat wordt in netwerken gebaseerd op apparatuur van Cisco gebruikelijk het VLAN Trunking Protocol (VTP) gebruikt om VLAN informatie voor elke switch accuraat aan te passen en te onderhouden. Er zijn verschillende standaarden voor trunks. Twee veel gebruikte standaarden zijn 802.1Q en ISL.

### IEEE 802.1Q
#### Kenmerken

* IEEE 802.1Q is een open standaard voor VLAN's voor ethernet.
* Tagging. Ethernetframes volgens 802.1Q kennen op de posities na het bron-MACadres een extra veld van vier bytes, de tag. In dit veld is de VLAN Identifier (VID) van 12-bits het belangrijkste, daar dit de VLAN identificeert. Een switch aan de rand van het netwerk kent aan elk frame de juiste tag toe als het verzonden moet worden naar een andere switch. De ontvangende switch zal het frame verder verwerken aan de hand van de tag in het ontvangen frame.
* Het veld met de tag bevindt zich midden in het oorspronkelijke frame en voor het transport is nog altijd de informatie in het ethernetframe zelf geldig. Er is dan ook geen sprake van encapsulatie en het impliceert ook dat IEEE 802.1Q protocolafhankelijk is.
* De delen van het netwerk die 802.1Q ondersteunen laten ook gewone frames zonder tags toe. Op deze wijze kunnen direct verbonden toestellen die geen lid zijn van een VLAN toch via netwerkdelen communiceren die 802.1Q ondersteunen. Switches bieden hiertoe ondersteuning: men kan doorgaans bv. specificeren dat frames die een bepaalde poort verlaten alleen een tag krijgen als ze in de verzendende switch behoren tot één of meer welbepaalde VLAN's. De andere frames verlaten de switch via die poort zonder tag. Men zou zo bijvoorbeeld frames voor telefoonverkeer kunnen taggen, maar gewoon gegevensverkeer niet. Op ontvangende switches kan men aan de frames die zonder tag binnenkomen dan vervolgens weer een VID toekennen. Zo ontstaat er over de gehele trunk gezien een standaard-VLAN (default VLAN) die zich buiten de switches niet expliciet als VLAN manifesteert. Voor de standaard-VLAN kan men in beginsel in de switches elke willekeurige VID gebruiken. Sommige fabrikanten reserveren echter VLAN 1 intern in de switch als speciale VLAN, waardoor VID 1 niet altijd geschikt is als standaard-VLAN.
* De standaard 802.1Q ondersteunt maximaal 4094 VLAN's. Op basis van de 12-bits VID zijn er 4096 combinaties, de waarden 0 en 4095 zijn echter gereserveerd. De waarde 0 laat toe om frames te versturen met de prioriteitsinformatie, echter zonder dat die frames tot een VLAN behoren. Met Shortest Path Bridging kan het aantal VLAN's uitgebreid worden tot ca. 16 miljoen.
* Ondersteunt point-to-point-communicatie (één naar één) en point-to-multipoint-communicatie (één naar meer).
* Formaat:
       Origineel ethernetframe:
       Bestemming Bron Lengte/Type Gegevens FCS
       Frame met tag:
       Bestemming Bron Tag Lengte/Type Gegevens Herberekende FCS
       Tag:
       TPID (0x8100) PCP DEI VID
      * Tag Protocol Identifier (TPID): vaste waarde 0x8100 op de positie van het EtherType-veld in een gewoon ethernetframe. De specifieke waarde identificeert het frame als een 802.1Q-frame.
      * PCP (Priority Code Point): 3 bits. De PCP bevat prioriteitsinformatie over het frame, gebruikt binnen IEEE 802.1P.
      * DEI (Drop Eligible Indicator): 1 bit. De DEI geeft aan of het pakket bij netwerkverzadiging gedropt mag worden.
      * VID (VLAN Identifier): 12 bits. De VID identificeert de VLAN. De VID is dus de kern van de tag.

#### Uitbreiding dubbele tagging - IEEE 802.1ad

Dienstaanbieders die op hun netwerken gebruikmaken van 802.1Q-VLAN's moeten soms frames van klanten verwerken die zelf 802.1Q gebruiken, waarbij deze frames dus reeds getagd zijn. Er is dan bij de aanbieder een tweede niveau van tagging nodig. Dit is niet mogelijk binnen 802.1Q zelf. Er is echter wel een uitbreiding gedefinieerd, vervat in open standaard IEEE 802.1ad. Deze standaard staat ook bekend als QinQ. De gebruikte techniek noemt men wel gestapelde VLAN's (stacked VLANs) of provider bridging.
Het formaat van een frame met dubbele tagging is als volgt:
Op de plaats van het EtherType gebruikt men voor de eerste, "buitenste", tag de waarde 0x88A8. Dit is dan de tag die de VLAN op het netwerk van de aanbieder identificeert. De tweede, "binnenste", tag bevindt zich op het niveau van de VLAN's van de klant.

### Inter-Switch Link (ISL)

Kenmerken:
* ISL is eigendom van Cisco. Dit kan tot problemen leiden indien men Cisco-apparatuur in combinatie met apparatuur van andere fabrikanten wil gebruiken. Overigens beveelt Cisco zelf aan om voor nieuwe netwerken te werken op basis van de open standaard IEEE 802.1Q.
* In ISL encapsuleert men het oorspronkelijke frame. Men voegt vooraan een ISL-header toe en achteraan het FCS-veld, voor CRC. Er wordt dus niets aan het originele frame veranderd, in tegenstelling tot bij 802.1Q.
* ISL is itt. 802.1Q protocolonafhankelijk en ondersteunt de encapsulatie van frames tot maximaal 24575 bytes.
* De protocoloverhead van 26 bytes voor de ISL-header en 4 bytes voor het FCS-veld is per frame veel groter dan de vier bytes per frame bij IEEE 802.1Q. Doordat ISL-frames echter aanzienlijk groter kunnen zijn, hoeft de overhead per byte niet hoger te liggen, maar kan deze zelfs lager liggen.
* ISL ondersteunt enkel point-to-point-communicatie.
* Binnen ISL is er geen standaard-VLAN, dit wil dus zeggen dat niet-geëncapsuleerde frames niet over de trunk vervoerd kunnen worden.
* Encapsulatie:
       Origineel ethernetframe:
       Bestemming Bron Lengte/Type Data FCS
       Geëncapsuleerd ethernetframe:
       ISL-header Bestemming Bron Lengte/Type Data FCS CRC
       ISL-header:
       DA Type User SA Lengte AAAA03 HSA VLAN BPDU Index RES
       DA: 40-bit, multicast bestemmingsadres met volgende waardes: 0x01-00-0C-00-00 of 0x03-00-0C-00-00.
       Type: 4-bit, beschrijving van het frame-type: ethernet (0000), token ring (0001), FDDI (0010) of ATM (0011).
       User: 4-bit, beschrijving van de ethernetprioriteit, van 0 als laagste tot 3 als hoogste.
       SA (Source Address): 48-bit, MAC-adres van de switch poort die zendt.
       Lengte: 16-bit, frame lengte min DA, Type, User, SA, Lengte en CRC.
       AAAA03: Standard Subnetwork Access Protocol (SNAP) 802.2 Logical Link Control (LLC) header.
       HSA (High Bits of Source Address): eerste 3 bytes van het SA.
       VLAN: 15-bit, VLAN ID.
       BPDU (Bridge Protocol Data Unit): 1-bit, geeft aan of het frame al dan niet een spanningtree BPDU is en of het een CDP- of VTP-frame is.
       Index: 16-bit, wordt gebruikt voor diagnostische toepassingen en wordt genegeerd in ontvangen pakketten.
       RES: 16-bit, gereserveerd voor token ring en FDDI-frames.

## Externe link

* IEEE's 802.1Q standaard
* (en) Overzicht routing tussen VLANs
* Cisco Systems, 2006, Interconnecting Cisco Network Devices volume 1 versie 2.3.
* Cisco Systems, 2006, Building Cisco Multilayer Switched Networks volume 1 versie 3.0.
* ↑ (en) Shuang Yu, IEEE approves new IEEE 802.1aq™ Shortest path bridging. IEEE Standards Association. Gearchiveerd op 14 mei 2013. Geraadpleegd op 19 June 2012. “Using the IEEE’s next-generation VLAN, called a Service Interface Identifier (I-SID), it is capable of supporting 16 million unique services compared to the VLAN limit of four thousand.”
* ↑ (en) Inter-Switch Link and IEEE 802.1Q Frame Format. Cisco. Geraadpleegd op 16 januari 2023.
IEEE-488 · IEEE 754 · IEEE 802 (.2 · .4 · .5 · .12 · .14 · .16 · .17 · .22) · 802.1 (D · p · Q · s · w · X · ad · AE · ag · ah · aq) · 802.3 (af/at) · 802.11 (a · b · g · n · p · ac · ax · be) · 802.15 (.1 · .4) · IEEE-1003 · IEEE 1076 · IEEE 1149 (.1) · IEEE 1284 · IEEE 1394