Tartalomjegyzék
Redundáns kapcsolók
- Szerző: Sallai András
- Copyright © Sallai András, 2017, 2018
- Licenc: GNU Free Documentation License 1.3
- Web: https://szit.hu
A redundanciáról
A redundanciát a hálózatok terén azért alkalmazzuk mert ezzel növeljük a megbízhatóságot. Az eszközök között így alternatív útvonalak állnak rendelkezésre. Az alternatív útvonalak viszont problémához vezethetnek, ha egy-egy csomag körbe jár a redundáns útvonalakon.
Ha redundánsan kötünk össze kapcsolókat, azok automatikus tanulási és továbbítási működése miatt, természetes módon alakulnak ki a hurkok. Ehhez hozzájárul az is, hogy a második rétegben működő kereteknek nincs lejárati ideje, azaz Time To Live számlálójuk.
A redundáns kapcsolatok még veszélyesebbek szórásos üzenetek esetén. Ha a szórásos üzenetek továbbítása során a teljes sávszélességet elfoglalják a keretek, akkor szórási viharról beszélünk, angolul broadcast storm. Az ilyen viharok kialakulásához néhány másodperc is elég.
A feszítőfa protokoll biztosítja, hurkok elkerülését. A protokoll két járható port közül az egyiket mindig zárva tartja, tartaléknak. Az így lezárt porton csak akkor enged forgalmat, ha az elsődleges útvonal meghibásodik.
A lezárt portokat az STP saját céljaira használja, úgynevezett BPDU-keretek küldésére. A BPDU, a Bridge Protocol Data Unit, rövidítése, magyarul hídprotokoll adategységnek fordítható. Egy BPDU üzenet portokról, címekről, prioritásokról és költségekről tartalmaz információkat, amelyek biztosítják a hurkok felismerését.
A feszítőfa protokollnak többféle megvalósítása létezik. Ilyenek a következők:
- RSTP – Rapid Spanning Tree Protocol
- MSTP – Multiple Spanning Tree Protocol
Az STP protokoll az STA, azaz Spanning Tree Algorithm, magyarul feszítőfa elagoritmust használja. Az algoritmus kiválaszt egy kapcsolót, amelyet referenciaként használ. A kiválasztott kapcsolót nevezzük gyökérponti hídnak, angolosan root bridge. Az STA algoritmus ezt a híd azonosító (bridge ID, BID) alapján dönti el. Akinek a legkisebb a hídazonosítója, az lesz a gyökérponti híd.
A hídazonosító több érték összetevője:
- prioritás
- a küldő MAC címe
- opcionálisan egy kiterjesztett rendszer azonosító is
Az STA tehát megállapítja, melyik kapcsolónak legalacsonyabb a hídazonosítója. Ezek után az algoritmus kiszámolja a gyökéri ponti hídhoz vezető legrövidebb útvonalakat, a portok és útvonalak költségét is beleszámolva. Ha több útvonal van, a legkisebb költségű útvonalon engedi a forgalmat.
Ha minden kapcsoló számára kiszámította a gyökérponti hídhoz képest előnyben részesített utakat, az STA minden porthoz egy szerepet rendel. Ezek a szerepek a következő lehetnek:
- RP – gyökér port –
- DP – kijelölt port – designated port
- AP – tartalék port – bacup port – nem kijelölt
- letiltott port – shut down port – le van állítva
- szélső port – edge port – nem kapcsoló csatlakozik
Ha csak egy VLAN van (VLAN1), akkor egyetlen gyökérponti híd van. Ha több VLAN is van, akkor minden VLAN-ban különböző gyökérponti híd van, ahol már a kiterjesztett rendszer azonosító is szerepet kap.
híd prioritás | kiterjesztett rendszer azonosító | MAC cím |
4 bit | 12 bit | 48 bit |
A Spanning-tree
A Spanning-tree, azaz feszítőfal protokoll a redundánsan kiépített LAN eszközök esetén használt algoritmus, amely a hurkok kialakulását hivatott megakadályozni.
rági értékek | |
---|---|
sebesség | költségek |
10 Gb/s | 1 |
1 Gb/s | 1 |
100 Mb/s | 10 |
10 Mb/s | 100 |
Javított értékek | |
---|---|
sebesség | költségek |
10 Gb/s | 2 |
1 Gb/s | 4 |
100 Mb/s | 19 |
10 Mb/s | 100 |
Catalyst 4500 és 6500 értékek | |
---|---|
sebesség | költségek |
10 Gb/s | 2000 |
100 Gb/s | 200 |
1 Tb/s | 20 |
A költség interfészenként állítható spanning-tree cost paranccsal. CPT-ben nem működik:
S1(config)# int g0/0 S1(config-if)# spanning-tree cost 1
A szám egy 1 - 200 000 000 közötti érték.
A portok és útvonalak lekérdezése:
S1# show spanning-tree
Ha nem fut a feszítőfa protokoll, akkor a következőket látjuk:
No spanning tree instance exists.
Ha egy keresztkábelt bedugunk a switch egy-egy portjába, akkor a protokoll beindul.
A spanning-tree parancsnak globális konfigurációs módban, több paramétere van:
S1(config)# spanning-tree ? bpdufilter bpdugurad cost guard link-type mst port-priority vlan stack-port portfast
A fenti parancsok Cisco IOS C2960-LANBASEK9-M 15.0(2)SE8 rendszeren volt.
Időzítők | ||
---|---|---|
hello | 2 sec | |
delay | 15 sec | |
maximum-aging | 20 sec | |
hold | 6 sec | 3 BPDU ha kimarad |
Egy Cisco kapcsoló alapértelmezett prioritása | 32768 |
A prioritás 0 és 61440 közé kell essen, 4096-os léptékben. Ezek után lehetséges értékek:
- 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, és 61440.
BID beállítása
A BID a Bridge ID rövidítése, magyarul hídazonosító. Gyökérponti hidak beállításához használjuk. Ha egy kapcsolót gyökérnek szeretnénk megtenni értékét a többihez képest kisebbre kell beállítani. A beállításra két módszer létezik.
Megadjuk melyik legyen elsődleges, másodlagos gyökér:
S1(config)# spanning-tree VLAN 1 root primary
S2(config)# spanning-tree VLAN 1 root secondary
Konkrét számmal adjuk meg a prioritást:
S1(config)# spanning-tree VLAN 1 priority 24576
Ellenőrzés:
S3# show spanning-tree
Szélső port
A BPDU Guard lehetőséget egy switch portjára tudjuk beállítani. Ha beállítottuk, és az adott porton egy BPDU keret jön befele, a port lezárásra kerül.
S1(config-if)#spanning-tree bpduguard enable
S1(config-if)#spanning-tree bpduguard disable
PortFast és BPDU
PC vagy szerver felé eső portokat PortFast módba szokás kapcsolni.
S1(config-if)#spanning-tree portfast
Az összes port beállítása egyszerre:
S1(config)# spanning-tree portfast default
Az aktív hálózati eszközök oldalán viszont ez hurkot okozhat. Ellene védelem bekapcsolása:
S1(config-if)# spanning-tree bpduguard enable
Bekapcsolás az összes portra:
S1(config)# spanning-tree portfast bpduguard default
Ellenőrzés:
show running-config
A védelem alapértelmezetten minden porton ki van kapcsolva.
Rapid PVST+
A Rapid PVST+ a Cisco által megvalósított RSTP.
S1(config)# spanning-tree mode rapid-pvst S1(config)# interface f0/2 S1(config-if)# spanning-tree link-type point-to-point S1(config-if)#end S1# clear spanning-tree detected-protocols
S1#show spanning-tree
S1#show spanning-tree vlan 10