Introduzione
In questo documento vengono descritti i timer del protocollo Spanning Tree Protocol (STP) e le regole da usare per regolarli.
Introduzione
In questo documento viene descritto solo come regolare i timer STP per lo Spanning Tree regolare 802.1D. In questo documento non viene descritto il protocollo RSTP (Rapid STP) (IEEE 802.1w) o MST (Multiple Spanning Tree) (IEEE 802.1s).
Per ulteriori informazioni sui protocolli RSTP e MST, consultare questi documenti:
Prerequisiti
Requisiti
Questo documento presuppone una buona comprensione dell'STP. Per ulteriori informazioni sul funzionamento di STP, consultare il documento sulla descrizione e configurazione dello Spanning Tree Protocol (STP) sugli switch Catalyst.
Attenzione: È possibile utilizzare questo documento per risolvere i problemi di rete, ma solo se si ha familiarità con il processo o se qualcuno che ha familiarità con il processo vi ha indirizzato. Se non si ha dimestichezza con STP, le modifiche apportate possono causare una delle seguenti situazioni:
- Instabilità
- Rallentamenti delle applicazioni
- Picchi della CPU
- Fusione LAN
Fare riferimento agli standard 802.1D - IEEE per le reti locali e metropolitane: Bridge MAC (Media Access Control)
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Convenzioni
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Timer Spanning Tree Protocol
Sono disponibili diversi timer STP, come illustrato nell'elenco seguente:
-
ciao: l'ora di ciao è l'intervallo di tempo tra ciascuna BDPU (Bridge Protocol Data Unit) inviata su una porta. Per impostazione predefinita, questa durata è pari a 2 secondi (sec), ma è possibile impostare un valore compreso tra 1 e 10 secondi.
-
ritardo di inoltro: il ritardo di inoltro è il tempo trascorso nello stato di ascolto e apprendimento. Per impostazione predefinita, questo tempo è pari a 15 secondi, ma è possibile impostare un valore compreso tra 4 e 30 secondi.
-
max age: il timer di max age controlla il periodo di tempo massimo che deve trascorrere prima che una porta bridge salvi le informazioni BPDU di configurazione. Per impostazione predefinita, questa durata è di 20 secondi, ma è possibile impostare un intervallo di tempo compreso tra 6 e 40 secondi.
Ogni BPDU di configurazione contiene questi tre parametri. Inoltre, ciascuna configurazione BPDU contiene un altro parametro relativo all'ora, noto come pagina dei messaggi.
La durata del messaggio non è un valore fisso. La pagina dei messaggi contiene l'intervallo di tempo trascorso dal momento in cui il bridge radice ha originato inizialmente la BPDU.
Il bridge radice invia tutti i relativi BPDU con un valore di durata dei messaggi pari a 0, e tutti gli switch successivi aggiungono 1 a questo valore.
In effetti, questo valore contiene le informazioni sulla distanza dal bridge radice quando si riceve una BPDU. In questo diagramma viene illustrato il concetto:

Quando si riceve una nuova BPDU di configurazione uguale o superiore alle informazioni registrate sulla porta, vengono memorizzate tutte le informazioni BPDU.
Inizia l'esecuzione del timer dell'età. Il timer durata inizia alla data del messaggio ricevuta nella configurazione BPDU.
Se il timer della durata raggiunge la durata massima prima di ricevere un'altra BPDU che aggiorna il timer, le informazioni per quella porta non sono più disponibili.
Di seguito è riportato un esempio applicabile al diagramma di questa sezione:
-
Gli switch B e C ricevono una configurazione BPDU dallo switch A con un messaggio di validità pari a 0. Sulla porta che raggiunge il valore A, le informazioni scadono in (validità massima - 0) secondi. Per impostazione predefinita, questa durata è di 20 secondi.
-
Gli switch D ed E ricevono la BPDU dallo switch B con un messaggio di validità pari a 1. Sulla porta che va allo switch B, le informazioni scadono in (età massima - 1) secondi. Per impostazione predefinita, questa durata è di 19 secondi.
-
Lo switch F riceve la BPDU dallo switch E con un messaggio datato 2. Sulla porta che va allo switch E, le informazioni scadono in (età massima - 2) secondi. Per impostazione predefinita, questa durata è di 18 secondi.
Altri parametri dello Spanning Tree Protocol
IEEE 802.1D definisce STP. Oltre ai timer descritti nella sezione Timer protocollo Spanning Tree, IEEE definisce anche questi parametri relativi a STP:
-
diametro del dominio STP (dia) — Questo valore è il numero massimo di ponti tra due punti di collegamento di stazioni terminali. Si consiglia di prendere in considerazione un diametro massimo di sette bridge per i timer STP predefiniti.
-
ritardo di transito ponte (ritardo di transito): questo valore indica il tempo trascorso tra la ricezione e la trasmissione dello stesso fotogramma da parte del ponte. Questa è logicamente la latenza attraverso il ponte. La raccomandazione dell'IEEE è di considerare 1 secondo come il massimo ritardo di transito del ponte.
-
Ritardo di trasmissione BPDU (bpdu_delay): questo valore indica il ritardo tra il momento in cui una BPDU viene ricevuta su una porta e il momento in cui la BPDU di configurazione viene effettivamente trasmessa a un'altra porta. L'IEEE consiglia 1 secondo come ritardo massimo di trasmissione BPDU.
-
sovrastima incremento età messaggio (msg_overestimation): questo valore è l'incremento che ciascun bridge aggiunge alla durata del messaggio prima di inoltrare una BPDU. Come indicato nella sezione Spanning Tree Protocol Timer, gli switch Cisco (e probabilmente tutti gli switch) aggiungono 1 secondo alla pagina dei messaggi prima che gli switch inoltrino una BPDU.
-
lost message (lost_msg): questo valore è il numero di BPDU che possono andare perse quando una BPDU si sposta da un'estremità della rete con bridge all'altra. Si consiglia di utilizzarne tre come numero di BPDU che possono essere perse.
-
ritardo di interruzione della trasmissione (Tx_halt_delay): questo valore indica il tempo massimo necessario a un bridge per spostare in modo efficace una porta nello stato di blocco dopo aver determinato che la porta deve essere bloccata. Si consiglia di utilizzare 1 secondo per questo parametro.
-
ritardo accesso medio (med_access_delay): questo valore indica il tempo necessario a una periferica per accedere al supporto per la trasmissione iniziale. È il tempo tra la decisione della CPU di inviare un frame e il momento in cui il frame inizia effettivamente a lasciare il bridge. Si consiglia di utilizzare 0,5 secondi come tempo massimo.
Da questi parametri è possibile calcolare altri valori. In questo elenco vengono forniti i parametri aggiuntivi e i calcoli. I calcoli presuppongono l'utilizzo dei valori IEEE consigliati predefiniti per tutti i parametri.
-
Ritardo di propagazione BPDU end-to-end: questo valore indica il periodo di tempo necessario affinché una BPDU passi da un'estremità della rete all'altra. Si supponga che il diametro sia pari a sette hop, che tre BPDU possano andare perduti e che il tempo di benvenuto sia di 2 secondi. In questo caso, la formula è:
End-to-end_BPDU_propa_delay
= ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1))
= ((3 + 1) x hello) + ((1 x (dia – 1))
= 4 x hello + dia – 1
= 4 x 2 + 6
= 14 sec
-
Sovrastima età messaggio: lo scopo di questo parametro è tenere conto dell'età della BPDU dalla creazione. Si supponga che ciascun bridge aumenti la durata dei messaggi BPDU di 1 secondo. La formula è:
Message_age_overestimate
= (dia – 1) x overestimate_per_bridge
= dia – 1
= 6
-
Durata massima frame: questo valore indica il tempo massimo per cui un frame inviato in precedenza alla rete bridge rimane nella rete prima che il frame raggiunga la destinazione. La formula è:
Maximum_frame_lifetime
= dia x transit_delay + med_access_delay
= dia + 0.5
= 7.5
= 8 (rounded)
-
Ritardo massimo di interruzione della trasmissione: questo valore indica il tempo necessario per bloccare una porta in modo efficace, dopo aver deciso di bloccarla. IEEE conta 1 secondo come valore massimo per questo evento. La formula è:
Maximum_transmission_halt_delay
= 1
Valori predefiniti dei timer del protocollo Spanning Tree
In questa sezione viene descritto come raggiungere il valore predefinito per la durata massima e il ritardo in avanti se si utilizza il valore consigliato per ogni parametro.
I valori consigliati sono un diametro di sette e un tempo di benvenuto di 2 secondi.
età massima
L'età massima tiene conto del fatto che lo switch che si trova alla periferia della rete non imposta il timeout delle informazioni principali in condizioni stabili, ovvero se la radice è ancora attiva.
Il valore di durata massima deve tenere conto del ritardo totale della propagazione BPDU e della sovrastima della durata dei messaggi. Pertanto, la formula per l'età massima è:
max_age
= End-to-end_BPDU_propa_delay + Message_age_overestimate
= 14 + 6
= 20 sec
Questo calcolo mostra in che modo IEEE raggiunge il valore consigliato predefinito per la durata massima.
ritardo di inoltro
Lo spostamento di una porta nello stato di ascolto indica che la topologia STP attiva è stata modificata e che una porta va da blocco a blocco.
I periodi di ascolto e di apprendimento in cui viene eseguito il ritardo di inoltro devono quindi coprire questo periodo consecutivo:
-
Tempo trascorso tra il momento in cui la prima porta del bridge entra nello stato di ascolto (e vi rimane fino alla successiva riconfigurazione) e il momento in cui l'ultimo bridge nella LAN con bridging sente la modifica nella topologia attiva
Inoltre, è necessario contare lo stesso ritardo utilizzato per calcolare la durata massima (sovrastima della durata dei messaggi e ritardo della propagazione BPDU).
-
Tempo impiegato dall'ultimo bridge per interrompere l'inoltro dei frame ricevuti nella topologia precedente (ritardo massimo di interruzione della trasmissione), fino alla scomparsa dell'ultimo frame inoltrato nella topologia precedente (durata massima del frame)
Questo periodo di tempo è necessario per essere certi di non ottenere fotogrammi duplicati.
Pertanto, il doppio del tempo di ritardo di inoltro (tempo di ascolto + tempo di apprendimento) contiene tutti questi parametri. La formula è:
2 x forward delay
= end-to-end_BPDU_propagation_delay + Message_age_overestimate +
Maximum_frame_lifetime + Maximum_transmission_halt_delay
= 14 + 6 + 7.5 + 1 = 28.5
forward_delay
= 28.5 /2
= 15 (rounded)
Sintonizza timer di ritardo e durata massima
Tra tutti questi parametri, gli unici che è possibile regolare sono:
Nota: La possibilità di regolare questi parametri dipende dalla rete.
Non modificare alcun valore dell'elenco. Mantenere questi valori al valore IEEE consigliato:
Questi valori possono sembrare piuttosto conservativi in una rete moderna, in cui è improbabile che si perdano tre BPDU o che si abbia 1 secondo di latenza per un frame tramite switch.
Tuttavia, è importante ricordare che questi valori esistono per evitare loop STP che possono verificarsi in condizioni di sollecitazione, quali:
Pertanto, è necessario considerare questi parametri come valori fissi. Se si utilizzano le formule mostrate nella sezione Valori predefiniti dei timer del protocollo Spanning Tree, si avranno:
max_age
= End-to-end_BPDU_propa_delay + Message_age_overestimate
= ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) + (dia – 1) x overestimate_per_
bridge
= (4 x hello) + dia – 1 + dia – 1
= (4 x hello) + (2 x dia) – 2
forward_delay
= (End-to-end_BPDU_propa_delay + Message_age_overestimate +
Maximum_frame_lifetime + Maximum_transmission_halt_delay ) / 2
= ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) + ((dia – 1)
x overestimate_per_bridge) + (dia x transit_delay) + med_access_delay
+ Maximum_transmission_halt_delay) / 2
= ((4 x hello) + dia – 1 + dia – 1 + dia + 0.5 + 1) / 2
= ((4 x hello) + (3 x dia) – 0.5) / 2
Questi calcoli lasciano a disposizione le due formule finali seguenti (se si arrotonda il valore 0,5):
max_age = (4 x hello) + (2 x dia) – 2
forward_delay = ((4 x hello) + (3 x dia)) / 2
Se si desidera ottimizzare i timer STP per ottenere un tempo di convergenza migliore, è necessario utilizzare queste due formule.
Ecco un esempio. Se il diametro di una rete con bridging è quattro, è necessario utilizzare i seguenti parametri:
hello = 2 (default) then
max_age = 14 sec
forward_delay = 10 sec
If hello = 1 then
max_age = 10 sec
forward_delay = 8 sec
Nota: hello = 1 è il valore più basso. Non è possibile sintonizzare questo parametro su un valore inferiore a 10 secondi per l'età massima e a 8 secondi per il ritardo in avanti se il diametro è uguale a quattro.
Riduzione del tempo di benvenuto a 1 secondo
Una riduzione del tempo di benvenuto a 1 secondo è il modo più semplice e sicuro per diminuire i parametri STP.
Tuttavia, tenere presente che se si riduce l'ora di benvenuto da 2 a 1 secondo, si raddoppia il numero di BPDU inviati/ricevuti da ciascun bridge.
Questo aumento provoca un carico aggiuntivo sulla CPU, che deve elaborare un numero doppio di BPDU. Questo carico può essere un problema se si hanno più VLAN e trunk.
Calcolare il diametro
Il diametro dipende completamente dal progetto della rete. Il diametro è il numero massimo di switch attraversati per collegare due switch qualsiasi nella rete con bridging (incluse l'origine e la destinazione), nei casi peggiori. Quando si determina il diametro, non si interseca due volte lo stesso interruttore. Nel diagramma della sezione Timer del protocollo Spanning Tree di questo documento, è presente un diametro di 5 (percorso F-E-B-A-C).
Ora, guardate il diagramma in questa sezione.
Il diagramma contiene alcuni switch di accesso (switch C, D ed E) che si connettono a due switch di distribuzione (switch A e B).
Esiste un limite di layer 3 (L3) tra gli switch di distribuzione e il core. Il dominio con bridging viene arrestato sui commutatori di distribuzione. Il diametro dell'STP è 5:

Come si evince dallo schema, non esiste una coppia di switch con un diametro superiore a 5.
Modifica dei timer del protocollo Spanning Tree
Come indicato nella sezione Spanning Tree Protocol Timers, ciascuna BPDU include i timer hello, forward delay e max age STP.
Un bridge IEEE non è interessato dalla configurazione locale del valore dei timer. Il bridge IEEE considera il valore dei timer nella BPDU che riceve il bridge.
Di fatto, è importante solo un timer configurato sul bridge radice dell'STP. Se si perde la directory principale, la nuova directory principale inizierà a imporre il valore del timer locale sull'intera rete.
Pertanto, anche se non è necessario configurare lo stesso valore di timer nell'intera rete, è necessario configurare almeno le modifiche di timer sul bridge radice e sul bridge radice di backup.
Se si utilizza uno switch Cisco con software Catalyst OS (CatOS), alcune macro consentono di impostare la radice e di ottimizzare i parametri in base alle formule.
Usare il comandoset spantree root vlan dia diameter hello hello_time
per impostare il diametro e l'ora del saluto. Di seguito è riportato un esempio:
Taras> (enable) set spantree root 8 dia 4 hello 2
VLAN 8 bridge priority set to 8192.
VLAN 8 bridge max aging time set to 14.
VLAN 8 bridge hello time set to 2.
VLAN 8 bridge forward delay set to 10.
Switch is now the root switch for active VLAN 8.
Se è stato configurato il diametro di rete STP, il valore del diametro configurato non viene visualizzato nella configurazione o nell'output di alcunshow
comando.
Informazioni correlate