Menu Zavrieť

4. VLAN – Virtual Local Area Network

Čo je to VLAN

Virtuálna LAN slúži k logickému rozdeleniu siete nezávisle na fyzickom usporiadaní. Môžeme teda našu sieť segmentovať na menšie siete vnútri fyzickej štruktúry pôvodnej siete. Druhým dôležitým pojmom, ktorý bude viac vysvetlený neskôr, je trunk . Ako trunk označujeme port, ktorý je zaradený do viacerých VLAN.

Jednoducho povedané pomocou VLAN môžeme dosiahnuť rovnakého efektu, ako keď máme skupinu zariadení pripojených do jedného (alebo niekoľkých prepojených) switcha a druhú skupinu do iného (iných) switcha. Sú to dve nezávislé siete, ktoré spolu nemôžu komunikovať (sú fyzicky oddelené). Pomocou VLAN môžeme takéto dve siete vytvoriť na jednom (alebo viacerých prepojených) switchi.

V praxi samozrejme často potrebujeme komunikáciu medzi týmito sieťami. S VLAN môžeme pracovať rovnako ako s normálnymi sieťami. Teda použiť medzi nimi akýkoľvek spôsob routovania. Často sa dnes využíva L3 switch (switch, ktorý funguje na tretej vrstve OSI) pre inter-VLAN routing – smerovanie medzi VLAN.

Nižšie uvádzam klasický obrázok, ktorý sa používa pre vysvetlenie VLAN. Máme dve poschodia, na každom poschodí je switch, switche sú prepojené chrbticou s Trunk. Chceme prepojiť zariadenie do dvoch nezávislých skupín (modrá – VLAN10 a červená VLAN20). Pomocou VLAN je to takto jednoduché. Tradičnou technikou by sme museli mať switche oddelené a každú skupinu (modrú a červenú) prepojiť do jedného switcha, čo by bol problém, pretože sú na rôznych poschodiach.

Pre podrobné pochopenie VLAN treba rozumieť základom sietí a ich segmentovaniu (delenie na subnety – podsiete).

Počítačová sieť – WAN, LAN

Počítačová sieť vznikne vo chvíli, keď dva (niekedy sa hovorí minimálne tri) alebo viac počítačov prepojíme dohromady pomocou telekomunikačného systému s cieľom zdieľať zdroje. Siete sa ďalej delia podľa radu parametrov na LAN, WAN, WLAN, MAN a pod. V tejto chvíli nás zaujíma lokálna počítačová sieť – LAN (Local Area Network), ktorá sa vyznačuje tým, že počítače sú prepojené na menšom geografickom území (teda v rámci firmy, budovy, miestnosti, atp.). Pre LAN sa najčastejšie používa technológie Ethernet s protokolom TCP / IP a pre WAN (Wide Area Network – prepojenie jednotlivých LAN) technológie Frame Relay .

Podsieť – subnet

TCP/IP protokol používa pre adresovanie zariadení IP adresy . Týchto adries je určitý rozsah, ktorý sa pre praktické použitie (smerovanie, prideľovanie adries organizáciám, broadcast) delí na menšie hierarchické časti, ktorým sa hovorí subnety (podsiete).

Zariadenia môžu priamo komunikovať iba s ďalšími zariadeniami, ktoré sú v rovnakom subnete. So zariadeniami z iných subnetov komunikujú typicky cez jednu adresu – gateway (bránu), ktorá vykonáva routovanie.

Oddelenie sietí

Ako som uviedol vyššie, pokiaľ použijeme rôzne subnety, tak spolu zariadenie nemôžu komunikovať. Nie je to však úplne pravda, rozhodne nedôjde k oddeleniu týchto zariadení. Ak sú totiž pripojené na rovnaké médium, prepojené do rovnakého hubu (pracuje na 1. vrstve OSI) alebo switcha (pracuje na 2. vrstve OSI). Tak komunikácia dorazí z jedného zariadenia na druhé, aj keď sú v inom subnete. Zariadenie však bude túto komunikáciu ignorovať. Je to preto, že hub (posiela všade) ani switch (používa MAC adresy) sa nepozerá na IP adresy prechádzajúcej komunikácie. Preto sa dá táto komunikácia zachytávať a odpočúvať. Ak teda chceme mať oddelené siete, tak musíme použiť oddelené switche.

Lenže použitím VLAN dôjde k tomu, že komunikácia sa posiela len na porty, ktoré sú zaradené do rovnakej VLANy. Záleží teda síce na softvéri switcha, ale dá sa povedať, že sa jedná o fyzické oddelenie. Existujú nejaké metódy útoky na VLAN (preniknutie do inej VLAN), ale pri dobre nastavenej sieti by malo byť všetko bezpečné.

Subnet a VLANy

Z vyššie uvedeného tiež vyplýva to, že pre rôzne VLANy by sme mali používať rôzne subnety. Ak chceme medzi týmito VLAN routovať, tak je to nutné, rovnako ako v prípade, keď chceme využiť niektoré špeciálne funkcie na switchi.

Prečo vznikli VLANy

Technológia VLAN začala vznikať okolo roku 1995, ale spočiatku sa jednalo o rôzne proprietárne riešenie. V praxi sa však viac rozšírili až pred niekoľkými rokmi a to hlavne v stredných a veľkých firmách, hoci už dlhší čas existuje štandard.

Hlavné dôvody prečo vznikli VLAN boli asi tieto:

  • zoskupovanie užívateľov v sieti podľa skupín či oddelenia alebo podľa služieb miesto podľa fyzického umiestnenia a oddelenia komunikácie medzi týmito skupinami
  • zníženie Broadcast v sieti, ktoré začali byť problémom už pred niekoľkými rokmi
  • zmenšenie kolíznych domén v čase, keď sa nepoužívali switche, ale napríklad huby

Idea pre logické zoskupovanie užívateľov, ktorá sa uvádza v rade materiálov, a teda vytváranie VLAN je

  • podľa organizačnej štruktúry – ak je väčšina komunikácie v rámci oddelení, kde sú vlastné tlačiarne, file servery, atď. a medzi jednotlivými oddeleniami nie je komunikácia, len pár služieb (mail) je spoločných pre všetky
  • podľa služieb – do VLAN sa zoskupujú pracovníci, ktorí využívajú rovnaké služby (účtovníctvo, DB, atď.)

Pôvodné dôvody už dnes často nie sú aktuálne alebo sa z praxe zmenili názory. Ako sa používajú VLANy dnes, inak povedané, aký je ich hlavný prínos, uvádzam v ďalšej kapitole.

Aké sú praktické výhody VLAN

  • zníženie Broadcast – hlavnou výhodou VLAN je vytvorenie viac, ale menších, broadcastových domén. Teda zlepšenie výkonu siete znížením prevádzky (traffic).
  • zjednodušená správa – k presunu zariadenia do inej siete stačí prekonfigurovať zaradenie do VLANy, teda správca konfiguruje SW (zaradenie do VLAN) a nie HW (fyzické prepojenie)
  • zvýšenie zabezpečenia – oddelenie komunikácie do špeciálnej VLANy, kam nie je iný prístup. Toho sa dá samozrejme dosiahnuť použitím samostatných switchov, ale často sa toto uvádza ako bonus VLAN.
  • oddelenie špeciálnej prevádzky – dnes sa používa množstvo prevádzok, ktoré nemusia byť prepojené do celej siete, ale napriek tomu ich potrebujeme dostať na rôzne miesta, navyše nechceme, aby nám ovplyvňovali bežnú prevádzku. Príkladom je napríklad IP telefónia, komunikácia medzi AP v centrálne riadenom prostredí, manažment (zabezpečenie správcovského prístupu k zariadeniam). Napríklad pre IP telefóniu, kde je používanie VLAN úplne bežné, nám stačí jediná zásuvka, kam privedieme VLAN pre telefóniu aj VLAN s prístupom do siete a v telefóne sa komunikácia rozdelí. Navyše VLANy môžeme použiť spolu s QoSom pre zaručenie kvality komunikácie (obsadenie pásma).
  • zníženie HW – samozrejme sa nám neznižuje potrebný počet portov (až na špeciálne prípady ako IP telefónia), ale tým, že môžu byť rôzne podsiete na rovnakom switchi, ho môžeme lepšie využiť (napríklad pre prepojenie troch zariadení nepotrebujeme špeciálny switch, ktorý má minimálne 8 portov).

Ako sa zaraďuje komunikácia do VLAN

Priradenie do VLANy sa nastavuje typicky na switchi (iba v niektorých špeciálnych prípadoch prichádza označená komunikácia cez trunk z iného zariadenia). Na switchoch, ktoré podporujú VLANy, vždy existuje aspoň jedna VLAN. Jedná sa o defaultná  VLAN číslo 1 , ktorú nie je možné zmazať či vypnúť. Pokiaľ nenastavíte inak, tak sú všetky porty (teda všetka komunikácia) zaradené do VLAN 1.

Pre zaradenie komunikácie do VLANy existujú štyri základné metódy, ale v praxi je najviac využívaná možnosť prvá – zaradenie podľa portu.

1. podľa portu

Port switcha je ručne a napevno zaradený (nakonfigurovaný) do určitej VLANy . Všetka komunikácia, ktorá prichádza cez tento port, spadá do zadanej VLANy. To znamená, že ak do portu pripojíme ďalšie switche, tak všetky zariadenia pripojené k nemu budú v jednej VLAN. Jedná sa o najrýchlejšie a najpoužívanejšie riešenie. Nie je potrebné nič vyhodnocovať pre zaradenie do VLAN. Definícia zaradenia do VLAN je lokálne na každom switchi. Jednoducho sa spravuje a je prehľadné.

2. podľa MAC adresy

Rámec (port) sa zaradí do VLANy podľa zdrojovej MAC adresy . Musíme teda spravovať tabuľku so zoznamom MAC adries pre každé zariadenie spolu s VLAN. Výhodou je, že sa jedná o dynamické zaradenie, takže ak prepojíte zariadenie do iného portu, automaticky sa zaradí do správnej VLANy. Switche musia hľadať v tabuľke MAC adries.

Sú tu dve možnosti, ako táto metóda môže fungovať. Buď sa podľa MAC adresy prvého rámca nastaví zaradenie portu do VLANy a toto nastavenie zostane, kým sa port nevypne. Alebo sa každý rámec zaraďuje samostatne do VLANy podľa MAC adresy. Toto riešenie je veľmi náročné na výkon.

Cisco má riešenie zvané VLAN Membership Policy Server (VMPS), pre ktoré je potrebné špeciálny server, ktorý spravuje tabuľky MAC adries. Navyše sa pri tejto metóde zaraďuje port do VLANy, takže ak je do neho pripojených viac zariadení (max. 20), musia byť všetky v rovnakej VLAN.

3. podľa protokolu = podľa informácie z 3. vrstvy

Táto metóda určuje zaradenie podľa protokolu prenášaného paketu. Napríklad oddelíme IP prevádzku od AppleTalk. Alebo zaraďujeme podľa IP adresy či rozsahu. V praxi nie je príliš rozšírené. Zariadenie musí mať napevno definovanú IP adresu a switche sa musia pozerať do tretej vrstvy (normálne funguje na druhej), znamená to spomalenie.

4. podľa autentizácie

Overí sa používateľ alebo zariadenie pomocou protokolu IEEE 802.1x a podľa informácií sa automaticky umiestni do VLANy. Je to primárne bezpečnostná metóda, ktorá riadi prístup do siete (NAC), ale po rozšírení slúži aj pre VLANy. Je to zaujímavá metóda preto, že je veľmi univerzálna. Nezáleží ani na fyzickom zariadení ani na mieste zapojenia. RADIUS server, ktorý overuje identitu používateľa, obsahuje tiež mapovanie užívateľov na VLANy a túto informáciu zašle po úspešnej autentifikácii. U tejto metódy je možné nastavenie, že v prípade, kedy nie je užívateľ autentizovaný, tak je zaradený do špeciálnej Hostovskej VLANy.

U Cisco switchov môže byť port single-host, kedy je možné pripojiť iba jedno zariadenie alebo multiple-host, kedy síce môže byť do portu pripojených viacero zariadení, ale vo chvíli, keď sa prvý autentizuje, tak je port AUTENTIZOVANÝ (a zaradený do VLANy ) a komunikovať môžu všetky zariadenia.

Ako funguje komunikácia v rámci VLAN

V praxi máme dve situácie, keď sa pri komunikácii rieši príslušnosť k VLAN. Je to pri komunikácii v rámci jedného switcha alebo pri komunikácii medzi niekoľkými switchmi.

VLANy na jednom switchi

Pri komunikácii vo VLANách v rámci jedného switcha je to jednoduché. Switch si v operačnej pamäti udržuje informácie, do ktorej VLANy patrí daná komunikácia (port), a v rámci switcha povoľuje iba správne smerovanie. V tomto prípade máme jednotlivé porty zaradené do jednej VLANy a to buď staticky, alebo dynamicky, ako bolo povedané vyššie (možnosti 2,3,4). Cisco týmto portom hovorí access port (prístupový port).

VLAN medzi viacerými switchmi

Zložitejšia situácia nastáva, keď chceme, aby sa informácie o zaradení do VLANy nestratila pri prechode na iný switch, teda aby sme v celej našej sieti mohli využiť rovnaké VLANy a nezáležalo, do ktorého switcha je zariadenie pripojené. Navyše chceme, aby táto metóda fungovala aj medzi switchmi rôznych výrobcov. To bol zo začiatku problém a používali sa rôzne metódy. Napríklad, keď zaraďujeme komunikáciu podľa MAC adresy, tak môžeme tabuľku priradenia mať na všetkých switchoch. Cisco vytvorilo svoju metódu ISL, ktorá zapuzdruje celý rámec, ale funguje iba na Cisco zariadeniach. Tiež môžeme prepojiť dva access porty na dvoch switchoch, zaradiť ich do rovnakej VLANy a prenesieme potrebné informácie. To je ale veľmi nepraktické.

Našťastie vznikol štandard IEEE 802.1q , ktorý využíva značkovanie rámcov. Označuje sa komunikácia len vo chvíli, keď je to potrebné. Takže kým prebieha v rámci jedného switcha a pripojených zariadení, tak sa nič nepridáva. Až, keď chceme poslať komunikáciu ďalšiemu switchu (či podobnému zariadeniu), tak ju označíme. Odchádzajúce komunikácie sa tagujú na porte, ktorému sa hovorí trunk port . Tento port prenáša viac (vybraných) VLAN a aby ich mohol odlíšiť, tak ich označuje. Spoju dvoch trunk portov sa hovorí trunk  alebo trunk link .

IEEE 802.1q tagging

Protokolu IEEE 802.1q sa hovorí tiež trunking protokol alebo dot1q tagging . Ide o štandardizovanú metódu, ktorú podporujú všetky moderné switche s podporou VLAN. Funguje na princípe tzv. Tagovania.  Vezmeme originálny rámec, jeho hlavičku rozšírime o 4B informácií, z ktorých prvá je značka, že sa jedná o protokol 802.1q (hodnota 0x8100). Ďalej nasleduje priorita podľa protokolu 802.1p, príznak, či je MAC adresa v kánonickom tvare a posledná je číslo VLANy.

Pretože sa zmenila dáta, je potrebné prepočítať kontrolný súčet na konci rámca.

originálny rámec

6B 6B 2B 64 až 1500B 4B
cieľová adresa (DA) zdrojová adresa (SA) typ alebo dĺžka dáta kontrolný súčet (FCS)

Upravený rámec pomocou 802.1q

6B 6B 4B 2B 64 až 1500B 4B
cieľová adresa (DA) zdrojová adresa (SA) 802.1q tag typ alebo dĺžka dáta kontrolný súčet (FCS)

Tvar 802.1q tagu

2B 3b 1b 12b
0x8100 priorita (802.1p) Canonical Format Indicator (CFI) VLAN ID
Tag Protocol ID (TPID) 2B Tag Control Information (TCI) 2B

Native VLAN je termín spojený s protokolom 802.1q. Nastavuje sa na trunk porte, U Cisco prvkov musíme natívny VLAN vždy nastaviť a to zhodne na oboch stranách trunku. Prevádzka, ktorá je zaradená do native VLAN sa pri prenose netaguje (zostáva nezmenený) a prichádzajúca prevádzka, ktorá nie je tagovaná sa zaraďuje do native VLAN. Často sa ako native VLAN nastavuje management VLAN. Dôsledkom tiež je, že ak sa na trunk port dostane nejaký rámec, ktorý nemá tag, tak je zaradený do natívnej VLANy. Inak povedané, ak do portu, ktorý je nakonfigurovaný ako trunk, pripojíme normálnu stanicu (ktorá nepodporuje trunk), tak bude komunikovať v tejto VLAN. V praxi môžeme využiť túto vlastnosť trebárs u zapojenia, kedy je pripojený IP telefón a za ním PC. Native VLAN nastavíme rovnako ako VLAN pre PC, potom ak sa odpojí telefón a PC sa pripojí priamo, tak jeho komunikácia stále funguje.

Cisco ISL Encapsulation

ISL znamená Inter-Switch Link , teda spoj medzi switchu. Cisco vytvorilo svoj protokol ešte v čase, keď neexistoval štandard. ISL má výhodu, že funguje nielen pre protokol IP, ale aj pre iných. Rovnako ako 802.1q podporuje prioritizáciu.

Bohužiaľ sa jedná o proprietárnu metódu, ktorú používa iba Cisco a v dnešnej dobe ju nájdeme iba na switchoch vyššej rady (napríklad Catalyst 3750). Princíp funkcie je taký, že sa celý rámec zabalí (encapsulate) do novej hlavičky a kontrolného súčtu. Z toho vyplýva nevýhoda, že sa viac zväčšuje komunikácia, každý rámec je o 30B väčší.

26B 4B
ISL header Encapsulation frame (originálny rámec) kontrolný súčet (FCS)

Ďalšie využitie trunkov

V dnešnej dobe nemusíme používať trunk iba pre prepojenie switchov, ale veľmi účinne ho využiť aj pre  pripojenie serverov, ktoré potrebujeme mať pripojené do viacerých sietí. Operačný systém Linux podporuje protokol 802.1q už v jadre, pre Windowsy potrebujeme ovládač pre sieťovú kartu s podporou VLAN (napríklad Intel). Na sieťovej karte potom nakonfigurujeme VLANy, ktoré tu prichádzajú, a pre každú sa vytvorí virtuálne sieťové spojenie, ktoré môžeme používať ako bežnú sieťovku. Ušetríme tým fyzické sieťové karty na serveri, aj keď sa znižuje priepustnosť. Použiť to môžeme napríklad na firewalle alebo Hostovský server pre virtuálne servery. Na druhú stranu sa treba vždy zamyslieť, či je toto to správne riešenie a neexistuje niečo jednoduchšie (napríklad, aby sme DHCP server nepripájali do každej routovanej podsiete, keď môžeme využiť DHCP relay agenta).

Routing medzi VLANmi

Tradičný routing vyzerá tak, že máme niekoľko samostatných sietí a chceme medzi nimi umožniť nejakú komunikáciu. Nasledujúci obrázok predstavuje tri samostatné switche prepojené pomocou routera. Môže ísť napríklad o firemné servery a dve oddelenia, ktoré k nim chceme pripojiť, ale nechceme, aby mohli komunikovať medzi sebou.

Ak využívame VLANy, môžeme sa k nim správať rovnako ako k normálnym podsieťam. Na switchi môžeme jednotlivé VLANy, ktoré chceme routovať, vyviesť do samostatných access portov a tie pripojiť k routeru.

To je však zbytočné plytvanie a výhodnejšie je ich použiť medzi routrom a switchom trunk. Tiež môžeme namiesto klasického routeru využiť L3 switch, ktorý je rýchlejší.

 

U Cisco L3 switchov vykonáme inter-VLAN routing jednoducho tak, že zapneme routovanie a na tie VLANy, ktoré majú medzi sebou routovať, nastavíme IP adresu.