[[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