Spanning Tree e troubleshooting Layer 2: progettare ridondanza e diagnosticare i loop
Comprendere STP/RSTP, osservare la convergenza, selezionare il Root Bridge e affrontare i guasti Layer 2 con una metodologia strutturata e supportata dall’AI.
1. Perché nasce il problema dei loop Layer 2
Una rete Ethernet ridondata può contenere più percorsi tra gli stessi switch. La ridondanza è utile: se un collegamento si interrompe, un altro può mantenere disponibile il percorso. Ma a Layer 2 esiste un problema importante: Ethernet non dispone di un meccanismo TTL equivalente a quello presente nei pacchetti IP che impedisca a un frame di continuare a circolare indefinitamente.
Immaginiamo tre switch collegati a triangolo. Un broadcast generato da un host può essere ricevuto da uno switch e propagato sugli altri collegamenti. Senza un meccanismo di prevenzione, il traffico può rientrare nel dominio e continuare a essere replicato.
Quando guardi una topologia ridondata, non chiederti solo «quale collegamento funziona?». Chiediti anche: «quali percorsi Layer 2 esistono contemporaneamente?». È questa domanda che porta naturalmente a STP.
Due switch possono essere collegati con più percorsi per aumentare la resilienza. Se la progettazione non considera STP o un'adeguata aggregazione dei link, una modifica apparentemente innocua può introdurre un loop e rendere instabile l'intera LAN.
2. Ridondanza: vantaggio e rischio
La ridondanza consiste nel predisporre percorsi o componenti alternativi che permettono alla rete di continuare a funzionare in caso di guasto. A Layer 2, però, la presenza di percorsi fisici alternativi deve essere governata per evitare loop.
Più percorsi
Un secondo collegamento può diventare disponibile quando il principale fallisce.
Loop Layer 2
Più percorsi attivi possono creare cicli di forwarding indesiderati.
STP/RSTP
Il protocollo costruisce una topologia logica senza loop, mantenendo la ridondanza fisica.
Ridondanza fisica e forwarding simultaneo non sono la stessa cosa. STP può mantenere un collegamento fisicamente presente ma porlo in uno stato che impedisce il forwarding dei frame, pronto a essere utilizzato se la topologia cambia.
3. STP: l'idea fondamentale
Spanning Tree Protocol (STP) permette agli switch Layer 2 di costruire una topologia logica ad albero, evitando loop di forwarding. L'idea è semplice: se esistono più percorsi, STP deve determinare quali utilizzare e quali mantenere temporaneamente non attivi.
Il risultato è una rete in cui esiste un Root Bridge e ogni switch determina il percorso migliore verso il root. Le porte assumono ruoli precisi e le BPDU permettono agli switch di condividere le informazioni necessarie.
3.1 BPDU
Le BPDU (Bridge Protocol Data Units) sono messaggi utilizzati dagli switch per scambiarsi informazioni relative alla topologia STP.
Attraverso le BPDU gli switch possono confrontare informazioni sul root, sul percorso verso il root e sui parametri utilizzati per la selezione. Per il troubleshooting, quindi, è importante non vedere STP come una configurazione statica: è un processo distribuito tra gli switch.
3.2 Root Bridge
Il Root Bridge è il punto di riferimento logico dello spanning tree. Gli altri switch scelgono i propri percorsi migliori verso di esso.
In una rete progettata correttamente, il root non dovrebbe essere scelto casualmente. Normalmente si decide quale switch debba svolgere questo ruolo e si configura la priorità in modo coerente con il progetto.
3.3 Root Port e Designated Port
Su uno switch non-root, è la porta che offre il miglior percorso verso il Root Bridge. Uno switch non-root normalmente ha un solo Root Port per istanza STP.
È la porta selezionata per il forwarding su un determinato segmento. È quella che rappresenta il percorso designato verso il root per quel segmento.
Per imparare i ruoli non memorizzarli come una lista isolata. Disegna tre switch, identifica il root e poi chiediti, su ogni switch e su ogni segmento, quale percorso è migliore?. Il ruolo della porta emerge dal ragionamento.
4. Come STP sceglie il percorso
La selezione del percorso dipende da una serie di confronti ordinati. Il concetto centrale è il Bridge ID, insieme al costo del percorso verso il root e agli identificativi delle porte e dei bridge utilizzati per risolvere eventuali parità.
4.1 Bridge ID
Il Bridge ID è uno degli elementi utilizzati da STP per identificare e confrontare gli switch nella selezione del Root Bridge. In termini concettuali comprende una bridge priority e un identificativo MAC; nelle implementazioni moderne intervengono anche i meccanismi legati al System ID Extension.
Quando gli switch partecipano all'elezione, vince il bridge con il Bridge ID migliore, cioè numericamente più basso. La priorità configurabile è quindi uno strumento fondamentale per influenzare la scelta.
4.2 Root Path Cost
Una volta individuato il root, ogni switch deve determinare il percorso migliore per raggiungerlo. Il Root Path Cost rappresenta il costo complessivo del percorso verso il Root Bridge.
Se uno switch dispone di due percorsi verso il root, non basta guardare quale porta «sembra più vicina». STP confronta i parametri del percorso. Se i costi differiscono, il percorso con costo migliore viene preferito; se c'è una parità, entrano in gioco ulteriori criteri di confronto.
Non pensare che «la porta con numero più basso diventa sempre Root Port». Il numero della porta può entrare nei criteri di spareggio, ma solo dopo i criteri precedenti. Prima bisogna comprendere root, costo e identificativi coinvolti.
5. Stati delle porte e convergenza
Con STP classico, una porta non passa immediatamente dal collegamento fisico al forwarding. Il protocollo attraversa stati che permettono alla rete di stabilizzare la topologia e ridurre il rischio di loop durante i cambiamenti.
Niente forwarding
La porta non inoltra frame dati e non apprende MAC come una porta in forwarding.
Preparazione
La topologia viene valutata e, nello stato learning, la tabella MAC può iniziare a essere popolata.
Traffico operativo
La porta partecipa al forwarding secondo il ruolo determinato da STP.
In STP classico esiste anche lo stato Disabled, che indica una porta non partecipante al processo operativo STP.
Durante una prova in Packet Tracer osserva la topologia subito dopo aver collegato i cavi e poi dopo qualche secondo. La rete non va interpretata come una fotografia: STP è dinamico e ha un tempo di convergenza.
6. RSTP: evoluzione di STP
Rapid Spanning Tree Protocol (RSTP), definito da IEEE 802.1w e successivamente integrato nell'evoluzione dello standard IEEE 802.1D/802.1Q, mantiene l'obiettivo di prevenire i loop ma introduce un comportamento più rapido nella gestione dei cambiamenti di topologia.
Rispetto a STP classico, RSTP riduce la dipendenza dai lunghi tempi di transizione e utilizza ruoli e meccanismi più efficienti per portare rapidamente i collegamenti nello stato appropriato.
Approccio tradizionale, con una convergenza più lenta e stati classici come blocking, listening, learning e forwarding.
Approccio più rapido, con ruoli e meccanismi progettati per accelerare la transizione dopo i cambiamenti della topologia.
STP e RSTP perseguono lo stesso obiettivo fondamentale: impedire i loop Layer 2 mantenendo una rete ridondata. La differenza principale riguarda il modo e la rapidità con cui gestiscono la convergenza.
7. Selezionare il Root Bridge
In una rete reale è buona pratica progettare quale switch debba diventare Root Bridge, invece di lasciare che la scelta derivi semplicemente dalla situazione presente.
Per influenzare l'elezione si può intervenire sulla bridge priority. Un valore di priorità più basso rende il bridge più competitivo nell'elezione del root.
Il comando è un esempio didattico: il valore appropriato dipende dal progetto e dalle VLAN/istanze STP effettivamente utilizzate.
Se uno switch di accesso diventa root per errore, il traffico Layer 2 può seguire percorsi non desiderati. La rete può continuare a funzionare, ma con una topologia meno efficiente. Per questo il root deve essere una decisione progettuale, non un effetto collaterale.
8. Verifica con Cisco IOS
Nel troubleshooting STP il primo obiettivo è trasformare la topologia fisica in evidenze osservabili. Non bisogna iniziare modificando la configurazione: prima si osserva lo stato.
Chi è il root?
Verifica quale switch viene riconosciuto come Root Bridge.
Quali ruoli?
Identifica Root Port, Designated Port e porte non in forwarding.
La scelta è coerente?
Confronta lo stato STP con la topologia fisica e con il progetto.
Quando usi show spanning-tree, non limitarti a leggere «forwarding» o «blocking». Cerca il Root ID, il Bridge ID, i ruoli delle porte e i costi. La diagnosi nasce dalla relazione tra questi dati.
9. Troubleshooting Layer 2
Un problema STP non va affrontato cambiando comandi a caso. La metodologia deve partire dai sintomi e arrivare progressivamente alla causa.
Topologia, stato porte, Root Bridge, ruoli STP, MAC table, collegamenti fisici.
Ad esempio: root inatteso, link down, costo inatteso, configurazione STP incoerente.
Un comando o una verifica alla volta, definendo prima quale risultato ci aspettiamo.
Il risultato del test deve aumentare o ridurre la probabilità dell'ipotesi.
Una volta identificata la causa, si applica la correzione, si verifica nuovamente la convergenza e si documenta il risultato.
Non usare il comando spanning-tree portfast indiscriminatamente sui collegamenti tra switch. PortFast è destinato tipicamente alle porte verso endpoint e va usato secondo il ruolo della porta e il progetto.
10. Fault Injection e AI
La parte più importante del troubleshooting non è trovare subito il comando corretto, ma imparare a dimostrare perché una determinata causa spiega il comportamento osservato. L'AI può aiutare a organizzare il ragionamento, ma non deve sostituire le evidenze raccolte in Packet Tracer.
Non chiedere all'AI «risolvi il problema STP». Fornisci invece topologia, sintomo, configurazione, output dei comandi e vincoli. Chiedile di proporre ipotesi verificabili, una alla volta, indicando il comando da eseguire, il risultato atteso e come interpretarlo.
«Agisci come tutor di troubleshooting Cisco Layer 2. Non inventare dati mancanti e non fornire subito la soluzione finale. Analizza solo le informazioni che ti fornisco. Separa fatti osservati, ipotesi e conclusioni. Per ogni ipotesi proponi un solo test alla volta, indicando comando, risultato atteso e interpretazione. Considera in particolare Root Bridge, Root Port, Designated Port, BPDU, costo del percorso, stato delle interfacce e convergenza STP/RSTP. Dopo ogni risultato aggiorna la probabilità delle ipotesi. Solo quando una causa è sufficientemente supportata, proponi la correzione e indica come verificare che la rete sia tornata stabile.»
Per un'attività di Fault Injection, il docente può introdurre intenzionalmente un errore, ad esempio:
- modificare la priority dello switch sbagliato;
- spegnere un collegamento ridondato;
- alterare una configurazione STP su una VLAN;
- inserire una configurazione incoerente sulle porte coinvolte;
- creare una situazione in cui il percorso osservato non coincide con quello progettato.
Lo studente deve raccogliere le evidenze, formulare almeno due ipotesi, progettare test discriminanti e usare l'AI come assistente metodologico.
11. Errori comuni da evitare
La ridondanza è una caratteristica progettuale positiva. Il loop è un comportamento indesiderato che la ridondanza può introdurre se non viene gestita.
Prima bisogna capire cosa sta succedendo. Un comando senza ipotesi è spesso solo un tentativo casuale.
Il root deve essere determinato dal progetto e dai criteri STP, non dalla posizione grafica dello switch nella topologia.
Una porta può essere fisicamente up ma avere un ruolo STP che ne impedisce il forwarding. Layer 1 e STP sono livelli differenti e vanno analizzati insieme.
L'AI può suggerire ipotesi e test, ma la prova deve arrivare dagli output reali di Cisco Packet Tracer. Se un dato non è stato osservato, non va trattato come un fatto.
12. Ponte con la parte pratica
Nella parte pratica costruiremo una topologia ridondata con più switch e osserveremo direttamente come STP determina il Root Bridge e quali porte partecipano al forwarding.
La sequenza sarà:
Topologia
Costruiamo i collegamenti ridondati e osserviamo lo stato iniziale.
Root Bridge
Modifichiamo la priorità e verifichiamo l'effetto sulla topologia.
Fault Injection
Introduciamo guasti e li diagnostichiamo con comandi Cisco e AI.
Vuoi passare all'azione? Accedi alla repository ufficiale GitHub del corso per scaricare il file del laboratorio pratico in formato .md. Troverai la traccia per costruire la rete in Cisco Packet Tracer ed eseguire le attività di Fault Injection guidate dall'Intelligenza Artificiale!
13. Riepilogo e autoverifica
Al termine della parte teorica dovresti essere in grado di spiegare perché una rete Layer 2 ridondata può generare loop e perché STP costruisce una topologia logica priva di loop.
- So spiegare il problema dei loop Layer 2?
- So descrivere il ruolo delle BPDU?
- So identificare il Root Bridge?
- So distinguere Root Port e Designated Port?
- So spiegare il concetto di Root Path Cost?
- So distinguere STP e RSTP?
- So verificare lo stato STP con i comandi Cisco principali?
- So formulare un'ipotesi di troubleshooting prima di modificare la configurazione?
- So usare l'AI per progettare test verificabili senza inventare dati?
Un tecnico di rete non si limita a «far tornare verde» la topologia. Deve saper spiegare perché una porta è forwarding o non forwarding, perché uno switch è root e quali evidenze dimostrano che la rete è stabile dopo la correzione.