如何改善STP收敛

通常,STP至少需要30秒才能收敛(转发延迟=学习时间+转发时间)。在许多环境中,每次拓扑更改都造成30秒钟的中断是不可接受的。思科开发了三种专有功能,可以缩短STP收敛时间:

  • PortFast
  • UplinkFast
  • BackboneFast

以下部分将详细介绍每个功能:

PortFast

缺省情况下,交换机上的所有端口都参与STP拓扑。这包括连接到主机(如工作站)的任何端口。在大多数情况下,主机没有出现环路的风险。主机端口将通过正常的STP状态转换,包括等待两个正向延迟时间。因此,主机在首次开机时将至少有30秒没有网络连接。

由于以下几个原因,这并不理想:

  • 短暂的停机将使用户烦恼。
  • 主机在启动期间通常会通过DHCP请求IP地址。如果交换机端口转发速度不够快,则DHCP请求可能会失败。

PortFast允许交换机端口绕过STP状态的正常进行。通常,端口应通过“阻止”,“监听”,“学习”模式来转发流量。如果启用PortFast,端口将立即从“阻塞”状态转换为“转发”状态,从而消除了典型的30秒延迟。仅应在连接到主机的端口上启用PortFast。如果在连接到交换机或集线器的端口上启用了任何循环,则可能会导致广播风暴。 注意: PortFast不会在端口上禁用STP –它只是加速STP收敛。如果启用了PortFast的端口接收到BPDU,它将在STP状态的正常过程中过渡。

STP PortFast

PortFast的另一个好处

PortFast提供了额外的好处。请记住,如果端口转换为转发或阻塞状态,则交换机将生成 拓扑更改通知(TCN)。即使端口连接到主机设备(例如工作站),也是如此。因此,打开或关闭工作站电源将导致(TCN)到达根网桥,根网桥将作为响应发送配置BPDU。

因为交换拓扑在技术上没有改变,所以不会发生中断。通过启用PortFast功能,TCN将不会生成状态更改,并消除了不必要的BPDU流量。

UplinkFast

通常,一个交换机将具有到另一个上游交换机的多个上行链路。如果未使用EtherChannel捆绑链路,则至少一个端口将转换为阻塞状态以消除环路。在前面的示例中,端口Gi0 / 2在交换机B上处于阻塞状态。

通常,如果根端口在本地交换机上发生故障,则STP将需要执行重新计算,以使另一个端口脱离阻塞状态。此过程至少需要30秒。UplinkFast允许阻塞端口保持备用状态。如果根端口出现故障,阻塞端口可以立即转换为转发状态。

因此,UplinkFast缩短了STP拓扑中直接故障的收敛时间。如果多个端口处于阻塞状态,则根路径成本最低的端口将转换为转发端口。

默认情况下,UplinkFast是禁用的,并且必须为交换机上的所有VLAN全局启用。UplinkFast通过跟踪到根网桥的所有可能的链接来运行,因此,根网桥不支持UplinkFast。

上行快速

BackboneFast

如果直接连接的端口发生故障,UplinkFast可提供更快的收敛速度。相反,如果STP拓扑中存在间接故障,则BackboneFast可提供改进的收敛性。

失败之前的UplinkFast
失败后快速恢复

如果Switch A和Switch E之间的链路发生故障,Switch D最终将重新计算通过Switch C到达根网桥的路径。正常情况下,交换机D必须等待最大寿命计时器应用此更改。默认情况下,此时间为 20秒。BackboneFast允许交换机绕过最大年龄计时器。交换机将接受立即从交换机C接收到的劣等BPDU。交换机D上的阻塞端口仍必须转换为转发状态。因此,对于间接故障,BackboneFast实质上将总收敛时间从50秒减少到30秒。 这是通过发出根链接查询(RLQ)来实现的。根桥将以RLQ答复来响应这些查询: 

  • 如果在根端口收到了RLQ Reply,则交换机知道根路径是稳定的。
  • 如果在非根端口上收到了RLQ答复,则交换机将知道根路径已失败。max-age计时器立即过期,以允许选择新的根端口。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁