Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

  1. Установите приоритеты коммутатора, чтобы гарантировать, что предварительно определенный коммутатор будет выбран в качестве корневого, а вторичный назначен в качестве корневого в случае отказа основного. Это самая распространенная ошибка, которую я вижу в реализациях связующего дерева.
  2. Любой порт, к которому у вас есть постоянно подключенное устройство (например, сервер, принтер, NAS), должен быть переведен в быстрый режим порта (терминология Cisco; в HP ProCurve он называется пограничным портом), чтобы у них не было длительного времени ожидания для Схождение STP при загрузке.
  3. На любом порту, через который вы подключаетесь к пограничному устройству (включая ПК, принтеры, серверы и т. Д.), Должна быть включена защита root. Это предотвращает подключение неправильно настроенного или неавторизованного коммутатора и неожиданное повторное схождение.
  4. Любой порт, который не является связью между коммутаторами под вашим контролем (включая ПК, принтеры, маршрутизаторы поставщика услуг), должен иметь включенную защиту BPDU, предпочтительно настроенную на отключение порта при получении STP BPDU. Таким образом, вы сразу узнаете, когда люди начинают делать неправильные вещи с вашими граничными портами.

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

Вот пример сети, которую я только что настроил с двумя Cisco 2950 и одним 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 в качестве корневого порта без повторного схождения.