首先,我要说跨树是一件好事。它使您免于循环的麻烦,而这将完全关闭网络。但是必须正确配置它才能正常工作。我无法数出客户打电话给我的次数,绝望的网络崩溃,而我的回答是:“听起来像是一棵生成树问题。”

事情可能有很多错误 生成树。在本文中,我收集了一些重复出现的主题。

  1. 完全不配置生成树
  2. 就像我说的,生成树是一件好事。但是由于某种原因,许多交换机供应商默认都将其禁用。因此,开箱即用,您可能必须启用该协议。

    有时候人 故意禁用生成树。禁用生成树的最常见原因是原始 802.1D生成树协议 从端口变为活动状态到开始传递流量,(STP)都要经过相当长的等待时间。这个等待时间(通常为45秒)足够长,DHCP可以放弃尝试为此新设备获取IP地址的尝试。

    解决该问题的一种方法是简单地禁用交换机上的生成树。这是错误的解决方案。

    正确的解决方案是配置一个称为 思科交换机上的PortFast。 (大多数交换机供应商都具有类似的功能。)您可以在连接到工作站等最终设备的所有端口上配置命令“ spanning-tree portfast”。然后,他们自动绕过等待时间,DHCP正常工作。

    不过,仅在连接到终端设备的端口上配置此命令很重要。连接到其他交换机的端口需要交换生成树信息。

  3. 让网络选择您的根桥
  4. 顾名思义, 生成树可解决网络中的环路 通过在交换机之间创建逻辑树结构。一台交换机成为树的根,称为根桥。然后,所有其他交换机找出到达根网桥的最佳路径。

    如果有多个路径,则在每台交换机上,生成树会选择最佳路径,并将所有其他端口置于阻塞状态。这样,网络上的任何两个设备之间都只有一条路径,尽管这可能相当circuit回。

    参与生成树的每个交换机都具有网桥优先级。优先级最低的交换机将成为根桥。如果平局,则桥ID编号最低的交换机获胜。 ID号通常从交换机上的MAC地址得出。

    问题在于,默认情况下,每个交换机具有相同的优先级值(32768)。因此,如果您没有在特定的交换机上手动配置更好(较低)的网桥优先级值,则网络会简单地为您选择一个根。然后适用墨菲​​定律。最终的根网桥可能是一些微小的边缘交换机,具有缓慢的上行链路和有限的背板资源。

    更糟的是,错误选择根网桥会使网络不稳定。如果出现连接问题,导致随机断开网络,则生成树会很快恢复。但是,如果根网桥发生故障,或者故障意味着某些交换机不再具有通向根网桥的路径,则将构成主要的拓扑更改。需要选择一个新的根网桥。在此期间,整个网络将冻结,无法转发任何数据包。

    我总是建议将核心交换机设置为根桥。我也想选择一个备份根网桥。如果有两个冗余核心交换机,则一个是根网桥,另一个是我的备份。

    将主根网桥的网桥优先级设置为最佳值4096,将备用根网桥的优先级设置为下一个最佳值8192。为什么这些有趣的数字?好的,这是一个较长的故事,我们在这里没有空间,但是优先级字段中的低位有另一个目的,因此不能用作优先级。

    生成树错误循环

    生成树使您免于循环/图片: 黑暗的日子 在Flickr上

  5. 使用旧版802.1D
  6. 生成树的第一个开放标准称为 802.1D。它是IEEE 802系列标准中最早的标准之一,其中包括针对每种类型的以太网和Wi-Fi以及一系列其他协议的规范。尽管年代久远,它仍然可以正常工作,并且几乎在每台交换机上您都可以找到这种类型的生成树。任何不支持802.1D的交换机都仅在小型隔离环境中有用,并且切勿将其连接到任何其他交换机。

    但是自从802.1D以来,生成树有了一些重要的进步。这些改进使链路故障后可以实现亚秒级的收敛,并具有扩展到较大网络的能力以及针对不同VLAN实际上具有不同的生成树拓扑和不同的根网桥的能力。因此,使用它们非常有意义。

    大多数现代Cisco交换机默认使用一种称为Per-VLAN RSTP的协议。这代表快速生成树协议。它会自动运行一个单独的生成树域,每个VLAN上都有一个单独的根网桥。在实践中’但是,使同一交换机成为所有或大多数VLAN上的根网桥很常见。

    快速功能或RSTP是您可能会发现最有用的功能。这样可使网络从大多数故障中恢复,时间约为1至2秒。多实例生成树(MST)类似于RSTP。主要区别在于,您可以使用单个公共根网桥指定属于同一树结构的所有VLAN组。但是,在大多数情况下,我建议您使用Per-VLAN RSTP,因为它更易于配置。此外,我在不同的交换机供应商之间也遇到了MSTP的互操作性问题。

  7. 混合生成树类型
  8. 从上一节中对802.1D,RSTP和MST的描述中应该很清楚,混合它们可能会变得混乱。 RSTP和MST协议具有如何处理这种混合的规则,通常,它涉及在网络内为运行不同类型的生成树的交换机组创建单独的区域。这很少导致在设备之间选择最有效的路径。

    混合生成树类型的唯一真正有效的理由是允许包含不支持更现代协议的旧设备。随着时间的流逝,这些旧式设备应该越来越少,并且有意义地混合使用协议的地方数量应该会减少。

    我建议选择一个,最好是RSTP或MST,然后在所有交换机上以一致的方式使用它们。

    生成树错误循环

    照片: 奥利·斯文森 在Flickr上

  9. 将MST与修剪的树干一起使用
  10. 因为MST允许一个支持多个VLAN的单个生成树结构,所以您需要非常注意交换机间干线。

    我曾经有一个具有大型复杂网络的客户端,其中包含许多交换机和许多VLAN。他们正在运行MST。为简单起见,他们指定了一个MST实例,这意味着所有VLAN都由同一根网桥控制。

    当他们出于安全原因决定某些VLAN仅应存在于某些交换机上时,此客户端出现了问题。一切都完全合理。因此,他们从主要的交换机间干线中删除了VLAN,并为这些安全VLAN添加了新的特殊干线。一切都坏了。

    MST认为所有VLAN都是同一棵树的一部分,它根据该假设选择要阻塞的中继和要转发的中继。但是在这种情况下,由于某些VLAN仅存在于某些干线上,而其他VLAN存在于其他干线上,因此阻塞干线意味着仅通过某些VLAN。阻塞另一条干线意味着仅通过另一组VLAN。对于阻塞的VLAN,根本就没有通往根网桥的路径。

    所以,如果你’要使用MST,您需要确保所有VLAN都通过所有中继,或者您需要为具有特殊拓扑要求的每组VLAN仔细手动创建不同的MST实例。换句话说,您必须仔细分析并正确设计网络。或者,您可以采取简单的方法来运行Per-VLAN RSTP。

  11. 根桥和HSRP / VRRP冲突
  12. 生成树网络的另一个常见拓扑问题涉及第2层和第3层冗余机制有时相互作用的方式。

    假设我有一个由两个组成的网络核心 三层交换机。在每个网段上,我希望这些核心交换机充当冗余的默认网关。我想将所有下游交换机冗余地连接到两个核心交换机,并使生成树消除环路。

    在这种情况下,特定VLAN的生成树根网桥可能在这些核心交换机之一上,而HSRP / VRRP主默认网关在另一台交换机上。然后,发往目的地为默认网关的下游交换机之一上的以太网帧将需要进行额外的跳跃,首先到达根网桥,然后到达当前拥有默认网关IP的辅助核心交换机。

    通常这不是问题,但请想象我’m在两个VLAN之间传递数据包,这两个VLAN均以核心交换机A为根桥,核心交换机B为默认网关。每个数据包都必须到达核心交换机A,并且穿过主干链路才能在核心交换机B上路由。

    然后,它必须再次穿越主干链路以返回到核心交换机A,以传递到其目的地。所有返回数据包也必须两次穿越主干链路。这在骨干链路上造成了巨大的流量负担,其中双向的每个数据包都必须交叉两次。由于每个数据包都需要序列化并传输两次,因此也会引起延迟损失。即使在 10Gbps链接,这通常会在两个方向上花费几微秒的时间,这对于特别敏感的应用程序可能总计。

    假设默认网关与根网桥位于同一交换机上。现在,数据包到达根桥核心交换机A,并在VLAN之间路由,并立即切换到下游设备。它没有’完全不能跨任何方向穿越主干。

生成树是非常重要的协议。它使我们能够在交换机间连接中建立冗余。当有人意外地连接了他们不应该连接的东西时,它将我们从灾难性循环中解救出来’t.

确实会错误地配置生成树,从而产生严重后果,但这种可能性不应该’不要劝阻您使用它。解决方案是要谨慎和谨慎地考虑您的网络设计。