System ID Extension 是否会影响根桥选举?

网络工程 生成树
2021-07-10 06:37:43

在 STP 网桥 ID (BID) 中,原始的两字节优先级字段被拆分为四位可配置优先级和十二位系统 ID 扩展 (SIE) 来表示 VLAN。因此,优先级实际上是configured priority+ VLAN ID
例如,在具有默认设置的 Cisco IOS 中,它们将分别为 32768 和 1,并且优先级将显示为32769

所以看起来拆分实际上只是减少了优先级位,加上一个方便的地方来隐藏 VLAN ID。
但从某种意义上说,SIE 会影响真正的优先级值。那么,在根桥选举、指定端口仲裁等中,是否有任何情况需要实际考虑?

在 PVST 中似乎不会,因为任何比较都将在同一 VLAN 内,因此 SIE 将始终相同。但是在 MST 或标准的其他变体中呢?是否会进行 BID 比较,其中 SIE 会有所作为?

2个回答

Benjamin Dales 的回答对于运行基于标准的生成树的交换机来说当然是正确的。然而,对于使用每个 VLAN STP 的交换机:是的,它可以很好地发挥作用。当然,在相当特定的情况下。

如您所说,bridge-id 基本上由三部分组成:(priority + system id extension).mac-address,其中只是附加了 MAC 地址。最低的桥 ID 将赢得根桥选举。话虽如此,很明显,所有路由器上的优先级必须相同,以便扩展系统 ID 真正发挥作用。

假设一个网络只包含两个交换机。SW1 的 MAC 地址为 1(这里只是将其缩短,假设这些实际上是 48 位 MAC 地址),SW2 的 MAC 地址为 2。两者都使用默认优先级 (32768)。

仅运行 PVSTP 时(无论是否快速),该实例的 VLAN ID 将用作扩展系统 ID。在这种情况下(为了该示例,我们在 VLAN 1 中运行),网桥 ID 将是

SW1: 32769.1   (32768 + 1).MAC
SW2: 32769.2   (32768 + 1).MAC

显然 SW1 将成为根。假设现在,SW2 已更改为 MST 模式,而 SW1 仍在运行 RSTP。MSTP 完全向后兼容其他生成树协议。使用 MSTP,扩展系统成为 MST 实例编号,因为在这里使用 VLAN 没有意义。许多 VLAN 可以映射到单个实例。仅在没有任何配置的情况下启用 MSTP 将创建 MST 实例0 (!) 并将所有 VLAN 映射到它。现在网桥 ID 将如下所示:

SW1: 32769.1   (32768 + 1).MAC
SW2: 32768.2   (32768 + 0).MAC

现在,SW2 将成为选举过程的赢家,并且由于扩展系统 ID 较低而获胜。因此,您的问题的答案是:是的,它可能会影响根网桥选举。最小可能的 VLAN 编号为 1,默认 MST 实例为 0,导致 MST 交换机始终以默认设置赢得根选举。另请查看 Benjamins 关于跨越互操作性的评论。我目前不确定 MSTP 和 PVSTP+ 必须一起工作时的行为(在 BPDU 发送级别)。我稍后会添加详细信息,我必须在实验室中尝试并检查 BPDU。

如果你想一分钟,那是完全有道理的。MST + RPVSTP 互操作性要求根网桥位于 MST 域内。当然你可以手动调整优先级,在这种情况下你自己搞砸了。但是默认情况下,MST 域中的交换机将被选为根桥。

TL; DR 和总结:

如果所有交换机都运行(R)PVSTP或所有交换机都运行MSTP,则不,不会影响根桥选举。在混合环境中,它当然可以。

但是,请注意:此讨论对于 Cisco 交换机(更一般地说,支持每个 VLAN 生成树的交换机)当然是正确的,但不一定适用于其他交换机。

简而言之,否 - 在 MSTP、RSTP 和 STP 中,网桥优先级固定为配置值(例如:不添加额外的 VLAN-ID)。

这主要是因为基于 IEEE 的标准都没有确认 VLAN - 所有 BPDU 都没有标记地发送 - 在 MSTP 的情况下,MSTI 链接到公共 VLAN 组,但不受底层接口上 VLAN 配置的影响。

正如您所猜测的那样 - 在 PVST 中,节点之间的 VLAN-ID 应该相同,因此优先级将始终朝着最低配置的网桥优先级加权。