Spanning Tree Protocol basis begrip en lab test
Wat doet het Spanning Tree Protocol
Het spanning Tree protocol is een layer twee techniek die netwerk loops ook wel broadcast storm genaamd voorkomt op je netwerk. Met het Spanning Tree Protocol kan je ook redundantie tussen verschillende switchen gaan opbouwen. En dit is het hoofd doel van het Spanning Tree Protocol. Dit alles gebeurd op layer twee niveau.
Dit betekent dat het Spanning Tree Protocol werkzaam is op eenzelfde netwerk segment.
Het doel van het Spanning Tree Protocol
Het doel van het spanning tree protocol is een redundant netwerk te bouwen tussen netwerk switchen. Je koppelt meerdere switchen in eenzelfde netwerk. Je zorgt ervoor dat er meerdere paden zijn naar de hoofd switch. Als er een probleem is op het path naar de hoofd switch, kan het netwerkverkeer een alternatief path nemen. Op deze manier creëert men redundantie op het netwerk tussen de aangesloten switches. Een tweede functie maar even belangrijk zorgt het spanning tree protocol er ook voor dat er geen loops op het netwerk kunnen gevormd worden. Hierdoor kan je broadcast stormen gaan vermijden.
Indien je niet werkt met het Spanning Tree Protocol
Indien je het Spanning Tree Protocol niet inschakelt op de switchen kan je problemen krijgen. Er kan zich een broadcast storm voordoen die je netwerk totaal plat legt.
Je vraagt je misschien af wat is een broadcast storm eigenlijk? Laat me dat even omschrijven.
Broadcast storm wat is dat
In een netwerk communiceren netwerkapparaten met elkaar. Dit doen ze door broadcast frames uit te zenden naar elkaar. Simpel gezegd gaat ieder netwerktoestel aangesloten op het netwerk zich gaan bekendmaken. Neem als voorbeeld een printer die zich bekent maakt op het netwerk. Die zegt iets zoals "ik ben de printer in dit netwerk en je kan me bereiken via dit MAC-adres". De andere netwerktoestellen gaan op hun beurt een antwoord gaan zenden. Bijvoorbeeld "Aangename kennismaking ik ben de NAS en je kan me bereiken via deze poort en MAC-adres". Na een tijdje sterft deze broadcast uit en wordt het wat stiller op het netwerk. Maar indien het broadcast verkeer niet uitsterft en zich meer en meer gaat vermenigvuldigen ontstaat er een broadcast storm. Het gevolg daarvan is dat het netwerk tergend traag gaat worden. Dit ontstaat als er loops in het netwerk worden gecreëerd.
Voorbeeld van een loop of broadcast storm
In deze screenshot zie je de log file van een Mikrotik router met uitgeschakelde Spanning Tree. Hier zie je de broadcast storm meer gekend als een loop.
Hoe gebeurd de communicatie tussen de switchen
Elke switch communiceert met de andere switches door middel van BPDU frames (Bridge Protocol Data Units). De informatie die de switchen mededelen is het MAC-adres en de prioriteit. Deze twee parameters vormen het bridge-ID. De switch met de laagste bridge-ID wordt de root-bridge. De root-bridge is de switch die de andere switchen gaat coördineren. De root-bridge communiceert met de andere switches. Deze houdt voortdurend de status van de poorten in de gaten van de overige switches. De Spanning Tree configuratie heeft niets te maken met de traditionele failover of VRRP configuraties. Dit omdat alles gebeurd op het layer2 van het OSI model. Zoals je misschien weet werken switchen niet met IP-adressen maar op basis van MAC-adressen. De communicatie gebeurd dus met frames en niet met pakketten.
Spanning Tree Protocol proces
Ik ga ervan uit dat Switch 1de laagste bridge-ID heeft tegenover switch2. In dit geval wordt switch1 de root-bridge en deze heeft de leiding. Op de root bridge zijn alle poorten designated. Dit moet je zeker onthouden. Bij de root bridge zijn alle poorten altijd designated. Zo herken je gemakkelijk de root-bridge is het niet?
Eens de root bridge is vastgesteld begint deze te communiceren met switch2 . Switch2 gaat de status van zijn poorten gaan bekendmaken zodat de root-bridge beslissingen kan gaan maken. Aan de hand van deze communicatie zal de root-bridge een besluit nemen en één poort gaan blokken. Op deze manier voorkomt men loops.
Wat betekend Designated, de Alternate en de Root port
Designated port
De designated port bevindt zich in de forwarding status. Dit wil zeggen dat deze port alle data verkeer toelaat. Dit zowel voor zenden als voor ontvangen. Een belangrijk gegeven is dat alle aangesloten poorten op de root-bridge altijd de designated status hebben.
Root port
De root port is de poort met de laagste path cost naar de root bridge toe. De root port bevindt zich eveneens in de forwarding status. Hierdoor is ook communicatie mogelijk.
Alternate port
De alternate poort is de poort die als reserve poort wordt gebruikt. Deze bevindt zich in de gesloten modus waardoor er geen communicatie mogelijk is. Deze poort wordt gebruikt als alternatief indien zich een panne voordoet op het netwerk. De status van de alternate port kan gaan wijzigen als de root port of als designated port.
Wat is de path cost in het spanning tree protocol
Bij de Mikrotik router is de default Path-cost steeds 10. Aan de hand van de path-cost wordt berekend wat de korste weg is naar de root bridge en welke poort er moet worden gesloten. Dit om de loop in het netwerk te voorkomen. In dit voorbeeld wordt op de switch3 de poort met de path-cost 20 de alternate poort en gaat in de blokking status. De verbindingen tussen de switchen noemt men een segment. En per segment moet er steeds één designated poort zijn. Dit is zowat de techniek van het spanning tree protocol.
Wat je nog moet weten over de spanning tree protocol configuratie vooraleer ik verder ga
Vooraleer ik verder ga met deze uiteenzetting moet je weten dat STP (IEEE 802.1D) al geruime tijd is verouderd. Dit omdat deze te traag is geworden voor de huidige netwerk snelheden. Daarom heeft men het Rapid Spanning Tree Protocol (IEEE 802.1W) ontwikkeld. Deze is veel sneller dan zijn voorganger. Maar de techniek erachter blijft dezelfde.
Achterwaartse compatibiliteit van de verschillende spanning tree is mogelijk
Switches met het Rapid Spanning Tree Protocol zijn achterwaarts compatibel met het verouderde Spanning Tree Protocol. Doch is het niet aangeraden om deze twee technieken te gaan combineren. Dit omdat u dan niet kan profiteren van de veel snellere Rapid Spanning Tree invloeden op je netwerk. RSTP zal uitgeschakeld worden en overgaan naar STP om de compatibiliteit te verwezenlijken.
MAC-adres omzetten in een decimaal getal
Een MAC-adres heeft een hexadecimale waarde. Als wij willen weten wie de laagste waarde, dienen we dit om te zetten van hexadecimaal naar decimaal. Wij kunnen immers hexadecimaal niet goed begrijpen en op deze manier wordt het eenvoudiger gemaakt.
In onderstaande afbeelding gebruiken we de rekenmachine van windows om een hexadecimaal MAC-adres om te zetten naar een decimaal getal . Je selecteert eerst in de rekenmachine hex. We gaan immers een hexadecimale waarde ingeven. Dan vul je het mac adres in, zonder : (dubbele punt) of - (koppelteken). Swich 1 heeft een mac adres B8-69-F4-5D-76-A9. In de rekenmachine vullen we dus gewoon B869F45D76A9 in. Als je nu naar DEC kijkt zie je in het onderstaand voorbeeld dat het decimaal getal 202 765 210 842 793 is. Switch 1 heeft in dit voorbeeld het laagste getal dus wordt switch1 de root bridge. Doch je kan dit gaan manipuleren indien je dat wenst. Jij kan gaan bepalen welke switch de root-bridge wordt. Dit doe je door de parameter prioriteit te gaan aanpassen.
De lab opstelling
In dit lab ga ik gebruik maken van meerdere Mikrotik switchen. Zie onderstaande opstellingen
Situatie 1 is de normaal werkende setup. Al het verkeer van switch 4 verloopt via switch 2 naar de root switch
Situatie 2 is wanneer switch 3 overneemt door een onderbreking van het netwerk. Nu verloopt al het verkeer van switch 4 via switch 3 naar de root switch
Enkel door het instellen van de prioriteiten in de switch kunnen we dit reeds bekomen. Doch dit is hier een zeer simpele toepassing van het Spanning Tree Protocol.
Je kan ook gaan sleutelen aan de parameter path cost om de switch poorten meer naar je hand te zetten. Maar ik hou het hier simpel om duidelijkheid te scheppen.
Switch 1 (root switch) | Prioriteit 1 |
Switch 2 | Prioriteit 100 |
Switch 3 | Prioriteit 200 |
Switch 4 | Prioriteit 1000 |
Situatie 1 (normaal)
Situatie 2 (onderbreking van switch 2)
Door deze instellingen kunnen we al begrijpen dat switch 2 altijd zal 'winnen' van switch 3. Bij normale werking verloopt alle verkeer dus via switch 2.
In geval we de switch 2 uitschakelen of de kabel uittrekken, zal switch 3 automatisch overnemen om netwerkverkeer naar de root switch te blijven behouden.
Dit is nog een zeer eenvoudige Spanning Tree configuratie omdat er nog geen gebruik wordt gemaakt van poort prioriteit instellingen. Als basis behandel ik juist de prioritering van de switchen en de root bridge.
Hoe Spanning Tree configureren in Mikrotik
Deze video toont je de volledige configuratie inclusief het aansluiten van de netwerkkabels en demo. Deze Spanning Tree Lab test laat je alvast zien hoe je een redundant netwerk opbouwt door RSTP de aangesloten switchen te laten managen. Dit door gebruik te maken van prioriteit instellingen op de bridge → STP