Если вы включите связующее дерево, как вы узнаете, что существует проблема с вашей сетью?

13

Я изучал протокол связующего дерева (STP / RSTP / MSTP), и мне было интересно, как только я включу его, и он защищает, например, от сетевых петель, как я узнаю, что есть сетевая петля?

Я полагаю, что в большинстве случаев это было бы очевидно, потому что комната, в которой находится петля, была бы недоступна, но что если жалоб нет?

Кажется, мне все еще нужен способ узнать, что есть проблема с сетью, такая как эта. Может быть, устройство отправляет какое-то предупреждение, или, может быть, кто-то должен иногда проверять журнал или что-то еще?

Скотт Шреттер
источник

Ответы:

22

Вы просматриваете журналы коммутаторов на наличие событий связующего дерева или настраиваете коммутаторы на отправку прерываний SNMP, когда STP отключает порт.

EEAA
источник
1
Хороший мониторинг тоже это поймет.
LSD
Я думаю, что это очевидный ответ. Я полагаю, я мог бы использовать Splunk и кормить его журналами, и что-то вроде того, что происходит, чтобы отслеживать ловушки snmp и оповещать ...
Скотт Сзреттер
11

Тестирование. Если вы хотите знать, что что-то работает, проверьте это.

После включения STP запланируйте обслуживание сети и подключите кабель к шлейфу. Если сеть все еще работает, то петля была обнаружена STP. Если ваша сеть выходит из строя, то STP не работает.

Крис С
источник
3
+1, потому что почти половина ответов на этом сайте может быть заменена на ваше первое предложение.
родитель
4
Единственная проблема в том, что это не ответ на вопрос, который я задал. В моем случае сеть РАБОТАЕТ. Если связующее дерево было ВЫКЛЮЧЕНО, и у меня был сетевой цикл, он перестал бы работать. При включенном связующем дереве теоретически будет поддерживаться работоспособность сети, так как я узнаю, что, например, существует проблемный цикл, поскольку оборудование маскирует проблему? (ответ выше о snmp / logs пока имеет смысл)
Скотт Сзреттер
2
Если бы вы проверили свои настройки, вы бы знали, если интерфейс управления указывает на петлю сети. Поскольку вы не знаете, вы не должны были проверять свои настройки. В установках, которые я видел, обычно указано, что состояние порта STP указывается в отчетах о состоянии портов «ошибка» или «исключение».
Крис С
5

Связующее дерево не считает цикл "ошибкой". Они являются частью протокола, и он найдет порты, которые вызывают петли, а затем отключит переадресацию на них. Я думаю, что вы пытаетесь использовать протокол, чтобы выяснить, существует ли определенное условие, но это не является его основной целью. «Хорошо спроектированная» сеть может очень хорошо иметь петли обычно (для резервирования). В дополнение к включению статуса связующего дерева событий (или аналога на вашей платформе), подумайте нестандартно. Цикл в вашей сети (если он не отключен связующим деревом) вызовет большие уровни трафика во время широковещательного шторма. Поэтому нарисуйте эти уровни и в своей платформе мониторинга, если вы видите резкий рост трафика, у вас, вероятно, есть петля.

Аарон
источник
Это важно понимать. Многие ошибочно обвиняют связующее дерево в петлях, но вы включаете связующее дерево, чтобы вы могли добавлять петли в вашу сеть для обеспечения избыточности.
Пол Гир
2

Вот некоторые дополнительные моменты, которые следует учитывать в вашей реализации STP / RSTP / MSTP вместе с вашим тестированием:

  1. Установите приоритеты коммутатора, чтобы убедиться, что предварительно определенный коммутатор выбран в качестве корневого, а вторичный назначается для принятия в качестве корневого в случае сбоя основного. Это самая распространенная ошибка, которую я вижу в реализациях связующего дерева.
  2. Любой порт, к которому у вас есть постоянно подключенное устройство (например, сервер, принтер, NAS), должен быть переведен в быстрый режим порта (терминология Cisco; в HP ProCurve это называется пограничным портом), чтобы гарантировать, что у них не будет длительного времени ожидания Конвергенция STP, когда они загружаются.
  3. Для любого порта, к которому вы подключаетесь к пограничному устройству (включая ПК, принтеры, серверы и т. Д.), Должна быть включена защита от root. Это не позволяет людям подключить неправильно настроенный или неавторизованный коммутатор и неожиданно вызвать схождение.
  4. Любой порт, который не является каналом переключения между коммутаторами в вашем контроле (включая ПК, принтеры, маршрутизаторы поставщика услуг), должен иметь защиту BPDU, предпочтительно, чтобы отключить порт при получении STD BPDU. Таким образом вы сразу узнаете, когда люди начинают делать неправильные вещи на ваших пограничных портах.
Пол Гир
источник
Это очень полезный ответ, спасибо. Вы случайно не узнали бы эквивалентные команды HP ProCurve для упомянутых вами точек? В этой ссылке HP отсутствуют рекомендации по вашей лучшей практике h20565.www2.hp.com/hpsc/doc/public/…
g18c
Я сам попробовал ответить на этот вопрос, не стесняйтесь комментировать :) serverfault.com/questions/703386/…
g18c
2

В дополнение к более ранним диагностическим рекомендациям вы также должны научиться интерпретировать выходные данные команды вашего коммутатора «show spanning-tree» (или эквивалентной). Он покажет вам корневой порт, назначенные порты и ряд других важных средств диагностики.

Вот пример сети, которую я только что настроил с 2 x Cisco 2950 и 1 x HP 3400cl. Соединения в сети следующие:

  • hp3400cl [24] -> c2950 [g0 / 2] (1000 Мбит / с)
  • c2950 [f0 / 23] -> c2950b [f0 / 47] (100 Мбит / с)
  • c2950b [f0 / 45] -> hp3400cl [23] (100 Мбит / с)

Все коммутаторы находятся в режиме MSTP, и настроен только общий экземпляр связующего дерева. hp3400cl имеет приоритет 0, c2950 - следующий наивысший приоритет на 8192, а c2950b - последний с приоритетом 12288. Таким образом, hp3400cl должен быть корневым. Вот как выглядит вывод «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 

Важные вещи, которые следует отметить о состояниях портов в приведенном выше списке:

  • Ссылки корневого коммутатора на другие коммутаторы пересылаются
  • Ссылки не корневых коммутаторов на корневой являются «Root FWD» в обоих случаях
  • Ссылка не корневых коммутаторов друг на друга - «Altn BLK» на одном конце и «Desg FWD» на другом; это означает, что c2950b знает, что f0 / 45 является альтернативным маршрутом к корню, и заблокировал его, чтобы предотвратить цикл. В случае сбоя корневого порта (f0 / 47) c2950b установит f0 / 45 в качестве корневого порта без повторного подключения.
Пол Гир
источник