Se você ativar a spanning tree, como você sabe que há um problema com sua rede?

13

Eu tenho aprendido sobre spanning tree protocol (STP / RSTP / MSTP) e fiquei imaginando, uma vez que eu o liguei e ele está protegendo contra, por exemplo, loops de rede, como eu sei que existe um loop de rede?

Suponho que, na maioria dos casos, seria óbvio, porque a sala em que o loop está seria desativada, mas e se não houver nenhuma reclamação?

Parece que eu ainda gostaria de saber que existe um problema de rede como este. Talvez o dispositivo esteja enviando algum tipo de alerta, ou talvez alguém tenha que checar um log ou alguma outra coisa ocasionalmente?

    
por Scott Szretter 18.01.2013 / 20:43

5 respostas

22

Você assiste seus logs de comutação para eventos de árvore de abrangência ou configura seus comutadores para enviar interceptações de SNMP quando o STP encerra uma porta.

    
por 18.01.2013 / 20:59
11

Teste. Se você quiser saber que algo está funcionando, teste-o.

Depois de ativar o STP, programe a manutenção da rede e conecte um cabo em um loop. Se a rede ainda estiver funcionando, o loop foi detectado pelo STP. Se a sua rede ficar inativa, o STP não está funcionando.

    
por 18.01.2013 / 21:01
5

Spanning tree não acha que um loop é um "erro". Eles fazem parte do protocolo e encontrarão as portas que causam loops e desativarão o encaminhamento sobre elas. Acho que você está tentando usar um protocolo para descobrir se uma determinada condição existe, mas esse não é realmente o objetivo principal. Uma rede "bem projetada" pode muito bem ter loops normalmente (para redundância). Além de ativar o registro do status da árvore de abrangência de eventos (ou o equivalente em sua plataforma), pense fora da caixa. Um loop em sua rede (se não for desativado pela árvore de abrangência) causará grandes níveis de tráfego em uma tempestade de transmissão. Então, faça um gráfico desses níveis e, em sua plataforma de monitoramento, se houver um aumento acentuado no tráfego, você provavelmente terá um loop.

    
por 21.01.2013 / 18:42
2

Aqui estão algumas coisas extras a considerar em sua implementação de STP / RSTP / MSTP junto com seus testes:

  1. Defina as prioridades do seu switch para garantir que um switch predeterminado seja eleito como root e um secondary seja designado para assumir como root se o primary falhar. Este é o erro mais comum que vejo nas implementações de árvore de abrangência.
  2. Qualquer porta em que você tenha um dispositivo conectado permanentemente (por exemplo, um servidor, impressora, NAS) deve ser colocada no modo de porta rápida (terminologia da Cisco; no HP ProCurve é chamada de porta de borda) para garantir que não tempo de espera para convergência STP quando eles são inicializados.
  3. Qualquer porta em que você se conecta a um dispositivo de borda (incluindo PCs, impressoras, servidores, etc.) deve ter a proteção de raiz ativada. Isso impede que as pessoas conectem um comutador mal configurado ou não autorizado e causem reconvergência inesperada.
  4. Qualquer porta que não seja um switch switch-to-switch em seu controle (incluindo PCs, impressoras, roteadores de provedores de serviços) deve ter o protetor BPDU ativado, preferencialmente configurado para desabilitar a porta quando um BPDU STP for recebido. Desta forma, você descobre imediatamente quando as pessoas começam a fazer as coisas erradas em suas portas de ponta.
por 23.01.2013 / 02:13
2

Além das sugestões de diagnóstico anteriores, você também deve aprender a interpretar a saída do comando "show spanning-tree" do seu switch (ou equivalente). Ele mostrará a porta raiz, as portas designadas e vários outros diagnósticos importantes.

Aqui está um exemplo de rede que acabei de configurar com 2 x Cisco 2950 e 1 x HP 3400cl. As conexões na rede são as seguintes:

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

Os comutadores estão todos no modo MSTP, com apenas a instância da árvore de abrangência comum configurada. hp3400cl tem prioridade 0, c2950 é a próxima prioridade mais alta em 8192 e c2950b é a última com prioridade 12288. Portanto, hp3400cl deve ser a raiz. Veja como fica a saída "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 

As coisas importantes a serem observadas sobre os estados da porta na listagem acima são:

  • Os links do switch raiz para outros switches estão encaminhando
  • Os links dos switches não raiz para a raiz são "Root FWD" nos dois casos
  • O link dos switches não-raiz é "Altn BLK" em uma extremidade e "Desg FWD" na outra; isto significa que o c2950b sabe que f0 / 45 é uma rota alternativa para a raiz e o bloqueou para evitar o loop. Se a porta raiz (f0 / 47) falhar, o c2950b irá definir f0 / 45 como porta raiz sem reconverter.
por 23.01.2013 / 02:21