Spanning Tree Protocol (STP) använder både tidsinställningar (timers) och porttillstånd (states) för att styra hur nätverket konvergerar och för att säkerställa en loopfri topologi. Timers avgör hur snabbt förändringar upptäcks och hanteras, medan porttillstånden beskriver hur en port beter sig under denna process.
STP-porttillstånd
STP använder flera porttillstånd för att förhindra loopar och säkerställa att endast säkra vägar används i nätverket.
| Tillstånd | Operativt | Funktion |
|---|---|---|
| Blocking | Ja | Tar emot BPDU, blockerar trafik |
| Listening | Ja | Beräknar topologi |
| Learning | Ja | Lär MAC-adresser |
| Forwarding | Ja | Skickar trafik |
| Disabled | Nej | Administrativt avstängd |
Förklaring av porttillstånd
I blocking-tillståndet vidarebefordrar porten ingen användartrafik. Den tar endast emot BPDU-ramar för att kunna avgöra sin roll i topologin och förhindra loopar.
När en port kan bli aktiv övergår den först till listening-tillståndet. I detta läge deltar porten aktivt i STP-beräkningen genom att skicka och ta emot BPDU, men den vidarebefordrar fortfarande ingen trafik.
Därefter går porten in i learning-tillståndet. Här börjar switchen bygga upp sin MAC-adresstabell baserat på inkommande ramar. Trots detta skickas fortfarande ingen användardata vidare.
Först när dessa steg är slutförda går porten in i forwarding-tillståndet, där den blir fullt aktiv och kan både skicka och ta emot trafik.
Det finns även ett disabled-tillstånd, där porten är administrativt avstängd och varken deltar i STP eller vidarebefordrar trafik.

Varför behövs flera tillstånd?
Det är mycket viktigt att en port inte går direkt från blocking till forwarding. Om detta skulle ske finns en risk att nätverket ännu inte har en korrekt bild av topologin, vilket kan leda till tillfälliga loopar, broadcast storms och instabilitet.
De mellanliggande tillstånden (listening och learning) fungerar därför som en säkerhetsmekanism, där switcharna får tid att utbyta och verifiera topologiinformation innan trafik tillåts.
STP-konvergens och timers
Konvergens i STP innebär att nätverket anpassar sig till en förändring i topologin och räknar fram en ny loopfri struktur. Under konvergens kan portar byta roll och tillstånd tills nätverket åter är stabilt.
Konvergens startar när något förändras i nätverket, till exempel:
- En länk går upp eller ner (länkfel)
- En switch startas eller kopplas in
- Root bridge förändras
- BPDUs förändras eller slutar tas emot
STP-konvergens styrs av tre viktiga timers som tillsammans avgör hur snabbt nätverket anpassar sig till förändringar.
- Hello Timer anger hur ofta BPDU-ramar skickas i nätverket. Standardvärdet är 2 sekunder. Dessa BPDU genereras av rotbryggan och vidarebefordras av övriga switchar i nätverket. Timern sätts av rotbrygga och distribueras i BPDU.
- Max Age Timer definierar hur länge en switch anser att mottagen STP-information är giltig. Om en switch inte tar emot BPDU inom standardtiden på 20 sekunder betraktas informationen som föråldrad, och switchen påbörjar en ny beräkning av topologin. Timern sätts av Root Bridge och distribueras i BDPU.
- Forward Delay Timer anger hur länge en port stannar i tillstånden listening och learning. Standardvärdet är 15 sekunder per tillstånd.
Hur timers påverkar konvergens
Dessa timers samverkar för att skapa en stabil och kontrollerad konvergensprocess. Vid en förändring i nätverket kan det ta upp till cirka 50 sekunder innan en port går från blocking till forwarding:
- upp till 20 sekunder (Max Age) för att upptäcka förändringen
- 15 sekunder i listening
- 15 sekunder i learning
Central styrning
Alla timer-värden bestäms av rotbryggan och distribueras till övriga switchar via BPDU. Detta säkerställer att hela nätverket använder samma tidsparametrar och därmed konvergerar konsekvent.
Designrekommendation
På grund av de relativt långa konvergenstiderna i klassisk STP rekommenderar IEEE att nätverkets diameter inte överstiger sju switchar. Detta minskar risken för långsamma omberäkningar och instabilitet.