- user4565 提出了一个非常重要的观点,您需要冗余连接。您可以在 R1/R2 上游拥有世界上所有的冗余,如果 R1/R2 和 SW1/SW2 之间的链路出现故障,则相应的 R 仍将处于脱机状态。
添加以下连接以获得最佳冗余:
现在您可以失去 SW1 或 SW2,并且仍然可以连接到您的 R。
正如 user4565 所说,在 ESW1 和 ESW2 之间添加另一个中继 - 更多的冗余并不是一件坏事。
如果您决定使用多个默认 VLAN,请确保您的所有中继链路都承载这两个 VLAN。
只是为了澄清一些额外的事情,如果你有兴趣:
您将永远是一个本地 VLAN,一个永远存在(默认为 VLAN 1)。
除非您正在运行一些非常古老的设备,否则 Cisco 通常会在 PVST+ 或 RPVST+ 的默认模式下运行 STP。这意味着您配置的每个 VLAN 都将运行自己的 STP 实例(PVST = Per Vlan Spanning Tree)。这很有用,因为假设您有 2 个 VLAN,即 VLAN 1 和 VLAN 10。如果 VLAN10 出现问题,它会相应地调整路径,而让 VLAN1 完全不受影响,这意味着 VLAN1 的服务中断为零。
只是更旧的 STP 上下文,过去只有一个 STP 实例运行,无论您有多少个 VLAN。这意味着,如果 VLAN1 中的链路出现故障,所有其他 VLAN 都会中断,因为 STP 必须重新计算无环路路径。这就是为什么 PVST 如此重要的原因。
随着每个 VLAN 拥有自己的生成树实例,PVST+ 还添加了一些其他功能。重要的是,备用端口。让我们看看在发生中断事件时旧版本的 STP 与 PVST+ 的运行方式有何不同,如果您有两个接口,连接相同的两个设备(在每个 VLAN 中,所以假设您只有 VLAN1)。
例子:
- R1 Eth1/1 <=> SW1 Eth2/1
- R1 Eth1/2 <=> SW1 Eth2/2
较旧的 STP:
重要提示:STP 计算时,只能有一条路径,所有其他路径都会自动阻塞,这就是 STP 防止环路的方式。
- R1 Eth1/1 <=> SW1 Eth2/1 - 转发
- R1 Eth1/2 <=> SW1 Eth2/2 - 阻塞
那个阻塞端口什么都不知道,如果它是 up 的,它只在 STP 需要重新计算时使用。
- 2 个中的第 1 个链接以某种方式断开(关闭链接、电缆被切断、电缆故障等)
- STP 将通知整个 STP 域刷新其整个拓扑并重新计算所有路径。导致服务中断。
STP 重新计算后,原来是 BLOCKING 的端口在进入 FORWARDING 之前会经过 LISTENING、LEARNING 状态。这可能需要一些时间,从而导致停机。
- R1 Eth1/2 <=> SW1 Eth2/2 - 转发
PVST+
重要提示:当 PVST+ 计算时,您连接的那些额外接口会发生一些不同的情况。如果 R1 有两个端口连接到 R2
- R1 Eth1/1 <=> SW1 Eth2/1 - 转发
- R1 Eth1/2 <=> SW1 Eth2/2 - 备用
与PVST+的不同之处在于初始计算,当建立无环拓扑时,面向根桥上游的冗余端口将作为备用端口。这意味着它知道备用端口是通往根网桥的一条路,所以如果主链路出现故障,它不需要重新计算——它可以立即跳转到 FORWARDING 状态并照常推送流量,而不是被强制再次运行所有阶段。
- 链接 1 of 2 以某种方式中断。
R1 Eth1/2 立即切换到转发。
- R1 Eth1/2 <=> SW1 Eth2/2 - 转发
没有服务中断。
希望这会有所帮助,如果有点啰嗦,我深表歉意 - 但它有助于了解您的选择。如果您需要任何说明,请随时询问。