Seminární práce do kurzu CC3 CCNA 3 - modul 7
Spanning Tree Protocol
Tomáš Bílek
[email protected]
Obsah 1. Úvod 2. Redundantní topologie 1. Redundance 2. Redundantní topologie 3. Redundantní přepínané topologie 4. Broadcast storms 5. Multiple frame transmissions 6. Media access control database instability 3. Spanning-Tree Protocol 1. Redundantní topologie a větvící se strom 2. Spanning-Tree protokol 3. Role ve Spanning-Tree 4. Volba Root Bridge 5. Přepočítání Spanning-Tree 4. Rapid Spanning Tree Protokol 5. Otázky 6. Literatura
1. Úvod Zálohování fyzických spojů v síti je důležité, umožňuje sítím bezporuchový provoz a chrání uživatele před nedostupností sítě. Nedostupnost může být způsobena selháním spoje, portu nebo celého síťového zařízení. Zálohování fyzických spojů založené na přepínačích a mostech jsou náchylné na problémy broadcast storms, multiple frame transmission a MAC address database instability. Díky těmto problémům může být síť nestabilní, proto je třeba zálohování spojů pečlivě navrhnout a průběžně sledovat. Zálohování fyzických spojů je vyžadováno jako ochrana proti ztrátě konektivity z důvodu selhání jednoho prvku sítě. Ale díky tomuto opatření vznikají ve fyzickém návrhu sítě smyčky, které mohou být problémem v přepínané síti. Spanning-Tree Protokol (zkratka STP, doslovný překlad Protokol větvícího se stromu) je prostředek k vytvoření logické topologie sítě bez smyček v přepínané síti se smyčkami. Spoje, porty a přepínače, které nejsou součástí aktivní bezsmyčkové topologie nepřeposílají data. STP je silný nástroj, který umožňuje správcům sítě bezpečí zálohovaných fyzických spojů sítě bez rizika problémů plynoucích ze smyček v síti.
2. Redundantní topologie 2.1 Redundance Mnoho společností a organizací se čím dál víc spoléhají na počítačové sítě při jejich činnosti. Přístup k souborovému serveru, databázím, Internetu či intranetu je nezbytný pro jejich úspěšný obchod. Když je síť nedostupná, produktivita práce a spokojenost zákazníků klesá. Stále více společností vyžaduje neustálou dostupnost sítě. 100% dostupnost je nemožná, ale většina společností se snaží dosáhnout 99,999% dostupnosti sítě. Tato dostupnost je vyžadována od velmi spolehlivých sítí. Lze si ji představit jako 1 hodinu nedostupnosti přibližně každých 4 000 dní, nebo jinak 5,25 minut nedostupnosti ročně. K dosáhnutí takovéto dostupnosti je nezbytná velmi spolehlivá sít z kvalitních aktivních i pasivních prvků. Spolehlivost sítě je dosažena spolehlivými zařízeními a vhodným návrhem sítě. Síť by měla být navržena tak, aby rychle obešla chybnou část sítě. Příkladem redundance může být třeba auto, které je denně potřeba pro dopravu do práce. Když se porouchá, není možné se dostat autem do práce. Pokud by bylo porouchané auto jen 1 den z 10, může být použito 9dní, tj. 90%. Dostupnost je 90%. Pokud si pořídíme druhé auto a první se porouchá, můžeme jet do práce druhým autem. Druhé auto je nám k ničemu při cestě do práce, dokud se první auto neporouchá. Vytvořili jsme redundanci či zálohu. Dostupnost do práce již není závislá jen na jednom autě. Může se stát, že se porouchají obě auta současně. Ale i kdyby se porouchala současně na 1 den ze 100, druhé auto zvýšilo dostupnost na 99%. 2.2 Redundantní topologie Cílem redundantní topologie je eliminovat výpadek sítě způsobený selháním jediného bodu sítě. Všechny sítě potřebují redundanci pro zvýšení dostupnosti. Mezi příklady redundantní topologie patří třeba silniční síť. Když je jedna cesta uzavřena z důvodu opravy, existuje jiná cesta, kterou se dá dostat k cíli. Dalším příkladem může být most přes řeku. Pokud máme jen jeden jediný most přes řeku, existuje jen jediná cesta na druhou stranu. Není tu redundance. Když se přes most nedá přejet z jakéhokoliv důvodu, nedá se dostat na druhou stranu řeky. Pokud postavíme ještě druhý most, vytvoříme redundanci a druhý břeh je dostupný přes druhý most.
2.3 Redundantní přepínané topologie Sítě s redundantními spoji a zařízeními dosahují vyšších dob bezporuchových stavů (anglicky uptime). Redundantní topologie vylučují selhání jednoho bodu sítě. Když spoj nebo zařízení selže, redundantní spoj nebo zařízení převezme funkci nefunkčního spoje nebo zařízení.
Když přepínač A selže, data mohou být směrována ze segmentu 2 do segmentu 1 a k routeru skrz přepínač B. Přepínače se učí MAC adresy zařízení na svých portech, takže data mohou být správně přeposlána k cíli. Než se naučí MAC adresy zařízení, zahltí (anglicky flood) sít rámci dokud nezjistí, na kterém portu je zařízení připojeno. Broadcasty a multicasty také zahltí síť. Redundantní přepínaná síť může způsobit problémy broadcast storms, multiple frame copies a MAC address table instability.
2.4 Broadcast storms Broadcasty a multicasty mohou způsobit problémy v přepínaných sítích. Přepínače zachází s multicasty stejně jako s broadcasty. Broadcasty a multicasty zaplaví všechny porty kromě portu, ze kterého multicast nebo broadcast dorazil. Když počítač X pošle boradcast, například ARP požadavek pro adresu druhé vrstvy routeru Y, pak přepínač A přepošle broadcast na všechny porty. Přepínač B je na stejném segmentu a také přepošle broadcast na všechny porty. Přepínač B přijme broadcast přeposlaný přepínačem A a přepínač A přijme přeposlaný broadcast přepínačem B a opět přijatý broadcast přepošlou. Přepínače pokračují v přeposílání broadcastu donekonečna. Toto se nazývá broadcast storm. Broadcast storm bude pokračovat dokud se některý z přepínačů neodpojí od sítě. Broadcast storm zabere zdroje sítě a sníží se tok uživatelského provozu. Na síti se to projeví jako nedostupná síť nebo extrémně pomalá.
2.5 Multiple frame transmissions V redundantní přepínané síti je možnost, že koncové zařízení obdrží několikrát rámec.
Za předpokladu, že oba přepínače již nemají MAC záznam Routeru Y a za předpokladu, že Host X má MAC záznam Routeru Y v ARP vyrovnávací paměti a pošle unicastový rámec Routeru Y. Router Y přijme rámec protože je na stejném segmentu sítě jako Host X. Přepínač A nemá MAC záznam Routeru Y proto přijatý rámec pošle na všechny ostatní porty. Přepínač B také neví, na kterém portu je Router Y, proto přijatý rámec od přepínače A přepošle na všechny ostatní porty. To způsobí, že Router Y obdrží několik kopií stejného rámce. To vede ke zbytečnému zatížení sítě.
2.6 Media access control database instability V redundantních přepínaných sítích je možné, že se přepínače naučí špatné informace. Přepínač se může špatně naučit, že MAC adresa je na jednom portu ale ve skutečnosti je na jiném portu.
V tomto příkladu ani jeden přepínač nemá v MAC tabulce záznam. Host X pošle rámec Routeru Y. Oba přepínače si přidají záznam o Hostu X na portu 0 do MAC tabulky. Oba přepínače pošlou rámec pro Router Y na zbylé porty. Na portu 1 obou přepínačů obdrží rámec od Hosta X a nesprávně si zapíší do tabulky, že Host X je na portu 1. Když Router Y pošle rámec Hostu X, oba přepínače rámec přepošlou na port 1, což je zbytečné, ale přepínače mají špatně záznam o umístění Hosta X na portu 1. V tomto příkladu unicastový rámec z Routeru Y k Hostu X bude uvězněn ve smyčce.
3. Spanning-Tree Protocol 3.1 Redundantní topologie a větvící se strom Redundantní síťové topologie jsou navrhovány za účelem funkčnosti sítě i v případě, že selže jeden bod sítě. Každý výpadek by měl být tak krátký, jak je to jen možné. V hlavičce druhé vrstvy není hodnota Time To Live (TTL). Pokud je rámec druhé vrstvy poslán do přepínané sítě se smyčkami, bude tam přeposílán do nekonečna. To vede k plýtvání šířky pásma a vede k nepoužitelnosti sítě. Z výše popsaného vyplývá, že přepínaná síť pro správnou funkci nemůže mít fyzické smyčky. Ale pro zvýšení dostupnosti sítě jsou fyzické smyčky klíčové. Řešením je mít sice fyzické smyčky, ale vytvořit logickou topologii bez smyček. Logická topologie bez smyček se nazývá strom (anglicky tree). Logická topologie je hvězda nebo rozšířená (extended) hvězda. Tato topologie je větvící se strom (anglicky spanning-tree). Jmenuje se tak protože všechny zařízení jsou dostupná přímo nebo přes větve stromu. Algoritmus, který vytvoří logickou topologii bez smyček, se jmenuje spanning-tree algoritmus. Tento algoritmus je časově poměrně náročný. Proto byl vyvinut rapid spanning-tree algoritmus, který spočítá logickou topologii bez smyček rychleji.
3.2 Spanning-tree protokol Přepínače a mosty mohou být popsány standardem IEEE 802.1d Spanning-Tree Protocol a používají spanning-tree algoritmus pro vytvoření logické topologie bez smyček s nejkratší cestou. Nejkratší cesta je založena na vzrůstající ceně linky (link cost) a cena linky je závislá na rychlosti spoje. STP ustanoví kořenový uzel zvaný root bridge a pak vytvoří topologii s jednou cestou ke každému uzlu. Kořenem tohoto stromu je root bridge. Redundantní spoje, které nejsou součástí nejkratší cesty stromu jsou blokovány. Data, která přicházejí na blokované spoje jsou zahozena. Díky tomu vznikne logická topologie bez smyček. STP vyžaduje komunikaci mezi zařízeními, aby detekoval smyčky. Spoje, které vytváří smyčky jsou dány do blokujícího stavu (blocking state). Přepínače posílají zprávy zvané bridge protocol data units (BPDUs) pro získání informací o bezsmyčkové logické topologii. Blokované porty přijímají BPDUs. To zabezpečí, že když selže aktivní cesta nebo zařízení, vypočítá se nový spanning tree. BPDUs obsahují informace, díky kterým mohou přepínače: ● vybrat jeden přepínač, který bude fungovat jako root bridge ● spočítat nejkratší cestu od sebe ke kořenovému přepínači (root bridge) ● stanovit jeden přepínač nejblíže kořenovému přepínači pro každý LAN segment. Tento přepínač je nazýván jako budoucí přepínač (designated switch). Tento přepínač ovládá všechnu komunikaci mezi příslušným LAN segmentem a kořenovým přepínačem. ● vybrat jeden ze svých portů jako kořenový port (root port) pro každý přepínač, který není kořenovým přepínačem. Kořenový port je rozhraní s nejlepší cestou ke kořenovému přepínači. ● nastavit porty, které jsou součástí spanning tree, nazývané budoucí porty (designated ports). Ostatní porty jsou blokovány. 3.3 Role ve Spanning-Tree
Když je síť stabilizována, existuje jediný spanning-tree. Pak na síti existuje: ● jeden root bridge v síti ● jeden root port pro každý non-root bridge ● jeden designated port pro každý segment ● nepoužité (non-designated) porty
Jen root porty a designated porty přeposílají data. Non-designated porty zahazují data. Říká se jim blocking nebo discarding ports. 3.4 Volba Root Bridge První věc, kterou všechny přepínače v síti udělají, je rozpoznání root bridge. Umístění root bridge v síti ovlivní tok dat.
Když je přepínač zapnut, spanning-tree algoritmus rozpozná root bridge. Začne vysílat BPDUs s bridge ID (BID). BID se skládá ze dvou částí. První je bridge priority (standardně 32768), druhou je MAC adresa přepínače. Standardně jsou BPDU posílány každé 2 sekundy. Když přepínač poprvé naběhne po zapnutí, domnívá se, že je root bridge a posílá BPDUs, kde root BID a sender BID jsou shodné. Tyto BPDU jsou považovány za podřadné, protože jsou generovány budoucím přepínačem (designated switch), který ztratil spojení s kořenovým mostem (root bridge). Designated switch posílá BPDUs s informací, že on je root bridge stejně jako designated bridge. Tyto BPDU obsahují MAC adresu přepínače jak v sender BID tak v root BID. Tuto informaci si přečtou všechny přepínače v síti a každý přepínač nahradí vyšší root BID nižším root BID a pošle BPDU dál. Všechny přepínače obdrží BPDUs a rozhodnou, že přepínač s nejnižším root BID bude root bridge. Správce sítě může nastavit prioritu přepínače na nižší hodnotu než je defaultní 32768, čímž zmenší výsledný BID. Pro šíření informací sítí je potřeba čas. Změna topologie v jedné části sítě není známa ihned v ostatních částech sítě díky zpoždění síření (propagation delay). Každý port přepínače, který používá STP, je v jednom z 5ti možných stavů: ● ● ● ● ●
blocking state listening state learning state forwarding state disabled state
V blocking state porty přijímají pouze BPDUs. Data jsou zahazována a přepínač se na tomto portu neučí MAC adresy. V tomto stavu přetrvává maximálně 20 sekund. V listening state přepínač zjišťuje, zda nevede další cesta k root bridge. Cesty, které nemají nejnižší cost path k root bridge se vrátí do blocking state. Doba naslouchání se nazývá forward delay a trvá 15 sekund. Data nejsou přeposílána a MAC adresy se neučí, ale BPDUs se stále zpracovávají. V learning state se učí MAC adresy, ale data stále nejsou přeposílána. BPDUs jsou stále zpracovávána. Trvá 15 sekund a nazývá se také forward delay. Ve forwarding state se přeposílají data, učí se MAC adresy a BPDUs jsou zpracovávána. Port může být i v disaled state. V tomto stavu je port, když je administrátorem vypnut nebo má poruchu. 3.5 Přepočítání Spanning-Tree Přepínaná síť je stabilizována, když všechny porty všech přepínačů jsou buď v forwarding nebo v blocking state. Když se topologie změní, přepínače přepočítají spanning-tree a způsobí přerušení v toku dat. Stabilizace nové spanning-tree topologie, která používá standard IEEE 802.1d může trvat až 50 sekund. Skládá se z blocking state max-age 20 sekund + listening forward delay 15 sekund + learning forward delay 15 sekund.
4. Rapid Spanning-tree protokol Rapid Spanning-tree protokol je definován jako standard IEEE 802.1w a rozšiřuje: ● vyjasnění stavů portů a jejich funkcí ● definice sady typů spojů, které mohou být ve forwarding state mnohem rychleji ● návrh, že přepínače v stabilizovaném stavu sítě generují samy BPDU místo přeposílání BPDU od root bridge Blocking state je přejmenováno na Discarding state a jeho funkce je alternate port, stane se
designated portem pokud selže designated port. Typy spojů byly definovány jako bod-bod (point-to-point), edge-type a shared. Tyto změny umožní rychlejší detekci selhání spoje. Point-to-point a edge-type spoje mohou být ihned v forwarding state. Stabilizace sítě s těmito změnami netrvá déle než 15 sekund.
5. Otázky a) Co je to redundance a dostupnost sítě? b) K čemu slouží Spanning-Tree protokol? c) Kolik je stavů dle IEEE 802.1d, ve kterých se mohou nacházet porty přepínače? d) Jaké jsou tyto stavy? e) Existují i další stavy portů, které nejsou v IEEE 802.1d popsané?
6. Literatura Studijní materiály Cisco Akademie, CCNA3 modul 7