[[oktatas:hálózat:cisco|< Cisco]]
====== Redundáns kapcsolók ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2017, 2018
* Licenc: GNU Free Documentation License 1.3
* Web: http://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