Questo documento descrive i timer del protocollo Spanning Tree Protocol (STP) e le regole da seguire per regolarli.
Nota: in questo documento viene descritto solo come ottimizzare 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:
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 lo ha indirizzato. Se non si ha familiarità 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: Media Access Control (MAC) Bridge (Clausola 8) per ulteriori dettagli e riferimenti su tutti i parametri discussi in questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Sono disponibili diversi timer STP, come illustrato nell'elenco seguente:
hello: l'ora di benvenuto è 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 intervallo di tempo compreso tra 1 e 10 secondi.
ritardo in avanti (forward delay) - Il ritardo in avanti è il tempo trascorso nello stato di ascolto e apprendimento. Per impostazione predefinita, questa durata è pari a 15 secondi, ma è possibile impostare un intervallo di tempo 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 configurazione BPDU 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'età del messaggio di 0. Sulla porta che va allo switch A, le informazioni scadono in (età massima - 0) sec. 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 A, le informazioni scadono in (età massima - 1) sec. Per impostazione predefinita, questa durata è di 19 secondi.
Lo switch F riceve la BPDU dallo switch E con un messaggio di età pari a 2. Sulla porta che va allo switch E, le informazioni scadono in (età massima - 2) sec. Per impostazione predefinita, questa durata è di 18 secondi.
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 attacco qualsiasi delle stazioni terminali. Si consiglia di prendere in considerazione un diametro massimo di sette bridge per i timer STP predefiniti.
ritardo transito ponte (ritardo transito) - Questo valore indica il tempo trascorso tra la ricezione e la trasmissione dello stesso frame da parte del ponte. Questa è logicamente la latenza attraverso il ponte. Si consiglia di considerare 1 sec come ritardo massimo di transito del bridge.
Ritardo di trasmissione BPDU (bpdu_delay): questo valore rappresenta 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 sec 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 sec 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 arresto trasmissione (Tx_halt_delay): questo valore indica il tempo massimo necessario a un bridge per portare in modo efficace una porta nello stato di blocco dopo aver determinato che deve essere bloccata. Si consiglia di utilizzare 1 sec per questo parametro.
ritardo accesso medio (med_access_delay) - Questo valore indica il tempo necessario a un dispositivo 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 sec 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 tempo necessario per consentire a una BPDU di viaggiare 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 necessario per il saluto sia di 2 sec. 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 sec. 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 quella 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 sec come massimo per questo evento. La formula è:
Maximum_transmission_halt_delay = 1
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 saluto di 2 sec.
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 come IEEE raggiunge il valore consigliato predefinito per la durata massima.
Lo spostamento di una porta nello stato di ascolto indica che è presente una modifica nella topologia STP attiva e che una porta passerà dal blocco all'inoltro. Pertanto, i periodi di ascolto e apprendimento durante i quali viene eseguito il ritardo devono coprire questo periodo consecutivo:
Tempo trascorso tra il momento in cui la prima porta bridge entra in 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 (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)
Tra tutti questi parametri, gli unici che è possibile regolare sono:
Nota: la possibilità di regolare questi parametri dipende dalla rete.
salve—Da 1 a 6
età massima
ritardo di inoltro
diametro - Dipende dalla rete.
Non modificare alcun valore dell'elenco. Mantenere questi valori al valore IEEE consigliato:
lost_msg = 3
transit_delay = 1
bpdu_delay = 1
msg_overestimation = 1
Tx_halt_delay = 1
med_access_delay = 0,5
maximum_transmission_halt_delay = 1
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:
Utilizzo CPU molto elevato
Una porta sovraccarica
È pertanto necessario considerare questi parametri come valori fissi. Se si utilizzano le formule illustrate 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 sintonizzare i timer STP per ottenere un tempo di convergenza migliore, è necessario seguire rigorosamente 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 regolare questo parametro al di sotto di 10 secondi per l'età massima e di 8 secondi per il ritardo in avanti se il diametro è pari a 4.
Una riduzione del tempo di benvenuto a 1 sec è il modo più semplice e sicuro per diminuire i parametri STP. Tuttavia, tenere presente che se si riduce l'orario di benvenuto da 2 sec a 1 sec, 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.
Il diametro dipende completamente dal progetto della rete. Il diametro è il numero massimo di switch attraversati per collegare due switch qualsiasi nella rete con bridge (inclusi origine e 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:
C-A-D-B-E
D-A-C-B-E
Come si evince dallo schema, non esiste una coppia di switch con un diametro superiore a 5.
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. Per impostare il diametro e l'ora del saluto, eseguire il comando set spantree root vlan dia diametro hello_time. 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 alcun comando show.