Skip to content

Se si attiva lo spanning tree, come si fa a sapere che c'è un problema nella rete?

È essenziale interpretare bene il codice prima di applicarlo al tuo progetto e se hai qualcosa da contribuire puoi commentarlo.

Soluzione:

Soluzione 1:

Si osservano i log degli switch per gli eventi di spanning tree o si configurano gli switch per inviare trap SNMP quando STP chiude una porta.

Soluzione 2:

Test. Se si vuole sapere che qualcosa funziona, lo si prova.

Una volta abilitato STP, programmare la manutenzione della rete e inserire un cavo in un loop. Se la rete funziona ancora, il loop è stato rilevato da STP. Se la rete si interrompe, allora STP non funziona.


Soluzione 3:

Spanning tree non ritiene che un loop sia un "errore". Sono parte del protocollo e troverà le porte che causano loop e quindi disabiliterà l'inoltro su di esse. Credo che si stia cercando di usare un protocollo per scoprire se esiste una certa condizione, ma questo non è il suo scopo principale. Una rete "ben progettata" può benissimo avere normalmente dei loop (per la ridondanza). Oltre ad attivare la registrazione dello stato di spanning-tree degli eventi (o l'equivalente sulla vostra piattaforma), pensate fuori dagli schemi. Un loop nella rete (se non disattivato dallo spanning tree) causerà grandi livelli di traffico in una tempesta di broadcast. Quindi, tracciate un grafico di questi livelli e, nella vostra piattaforma di monitoraggio, se notate un forte aumento del traffico, probabilmente si tratta di un loop.


Soluzione 4:

Ecco alcuni elementi aggiuntivi da considerare nell'implementazione di STP/RSTP/MSTP e nei test:

  1. Impostare le priorità degli switch per garantire che uno switch predeterminato sia eletto come root e che un secondario sia designato per assumere il ruolo di root in caso di guasto del primario. Questo è l'errore più comune che vedo nelle implementazioni di spanning tree.
  2. Tutte le porte in cui è presente un dispositivo collegato in modo permanente (ad esempio un server, una stampante, un NAS) dovrebbero essere messe in modalità port fast (terminologia Cisco; in HP ProCurve si chiama edge port) per garantire che non abbiano un lungo tempo di attesa per la convergenza STP all'avvio.
  3. Qualsiasi porta in cui ci si connette a un dispositivo edge (compresi PC, stampanti, server e così via) dovrebbe avere il root guard abilitato. In questo modo si evita di collegare uno switch mal configurato o non autorizzato e di causare una riconvergenza inaspettata.
  4. Qualsiasi porta che non sia un collegamento da switch a switch nel vostro controllo (compresi i PC, le stampanti, i router dei fornitori di servizi) dovrebbe avere BPDU guard abilitato, preferibilmente impostato per disabilitare la porta quando viene ricevuta una BPDU STP. In questo modo si scopre immediatamente quando le persone iniziano a fare cose sbagliate sulle porte edge.

Soluzione 5:

Oltre ai suggerimenti diagnostici precedenti, si dovrebbe anche imparare a interpretare l'output del comando "show spanning-tree" del proprio switch (o equivalente). Il comando mostra la porta root, le porte designate e una serie di altre importanti informazioni diagnostiche.

Ecco un esempio di rete appena configurata con 2 Cisco 2950 e 1 HP 3400cl. Le connessioni della rete sono le seguenti:

  • hp3400cl [24] -> c2950 [g0/2] (1000 Mbps)
  • c2950 [f0/23] -> c2950b [f0/47] (100 Mbps)
  • c2950b [f0/45] -> hp3400cl [23] (100 Mbps)

Gli switch sono tutti in modalità MSTP, con solo l'istanza di spanning tree comune impostata. hp3400cl ha priorità 0, c2950 ha la priorità più alta a 8192 e c2950b è l'ultimo con priorità 12288. Quindi hp3400cl dovrebbe essere la radice. Ecco come appare l'output di "show spanning-tree":

hp3400cl# show spanning-tree 

 Multiple Spanning Tree (MST) Information

  STP Enabled   : Yes
  Force Version : MSTP-operation
  IST Mapped VLANs : 1-4094
  Switch MAC Address : 001871-8bd020
  Switch Priority    : 0    
  Max Age  : 6 
  Max Hops : 20
  Forward Delay : 4 

  Topology Change Count  : 4           
  Time Since Last Change : 4 mins      

  CST Root MAC Address : 001871-8bd020
  CST Root Priority    : 0           
  CST Root Path Cost   : 0           
  CST Root Port        : This switch is root

  IST Regional Root MAC Address : 001871-8bd020
  IST Regional Root Priority    : 0           
  IST Regional Root Path Cost   : 0           
  IST Remaining Hops            : 20          

  Root Guard Ports : 
  TCN Guard Ports  : 
  BPDU Protected Ports :                                         
  BPDU Filtered Ports  :                                         

                  |           Prio             | Designated    Hello         
  Port  Type      | Cost      rity  State      | Bridge        Time  PtP Edge
  ----- --------- + --------- ----- ---------- + ------------- ----- --- ----
  1     100/1000T | Auto      128   Disabled   |
...
  22    100/1000T | Auto      128   Disabled   |
  23    100/1000T | 200000    128   Forwarding | 001871-8bd020 1     Yes No  
  24    100/1000T | 20000     128   Forwarding | 001871-8bd020 1     Yes No  

c2950#show spanning-tree 

MST00
  Spanning tree enabled protocol mstp
  Root ID    Priority    0
             Address     0018.718b.d020
             Cost        20000
             Port        26 (GigabitEthernet0/2)
             Hello Time   1 sec  Max Age  6 sec  Forward Delay  4 sec

  Bridge ID  Priority    8192   (priority 8192 sys-id-ext 0)
             Address     000c.308f.7f80
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
...
Fa0/24           Desg FWD 200000    128.24   P2p 
Gi0/2            Root FWD 20000     128.26   P2p Bound(RSTP) 

c2950b#show spanning-tree 

MST00
  Spanning tree enabled protocol mstp
  Root ID    Priority    0
             Address     0018.718b.d020
             Cost        20000
             Port        47 (FastEthernet0/47)
             Hello Time   1 sec  Max Age  6 sec  Forward Delay  4 sec

  Bridge ID  Priority    12288  (priority 12288 sys-id-ext 0)
             Address     000a.b7e3.30c0
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/45           Altn BLK 200000    128.45   P2p Bound(RSTP) 
Fa0/47           Root FWD 200000    128.47   P2p 

Le cose importanti da notare sugli stati delle porte nell'elenco precedente sono:

  • I collegamenti dello switch root agli altri switch sono in inoltro
  • I collegamenti degli switch non root alla radice sono "Root FWD" in entrambi i casi
  • I collegamenti degli switch non root sono "Altn BLK" da un lato e "Desg FWD" dall'altro; ciò significa che c2950b sa che f0/45 è un percorso alternativo alla radice e l'ha bloccata per evitare il loop. Se la porta root (f0/47) si guasta, c2950b imposterà f0/45 come porta root senza riconvertire.

Ti invitiamo ad aggiungere valore ai nostri contenuti collaborando con la tua esperienza nelle recensioni.



Utilizzate il nostro motore di ricerca

Ricerca
Generic filters

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.