如何防止可能的循环?

网络工程 思科 转变 生成树
2021-07-09 06:42:59

开关回路

我在 Cisco 2960 上启用了生成树 bpduguard,但似乎非托管交换机没有生成树协议。任何其他配置来防止循环?

2个回答

生成树是旨在检测和防止循环的协议。bpduguard 用于访问端口——连接到最终用户/机器(单个节点)的端口。为 bpduguard 配置的端口在接收到 bpdu 时被禁用——任何 bpdu。[1][2]因此,在通往简单交换机(又名“集线器”)的端口上启用此功能会带来麻烦,一旦连接到该“集线器”的任何人发送 bpdu,2960 将禁用该端口通向它——切断“枢纽”和与之相连的一切。

最好的选择是让 2960 上的生成树像往常一样工作。如果您希望端口立即在链路上传递流量——从而绕过正常的 stp 发现阶段——启用portfast但否则,请关闭 bpduguard。

[1] https://supportforums.cisco.com/document/45136/importance-bpdu-guard-and-bpdu-filter
[2] http://www.cisco.com/c/en/us/support/docs /lan-switching/spanning-tree-protocol/10586-65.html

首先,请注意 BPDU Guard(和 BPDU 过滤器)仅对同时启用了 portfast 的端口有效(如果全局启用)。如果未启用 portfast,除非直接应用于端口,否则 BPDU Guard 将不起作用。

根据我的经验,非管理型交换机在 BPDU 方面有两种风格。

  1. 正常产生、中继或转发 BPDU 的交换机。
  2. 丢弃或无法中继 BPDU 的交换机。

在第一种情况下,BPDU 防护将在它看到生成树 BPDU 的瞬间禁用该端口,即使该 BPDU 不是它自己的(因此是一个循环)。如图所示,BPDU 防护将禁用两个端口,因为 2960 将发送一个 BPDU 从两个端口输出,这将被非管理型交换机反射到相反的端口。

在第二种情况下,如果交换机本身不参与 STP,这将导致 L2 环路。根据您的环境,有多种方法可以缓解这种情况下的循环。随意混合搭配。

  1. 风暴控制- 在启用之前确保您了解此功能,因为配置错误可能会导致正常流量被错误丢弃。这通常发生在硬件中,并使用多播、广播和单播流量的阈值来抑制超过阈值的流量。
  2. 端口安全- 为每个端口的 MAC 地址数设置一个合理的最大值。通常,环路会导致许多主机的流量通过链路传输,从而导致配置的违规模式生效。
  3. DHCP 侦听- 在端口上设置适当的 DHCP 侦听速率限制将导致端口在超过该限制时错误禁用。对于访问端口,这通常可能非常低,但请注意,安全软件的某些功能可能会产生过多的 DHCP 流量(例如,至少一个主要的安全软件供应商具有一项功能,允许它“扫描”本地网络以寻找受感染的主机)。

还有其他环路保护方法,例如环路保护,但这些是我能想到的方法,可以在您描述的情况下提供帮助。