Si vous activez le spanning-tree, comment savez-vous qu'il y a un problème avec votre réseau?

13

J'ai appris sur le protocole Spanning Tree (STP / RSTP / MSTP) et je me demandais, une fois que je l'ai allumé et qu'il protège contre par exemple les boucles réseau, comment savoir s'il y a une boucle réseau?

Je suppose que dans la plupart des cas, ce serait évident, car la pièce dans laquelle se trouve la boucle serait en panne, mais qu'en est-il s'il n'y a pas de plainte?

Il semble que je voudrais encore un moyen de savoir qu'il existe un problème de réseau comme celui-ci. Peut-être que l'appareil envoie une sorte d'alerte, ou peut-être que quelqu'un doit consulter un journal ou autre chose à l'occasion?

Scott Szretter
la source

Réponses:

22

Vous surveillez vos journaux de commutateur pour les événements de spanning tree, ou configurez vos commutateurs pour envoyer des interruptions SNMP lorsque STP ferme un port.

EEAA
la source
1
Un bon suivi va aussi le comprendre.
lsd
Je suppose que c'est la réponse évidente. Je suppose que je pourrais utiliser Splunk et le nourrir de journaux, et quelque chose comme quoi pour surveiller les pièges snmp et alerter ...
Scott Szretter
11

Essai. Si vous voulez savoir que quelque chose fonctionne, testez-le.

Une fois que vous avez activé STP, planifiez la maintenance du réseau et branchez un câble dans une boucle. Si le réseau fonctionne toujours, la boucle a été détectée par STP. Si votre réseau tombe en panne, STP ne fonctionne pas.

Chris S
la source
3
+1, car près de la moitié des réponses sur ce site pourraient être remplacées par votre première phrase.
gparent
4
Le seul problème est que ce n'est pas la réponse à la question que j'ai posée. Dans mon cas, le réseau FONCTIONNE. Si Spanning Tree était désactivé et que j'avais une boucle réseau, cela cesserait de fonctionner. Avec Spanning Tree activé, cela permettrait théoriquement au réseau de fonctionner, alors comment savoir s'il y a une boucle de problème par exemple, car l'équipement masquerait le problème? (la réponse ci-dessus à propos de snmp / logs à ce jour est logique)
Scott Szretter
2
Si vous aviez testé votre configuration, vous sauriez si l'interface de gestion indiquait la boucle réseau. Puisque vous ne savez pas, vous ne devez pas avoir testé votre configuration. Il est courant dans les configurations que j'ai vues que l'état STP d'un port soit indiqué avec les rapports d'état "erreur" ou "exception" des ports.
Chris S
5

Spanning Tree ne pense pas qu'une boucle soit une "erreur". Ils font partie du protocole et il trouvera les ports qui provoquent les boucles, puis désactivera le transfert sur eux. Je pense que vous essayez d'utiliser un protocole pour savoir si une certaine condition existe, mais ce n'est pas vraiment son objectif principal. Un réseau "bien conçu" peut très bien avoir des boucles normalement (pour la redondance). En plus d'activer le statut d'arbre couvrant des événements de journalisation (ou l'équivalent sur votre plate-forme), sortez des sentiers battus. Une boucle dans votre réseau (si elle n'est pas désactivée par le Spanning Tree) provoquera des niveaux de trafic importants lors d'une tempête de diffusion. Donc, représentez graphiquement ces niveaux et dans votre plate-forme de surveillance si vous voyez une forte augmentation du trafic, vous avez probablement une boucle.

Aaron
la source
C'est important à comprendre. Beaucoup de gens blâment par erreur Spanning Tree pour les boucles, mais vous activez Spanning Tree pour pouvoir ajouter des boucles à votre réseau pour la redondance.
Paul Gear
2

Voici quelques éléments supplémentaires à considérer dans votre implémentation STP / RSTP / MSTP avec vos tests:

  1. Définissez vos priorités de commutateur pour vous assurer qu'un commutateur prédéterminé est choisi comme racine et qu'un secondaire est désigné pour prendre le relais en tant que racine en cas de défaillance du principal. C'est l'erreur la plus courante que je vois dans les implémentations de Spanning Tree.
  2. Tout port sur lequel vous avez un périphérique connecté en permanence (par exemple, un serveur, une imprimante, un NAS) doit être mis en mode rapide de port (terminologie Cisco; dans HP ProCurve, il est appelé port de périphérie) pour vous assurer qu'il n'a pas un long temps d'attente pour Convergence STP au démarrage.
  3. Tout port sur lequel vous vous connectez à un périphérique périphérique (y compris les PC, les imprimantes, les serveurs, etc.) doit avoir le root protection activé. Cela empêche les gens de connecter un commutateur mal configuré ou non autorisé et de provoquer une reconvergence de manière inattendue.
  4. Tout port qui n'est pas une liaison de commutateur à commutateur sous votre contrôle (y compris les PC, les imprimantes, les routeurs des fournisseurs de services) doit avoir la protection BPDU activée, de préférence réglée pour désactiver le port lorsqu'un BPDU STP est reçu. De cette façon, vous découvrez immédiatement quand les gens commencent à faire les mauvaises choses sur vos ports périphériques.
Paul Gear
la source
C'est une réponse très utile merci. Par hasard, vous ne connaissez pas les commandes équivalentes HP ProCurve pour les points que vous avez mentionnés? Ce lien HP ne contient
g18c
J'ai moi-même essayé de
g18c
2

En plus des suggestions de diagnostic précédentes, vous devez également apprendre à interpréter la sortie de la commande "show spanning-tree" de votre commutateur (ou équivalent). Il vous montrera le port racine, les ports désignés et un certain nombre d'autres diagnostics importants.

Voici un exemple de réseau que je viens de configurer avec 2 x Cisco 2950 et 1 x HP 3400cl. Les connexions dans le réseau sont les suivantes:

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

Les commutateurs sont tous en mode MSTP, avec uniquement l'instance d'arbre couvrant commune configurée. hp3400cl a la priorité 0, c2950 est la deuxième priorité la plus élevée à 8192 et c2950b est le dernier avec la priorité 12288. Donc, hp3400cl devrait être la racine. Voici à quoi ressemble la sortie "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 

Les points importants à noter sur les états du port dans la liste ci-dessus sont:

  • Les liens du commutateur racine vers d'autres commutateurs sont transférés
  • Les liens des commutateurs non root vers la racine sont "Root FWD" dans les deux cas
  • Le lien entre les commutateurs non root est "Altn BLK" à une extrémité et "Desg FWD" à l'autre; cela signifie que c2950b sait que f0 / 45 est une route alternative à la racine et l'a bloquée pour empêcher la boucle. Si le port racine (f0 / 47) échoue, le c2950b définira f0 / 45 comme port racine sans reconverger.
Paul Gear
la source