Guida MikroTik
Interfacce, switching e VLANIntermedio

STP, RSTP e MSTP: protezione dai loop e convergenza rapida

Come configurare Spanning Tree Protocol (STP/RSTP/MSTP) su RouterOS v7 per prevenire loop di rete, scegliere il root bridge, proteggere le porte access con BPDU guard e ottimizzare la convergenza.

Lo Spanning Tree Protocol (STP e le sue evoluzioni RSTP, MSTP) è il meccanismo che previene i loop di rete nelle topologie con percorsi ridondanti. Un loop su una rete L2 causa broadcast storm: il traffico cresce esponenzialmente fino a saturare completamente le porte. RouterOS v7 usa RSTP come default (convergenza in ~1-2 secondi) ed è consigliato rispetto al vecchio STP (30+ secondi).

Elezione del Root Bridge

Il bridge con priorità più bassa diventa il Root Bridge. La priorità deve essere multiplo di 4096 (standard IEEE 802.1W). Se due bridge hanno la stessa priorità, vince quello con MAC address più basso — risultato non deterministico. Configurare sempre esplicitamente la priorità sul root bridge desiderato.

Impostare il bridge come Root primario e secondario
# Root Bridge primario: priorità 4096 (più bassa tra i valori validi non-zero)
/interface/bridge
set bridge1 protocol-mode=rstp priority=0x1000

# Root Bridge secondario (failover): priorità 8192
# /interface/bridge
# set bridge2 protocol-mode=rstp priority=0x2000

# Verificare quale bridge è Root
/interface/bridge/monitor bridge1

Configurazione porte: edge, point-to-point e path-cost

  • edge=yes (o auto): porta che va direttamente verso un host finale — salta gli stati Listening e Learning, entra subito in Forwarding. Ideale per porte access con singoli PC/CPE.
  • point-to-point=yes (o auto): link full-duplex tra due switch — abilita Rapid Transition di RSTP per convergenza immediata.
  • path-cost: costo del percorso verso il root. Minore = preferito. Default basato sulla velocità della porta: 1Gbps=20000, 10Gbps=2000.
Configurazione porte STP ottimizzata
/interface/bridge/port

# Uplink trunk verso switch core: ottimizzato per RSTP
set [find interface=ether1]     edge=no     point-to-point=yes     path-cost=20

# Porte access verso clienti/CPE: edge port
set [find interface=ether2] edge=yes point-to-point=yes
set [find interface=ether3] edge=yes point-to-point=yes
set [find interface=ether4] edge=yes point-to-point=yes

BPDU Guard: proteggere le porte access da loop

bpdu-guard=yes è una funzionalità di sicurezza critica: se una porta con bpdu-guard riceve un BPDU (il frame di controllo STP), disabilita automaticamente la porta (err-disabled). Questo previene che un utente colleghi uno switch non gestito creando un loop, o che un attaccante invii BPDU per destabilizzare la topologia STP.

Abilitare BPDU Guard sulle porte access
# Abilita bpdu-guard: se arriva un BPDU, la porta si disabilita
/interface/bridge/port
set [find interface=ether2] bpdu-guard=yes
set [find interface=ether3] bpdu-guard=yes
set [find interface=ether4] bpdu-guard=yes

# Verificare porte in stato disabled per BPDU guard
/interface/bridge/port print where status=inactive

MSTP: Spanning Tree per topologie VLAN

MSTP (802.1s) estende RSTP permettendo di mappare gruppi di VLAN su istanze STP separate (MSTI — Multiple Spanning Tree Instance), ciascuna con il proprio root bridge. Vantaggi: load balancing del traffico su più percorsi fisici per VLAN diverse, convergenza per VLAN indipendente. Richiede vlan-filtering=yes sul bridge.

Configurazione MSTP base con due istanze
# Passare a MSTP (con vlan-filtering già abilitato)
/interface/bridge
set bridge1 protocol-mode=mstp priority=0x1000     region-name="WISP-CORE" region-revision=1

# Istanza MSTI 1: gestisce VLAN 10,20 — root su questo bridge
/interface/bridge/msti
add bridge=bridge1 identifier=1 priority=0x1000     vlan-mapping=10,20

# Istanza MSTI 2: gestisce VLAN 30,40 — root su bridge secondario
add bridge=bridge1 identifier=2 priority=0x8000     vlan-mapping=30,40

# Monitorare stato MSTP
/interface/bridge/monitor bridge1
/interface/bridge/msti/monitor 1
ATTENZIONE: tutti i bridge nella stessa regione MSTP devono avere identici region-name e region-revision. Una discrepanza fa sì che i bridge vengano visti come regioni separate, con effetti indesiderati sulla topologia. Verificare sempre con /interface/bridge/monitor.
BEST PRACTICE: su reti di produzione WISP non lasciare le priorità STP ai valori di default (32768 su tutti). Scegli consapevolmente quale switch è il root bridge e impostagli priorità 4096. Agli access switch assegna valori crescenti (8192, 16384). Documenta la topologia.
STPRSTPMSTPSpanning TreeloopBPDUbpdu-guardroot bridgeedge portconvergenzabridge prioritypath-cost

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS