如果打开生成树,您怎么知道网络存在问题?

如果打开生成树,您怎么知道网络存在问题?

我一直在学习生成树协议(STP/RSTP/MSTP),并且想知道,一旦我打开它并且它可以防止例如网络环路,我怎么知道存在网络环路?

我想在大多数情况下这都是显而易见的,因为环路所在的房间会关闭,但如果没有投诉怎么办?

看来我还是想找到一种方法来了解是否存在这样的网络问题。也许是设备发送了某种警报,或者也许有人偶尔需要检查日志或其他东西?

答案1

您可以查看交换机日志中的生成树事件,或者配置交换机在 STP 关闭端口时发送 SNMP 陷阱。

答案2

测试。如果你想知道某件事是否有效,你就要测试它。

启用 STP 后,安排网络维护并将电缆插入环路。如果网络仍在运行,则 STP 检测到了环路。如果您的网络出现故障,则 STP 不起作用。

答案3

生成树并不认为循环是“错误”。它们是协议的一部分,它会找到导致循环的端口,然后禁用这些端口上的转发。我认为您正试图使用​​协议来查明是否存在某种情况,但这并不是它的主要目的。一个“设计良好”的网络很可能正常情况下存在循环(为了冗余)。除了打开日志事件生成树状态(或平台上的等效项)外,还要跳出思维定式。网络中的循环(如果未被生成树禁用)将导致广播风暴中的大量流量。因此,绘制这些级别的图表,如果您在监控平台上看到流量急剧上升,则可能是出现了循环。

答案4

除了前面的诊断建议之外,您还应该学会解读交换机“show spanning-tree”命令(或等效命令)的输出。它将向您显示根端口、指定端口和许多其他重要的诊断信息。

这是我刚刚设置的一个示例网络,其中包含 2 个 Cisco 2950 和 1 个 HP 3400cl。网络中的连接如下:

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

所有交换机都处于 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 设置为根端口,而无需重新收敛。

相关内容