Hirdetés

A virtuális LAN-okról részletesen

Helyi hálózatnak(LAN) nevezzük az egy fizikai helyen (iroda, otthon, stb..) található összekapcsolt eszközök (routerek, switchek, szerverek, számítógépek stb..) csoportját. A LAN egyetlen szórási tartomány (broadcast domain), beleértve az adott szórási tartomány összes eszközét. A szórási tartomány azon eszközök csoportja, amelyek broadcast keretet fogadnak egymástól. (cél MAC: FFFF.FFFF.FFFF).
A szabványos 2. rétegű hálózaton a switch-hez csatlakozó összes állomás(host) ugyanannak a szórási tartománynak a tagja, a szórási tartományokat pedig csak a routerek tudják fizikailag elkülöníteni a különböző switch-eken keresztül. A switch elsődleges feladata, hogy fogadja a bejövő kereteket, majd továbbítsa azokat a megfelelő célállomásra. A switch-ek nyilvántartást vezetnek a MAC címekről, ez az úgynevezett "MAC address table", ami társítja a forrás MAC címet azzal az interfésszel, amelyen a keretet fogadta. Ez a tábla dinamikusan változik, a bejegyzések törlődnek inaktivitás esetén, egy bizonyos idő elteltével (általában 300mp) Talán egy példán keresztül kicsit szemléletesebb lesz, az alábbi képen az egyik switchem MAC táblája látható, a "0/1"-es interfészre leszűrve.

Amint látható, egy interfészhez több MAC cím is hozzá lehet rendelve. Erre az interfészre egy Access Point-ot csatlakoztattam, így annak, illetve az AP-hoz csatlakozó eszközök MAC címe is bekerült a táblába. Hasonló lenne a helyzet, ha az AP helyett egy switchet csatlakoztatnék az interfészhez, akkor az ahhoz kapcsolódó összes eszköz MAC címe is társítva lenne ehhez az interfészhez.
Tehát a switch fogadja a keretet–>megtanulja a forrás MAC címet ha még nem ismeri, és társítja az interfészhez–> összehasonlítja a célállomás MAC címét a saját táblájával–>ha van egyezés, továbbítja az ahhoz társított interfészre. Ha a célállomás MAC címe nem szerepel a táblájában, "elárasztja" a keretet. Ez annyit jelent, hogy továbbítja az összes interfészre, kivéve amelyiken fogadta. Ha egy switch broadcast keretet fogad, továbbítja az összes interfészre, kivéve amelyiken fogadta, a router ha broadcast keretet fogad, azt nem továbbítja másik hálózat irányába.

Az alábbi diagramon hat szórási tartomány található:

A hálózatok méretezésével több szórási tartomány bevezetése válik szükségessé a forgalom teljesítménybeli, biztonsági vagy logisztikai okokból történő szegmentálásához. A virtuális LAN-ok (VLAN) lehetővé teszik, hogy a fizikai hálózatot külön logikai szórási tartományokra osszunk fel.

Nézzük meg ezt részletesen egy példán keresztül. Az alábbi ábrán egy vállalat helyi hálózata látható, három részleggel. A használt hálózat 192.168.1.0/24

Hirdetés

Ez nem feltétlenül a legjobb megvalósítás. Biztonság és teljesítmény szempontjából jobb megoldás ha alhálózatokat hozunk létre. Tegyük fel az egyik számítógép az Engeneering részlegről küldene egy broadcast üzenetet a részleg többi gépe számára. Mivel ez egy broadcast üzenet, a switch továbbítja az összes interfészre, kivéve amin fogadta. Tehát nem csak az Engeneering részleg gépei kapják meg az üzenetet, hanem mindenki, beleértve a routert is. Ez probléma a biztonság, és a hálózat teljesítménye szempontjából is. A sok szükségtelen broadcast forgalom csökkentheti a hálózat teljesítményét. Ha korlátozni szeretnénk, hogy ki mihez férhet hozzá, biztonsági szabályokat kell alkalmaznunk a routeren, de mivel ez egyetlen szórási tartomány, a gépek közvetlenül elérhetik egymást anélkül, hogy a forgalom áthaladna a routeren.

Osszuk fel ezeket a részlegeket külön alhálózatokra a képen látható módon:

Legyen PC1 az Engeneering részlegről 192.168.1.1, PC2 a Sales részlegről 192.168.1.129.
PC1 adatot szeretne küldeni PC2-nek, és mivel PC2 másik alhálózat mint a sajátja, a cél MAC címet az R1-re állítja. R1 megkapja a keretet, kicseréli a forrás MAC-et a sajátjára, a cél MAC-et pedig PC2 MAC-jére:

PC1 nem tudja közvetlenül PC2-nek küldeni a forgalmat, kényszerítettük, hogy R1-nek küldjön először, ahol beállíthatunk különböző szabályokat, hogy milyen forgalom engedélyezett az alhálózatok között. Azt gondolhatnánk, hogy meg is oldottuk a feladatot, de van még egy felmerülő probléma. Mi történik például akkor, ha PC1 broadcast üzenetet küld? Legyen ez az Engineering részlegnek szánt broadcast keret:

Mivel a switch csak a 2. réteg információival foglalkozik, mint a forrás/cél MAC cím, és nem törődik a felsőbb rétegekkel, továbbítja ezt a keretet az összes interfészre, kivéve amelyiken fogadta. Ez azt jelenti, hogy a három részleg minden állomása megkapja az üzenetet.

Bár a három részleget három alhálózatra különítettük el (vagyis a 3. rétegben vannak elválasztva) továbbra is ugyanabban a szórási tartományban, ugyanabban a 2. rétegbeli hálózatban vagy LAN-ban vannak. Egy lehetséges megoldás lenne, ha külön switcheket vásárolnánk a különböző részlegeknek, de ez nem lenne igazán flexibilis, illetve a hálózat eszközök sem olcsóak, egy vagy több switch vásárlasa minden részlegnek nem túl költséghatékony megoldás. És itt jönnek képbe a VLAN-ok. Ezek a PC-k bár ugyanabban a LAN-ban vannak, de használhatunk virtuális LAN-okat, hogy szétválasszuk őket a 2. rétegben.

Rendeljük hozzá az ábrán látható módon a VLAN-okat a különböző részlegekhez:

Beállítjuk a switch interfészt úgy, hogy egy adott VLAN-ban legyen, így az ehhez az interfészhez csatlakoztatott végállomás ennek a VLAN-nak a része lesz. A switch minden VLAN-t külön LAN-nak tekint, és nem továbbít a VLAN-ok között forgalmat, beleértve a broadcast vagy ismeretlen unicast forgalmat.
Ha beállítottuk ezeket a VLAN-okat, és PC1 küld egy broadcast keretet, miután a keret megérkezik a switch-hez, az ugyanabban a VLAN-ban lévő összes interfészhez továbbítódik:

A VLAN azonosító (VID - VLAN ID) ethernet kerethez történő hozzáadását keret címkézésnek (frame tagging) nevezik. A leggyakrabban alkalmazott címkézési szabvány az IEEE 802.1Q vagy röviden dot1q. A 802.1Q szabvány egy 4-bájtos (32 bit) mezőt illeszt az ethernet keretbe, a Forráscím és a Típus/Hossz mező közé. A címkézési mező megnöveli az ethernet keret minimális hosszát 64 bájtról 68-ra, és a maximális hosszát 1518-ról 1522 bájtra. A bitszám megváltozása miatt újra kell számítani a keretellenőrző összeget:

Ezek közül az almezők közül kettő, ami lényeges most számunkra:
TPID : 16 bites címke protokoll azonosító (Tag Protocoll Identifier) mező, 0x8100 (hexa) értékre állítva jelzi, hogy a keret a dot1q cimkézett. Ez a mező ugyanazon a helyen található, mint az Típus/Hossz mező a címkézetlen keretekben, és így a keret megkülönböztetésére szolgál a címkézetlen keretektől.
VID : 12 bites mező, amely azonosítja azt a VLAN-t amelyhez a keret tartozik. Értéke 0-4095 közötti, a 0 és 4095 nem, az összes többi érték használható VLAN azonosítóként.
A VLAN azonosító címkét az állomás, router vagy switch adhatja hozzá vagy távolíthatja el. A hálózaton belül a fizikai portok címkézetlenként (untagged) vagy címkézettként (tagged) vannak konfigurálva egy adott VLAN-hoz, ez határozza meg, hogy fogadják-e és továbbítják-e az egyes VLAN azonosítókhoz tartozó forgalmat.

Címkézetlen (untagged) : a címkézetlen VLAN-t néha „natív VLAN-nak” is nevezik. Minden olyan forgalom, amely egy állomástól egy switch portra kerül és nem rendelkezik VLAN-azonosítóval, a címkézetlen VLAN-hoz lesz hozzárendelve. Általában egyetlen állomás (asztali gép, nyomtató, IP kamera) kapcsolódik ehhez a porthoz. Egy porton egyszerre csak egy címkézetlen VLAN lehet konfigurálva.

Címkézett (tagged) : a címkézett VLAN porthoz való hozzárendelése hozzáadja azt a portot a VLAN-hoz, de minden be- és kimenő forgalmat fel kell címkézni a VLAN azonosítóval ahhoz, hogy továbbíthatóak legyenek. A switch porthoz csatlakoztatott állomásnak képesnek kell lennie a saját forgalmának címkézésére, és megegyező VLAN azonosítóval kell konfigurálni. Címkézett VLAN portok általában akkor használatosak, amikor a porthoz kapcsolódó állomásnak több hálózathoz kell hozzáfélnie ugyanazon az interfészen keresztül. Például egy kiszolgáló, ami egy iroda több részlegének nyújt szolgáltatásokat.

Trönk (trunk) : A trönk port általában az összes VLAN tagjának számít – bármely VLAN-azonosítón fogadja és továbbítja a forgalmat. Általában switchek és routerek közötti uplink és downlink portokhoz van konfigurálva.

A gyakorlatban is nézzük meg a fentieket néhány egyszerű példán keresztül. A szemléltetéshez összeraktam egy hálózatot Packet Tracer-ben, itt láthatóak majd a különböző Layer-ek információ. Először nem használunk VLAN-okat, viszont a gépeket két alhálózatba csoportosítottuk. 192.168.1.0/26 valamint 192.168.1.64/26

PC1 küld egy ICMP üzenetet PC2-nak, ami vele azonos alhálózatban van:

PC2 fogadja a keretet:

PC1 most PC3-nak küld. PC3 másik alhálózat, ezért PC1 a cél mac-et a gateway, azaz R1 mac-re állítja:

R1 fogadja a keretet, és továbbítja PC3-nak:

PC3 fogadja a keretet:

És végül PC1 küld egy ICMP üzenetet a broadcast IP-re:

Megkapja mindenki, mert a switch-hez csaltakozó összes állomás ugyanannak a szórási tartománynak a tagja. (képen a PC4-en fogadott keret. látszik, hogy PC1 közvetlen küldte, viszont az ICMP reply már R1-en keresztül fog menni, a cél mac:000d.bd30.9602 ):

A két alhálózathoz tartozó állomásokat most csoportosítsuk VLAN-okba az alábbiak szerint:
192.168.1.0/26->VLAN10 valamint 192.168.1.64/26->VLAN20

PC1 küld egy ICMP üzenetet a broadcast IP-re:

Ahogy látható, PC3 és PC4 már nem kapja meg ezt a broadcast keretet, mert másik szórási tartományban vannak, mint PC1 és PC2:

Hirdetés