本文档的目标是为您提供迁移到多生成树(MSTP)的最佳实践。 通过其他生成树变体使用MSTP可以提高网络效率和可靠性。
本指南将省略通过SSH或管理接口登录设备等步骤 — 我们将重点介绍core命令。每个最佳实践都包含一个子任务,概述了混合思科硬件(企业版和中小型企业)的相应步骤。 有关配置指南,请参阅以下两个链接:
本部分旨在为您提供一个易于理解的、适用于当前协议的心理模型。这些定义是MSTP协议的互锁组件。进一步的细节见分项要点。
BPDU — 网桥协议数据单元 — 这些是包含交换机继续运行所需的所有信息的组播帧。
注意:实例映射本身不在BPDU中。
区域 — (特定于MSTP) — 区域解决了每个VLAN发送一个BPDU的其他STP类型遇到的问题。与每VLAN生成树一样,发送如此多的BPDU会导致CPU负载紧张,从而影响网络性能。相反,使用MSTP时,所有VLAN都映射到单个区域。
实例 — 实例是特定区域的VLAN或许多VLAN的逻辑表集合。然后,此实例映射到区域。作为迁移的一部分,您将完成这些步骤。
默认实例0(零)与以下术语MST0(内部生成树[IST])同义。
由您创建的任何实例都将被引用为多个生成树实例或MSTI。
在这里,良好的网络VLAN文档记录可以为您省去麻烦。
MSTI — 多个生成树实例 — 包含管理性创建的实例。这些映射包含在“MRecord”中,可通过Wireshark查看。记录包括管理实例拓扑所需的详细信息。
IST — 内部生成树 — 是参与MSTP区域的交换机的记录。区域中包含的交换机(无论数量是多少)作为单个交换机表示到区域外的区域。
CIST — 通用和内部生成树 — 由CST和IST组成,根据VLAN到实例的共享映射遍历多个实例。
通用生成树和内部生成树不是通用生成树。
现在我们已经确定了本文的目标和相关定义,接下来我们来了解一下最佳实践。
第一种最佳做法是确认需要迁移到MSTP。了解您网络的现有生成树性能是此决策的关键因素。迁移到MSTP是一个不错的选择,原因有几点:引入负载共享,这对网络效率的影响最大。如果第2层流量在您预测之前增加,则迁移到MSTP可以提高性能,从而提高设备的有用性/使用寿命。其他考虑因素包括:
现有STP性能不令人满意 — 收敛时间或传输的BPDU数量导致问题
分段生成树 — 减少MSTP区域所包含的交换机上的资源负载。
混合硬件环境- MSTP是开放标准,这意味着它非常适合混合供应商环境。广泛支持。
注意:一个常见的误解是,当迁移到多生成树时,必须为每个实例映射一个VLAN。
生成树的种类不断涌现,在以前的版本中不断变化变化。与每VLAN生成树(PVST+)相比,MSTP通过维护生成树实例或生成树的逻辑版本,使用较少的资源(BPDU、CPU周期、传输时间)。VLAN流量能够流经网络的第2层网段。对于一个端口(和VLAN),转发也可以针对不同的VLAN阻塞。此外,如果在一个实例中形成循环,则不会影响其他实例。
一旦您验证了迁移的需要,理想的情况是,能够以最少停机时间实现迁移,并保留现有连接。解决移民问题的小战略对于确保顺利实施大有裨益。为了协助这一进程,我们建议采取以下战术步骤。
确定并记录所有点对点端口,或连接到其它交换机或路由器的端口。
识别并记录所有边缘端口,或指向终端(如PC或打印机)的端口。
定义参与迁移的VLAN
实习生在这一步做得很好!
确定网络的操作顺序。
请注意一台交换机上的更改如何影响不同的VLAN。
安排网络停机,或在周末进行迁移。
从网络核心开始迁移,然后向下迁移到分布层,再迁移到接入层。
本最佳实践以及以下最佳实践将充分利用所有端口文档。管理员通过PortFast功能在边缘端口上定义可选参数。PortFast可防止生成树在该端口上运行。面向交换机的端口可能包括服务器、工作站、路由器。目的是该端口不会将网络桥接到另一组开放端口。如果交换机收到上级BPDU,则可能导致环路。给定网络上线的端口会在端口上发生STP计算,通过提前分配阻塞状态,您可以节省时间和CPU负载。它允许端口快速转换到BPDU发送 — 转发状态。因为提前给它分配了状态
注意:确保交换机上的端口已配置为全双工传输。
以下步骤将划分为SMB交换机(CLI + GUI)和Enterprise catalyst交换机(CLI)。
CLI命令首先显示语法,然后显示实时命令的示例。在#后面添加了一个额外的空间,以便为copy > paste添加高亮显示。以蓝色突出显示的文本表示变量,该变量将被替换为网络中的情景详细信息。另请注意,为简洁起见,我们使用的唯一权限提升命令将用于MSTP配置。
Catalyst(config)# interface [range(optional)] [port-id]需要注意的一点是,SMB交换机GUI使用PortFast的同义词 — 称为Fast Link。
步骤1.单击生成树> STP接口设置。
步骤2.选择一个接口,然后单击Edit按钮。
步骤3.单击Enable Fast Link。
注意:请记住应用更改并将运行配置写入启动配置。
此最佳实践是前一个实践的扩展。如果启用BPDU防护的端口看到接收任何上级、拓扑更改BPDU的端口,它会立即通过err-disable状态关闭端口。这将需要您访问交换机并解决此问题。
注意:这似乎是可以跳过的最佳实践之一。你能逃脱吗?也许吧,但为了你的未来自我,就让它这样。一台错误的交换机接入网络并输出错误的BPDU,可能会导致网络瘫痪。
步骤1.登录到Web配置实用程序以选择Spanning Tree > STP Interface Settings。系统将打开STP Interface Settings页面。
步骤2.从Interface Type下拉列表中选择要编辑的接口类型。
步骤3.单击Go在页面上仅显示端口或LAG。
步骤4.点击连接到其它交换机的端口或LAG的单选按钮,然后点击编辑。系统将显示Edit STP Interface窗口。
步骤5.点击与Interface字段中所需的接口类型对应的BPDU Guard Enable复选框。
现在,端口知道了它们的适当角色,接下来我们讨论实例映射。为了获得最佳效果,请限制您创建的实例数量 — 注意有些细微差别。这违背了最佳实践,可能会劝阻工程师将MSTP作为解决方案。您可能有多个实例的有效网络设计注意事项,但请注意,最佳实践是拥有一个实例。确定要映射到实例的VLAN。 然后,选择网络中的所有交换机通用的配置名称和修订版号。
注意:编辑MSTI VLAN映射时,MSTP将重新启动。
步骤1.单击Spanning Tree > VLAN to MSTP Instance。
VLAN to MSTP Instance页包含以下字段:
步骤2.要将VLAN添加到MSTP实例,请选择MST实例,然后单击Edit。
步骤3.输入参数。
步骤4.单击Apply。此时,MSTP VLAN映射已建立。
最佳实践是将尽可能多的交换机放置在单个区域中。将网络划分为多个区域没有任何好处。与任何路由和交换协议一样,它们需要一种方法来确认协议成员身份。发送的BPDU使交换机能够识别自己是特定区域的成员。为使网桥了解其在给定区域的成员资格,它们必须共享以下设置:
MSTP Properties页面用于定义交换机所在的区域。对于位于同一区域的设备,它们必须具有相同的区域名称和修订值。
步骤1.从菜单中选择生成树> MSTP属性。
步骤2.在Region Name字段中输入MSTP区域的名称。区域名称定义网络的逻辑边界。MSTP区域中的所有交换机必须具有相同的已配置区域名称。
步骤3.在“版本”字段中输入版本号。这是一个逻辑数字,表示MSTP配置的修订版。MSTP区域中的所有交换机都必须具有相同的修订版号。
步骤4.在Max Hops字段中输入最大跳数。Max Hops指定BPDU在跳数中的生存期。当网桥收到BPDU时,它将跳数递减1,并使用新的跳数重新发送BPDU。一旦网桥收到跳数为零的BPDU,就会丢弃该BPDU。
注意:IST Active字段显示区域的活动交换机的网桥优先级和MAC地址。有关其他信息,请参阅术语表。
步骤5.单击Apply。
这一最佳实践是保证整个迁移的关键因素之一。其思想是将MSTP拓扑的根网桥置于主MSTP区域内。根据之前的最佳实践,将所有VLAN置于同一区域,根桥选择对所有VLAN均有效。这是通过称为根防护的功能实现的,该功能强制您创建的根放置。当网桥在根防护激活的端口上收到上级BPDU时,它会立即通过根不一致STP状态将端口置于侦听模式。这可以防止其下级BPDU的转发,从而保留您所在区域的根网桥上的指定端口。从而保留您所在区域的根网桥上的指定端口。
注意:仔细选择每个实例的根和备份根。
以下命令将返回。以下命令将返回所有标记为不一致的端口。但另请注意,该命令在SMB交换机上不可用。
Catalyst# show spanning-tree inconsistentports步骤1.登录到Web配置实用程序并选择生成树> STP接口设置。
步骤2.从Interface Type下拉列表中选择接口。
步骤3.单击Go显示接口上的端口或LAG列表。
步骤4.点击要修改的端口或LAG的单选按钮,然后点击编辑。系统将显示Edit STP Interface Setting窗口。
步骤5.点击与Interface字段中所需接口对应的单选按钮。
步骤6.确保选中STP字段中的Enable以在接口上启用STP。
步骤7.选中Root Guard字段中的Enable,以在接口上启用根防护。此选项提供一种在网络中实施根网桥放置的方法。根防护用于防止新连接的设备接管根网桥。
此时,您的MSTP实施和网络应不断更新。对于“信任但验证”群组,您可以通过执行帧捕获来验证MSTP状态。然后将结果与您所需的文档进行比较。
通过Wireshark执行数据包捕获后,您将看到包含实例ID的Mrecords。下面是Mrecord的截图,在展开之前用于了解更多详细信息。
展开Mrecord允许您查看有关MSTP的更精细的数据。包括:
如果您想从命令行进行验证,请尝试以下命令:
SMBswitch# show spanning-tree mst-configuration注意:show命令的Catalyst版本不包括mst和配置之间的 — 。EX:"show spanning-tree mst configuration"
如果您需要继续支持运行PVST+的传统交换机,请逐个端口处理此问题。如果其中一台交换机作为VLAN中继运行,请确保MSTP交换机是分配给中继的所有VLAN的根。此外,MSTP会尝试解码PVST+ BPDU,但此模拟不完整。这要求我们深入探讨边界端口的概念。
MSTP边界端口的角色和状态由与外部拓扑交互的内部生成树决定。这意味着,如果端口在IST上处于阻塞模式,则它在MSTP的所有实例中处于阻塞模式。此效果会级联到PVST+实现,从而影响VLAN的功能。如果端口处于转发、学习等状态,情况也是如此。正如您可能想象的,这可能成为一个问题。这会导致难以解决的问题,而应该为一个VLAN转发的端口会因为另一个VLAN的需要而阻塞端口。PVST+模拟利用来自IST的信息创建每个VLAN BPDU。这会导致网络范围的“错觉”,即MSTP区域显示为所有VLAN的单个交换机。类似于交换机的堆叠,这也不算太坏。从边界端口的位置看,坏处在于它需要为每个模拟VLAN发送单个BPDU。BPDU之间的任何不一致都可能会使整个模拟产生错误。只有收到一致的BPDU后,模拟才能自行恢复。
总之,整个情况就是边界端口上收到的BPDU必须相同的原因。要进一步阅读本主题,请参考此社区主题。
MSTP向后兼容。只要您的非思科硬件支持快速生成树,您就应该没问题。如果您遇到问题,请与我们的交换社区联系。
感谢您阅读本指南,这些最佳实践应帮助您进行设置,以提高第2层网络的性能。
值得一提的是,生成树听起来可能并不令人兴奋,但负载共享的优势让保持网络高效的努力显得物有所值。生成树发明者拉迪娅·珀尔曼像母亲一样爱它。她甚至写了一首诗。