STP版本和端口状态

在开始阅读本文之前,您需要了解STP协议如何选择根端口以及STP如何定义“指定端口”。 

该协议具有三个版本,并且在过去几年中面临许多改进。

  • 通用生成树(CST)
  • 每VLAN生成树(PVST)
  • 每VLAN生成树增强版(PVST +)
  • 快速生成树协议(RSTP)
  • 多重生成树(MST)

CST: 对所有VLAN使用单个STP实例。所有CST BPDU均通过中继端口上的本地VLAN发送。

PVST: 每个VLAN的单独STP实例,可提高灵活性和性能。PVST要求中继端口使用ISL封装。由于ISL封装是Cisco的一种财产,因此PVST协议仅可在Cisco设备中使用。PVST和CST不兼容。

PVST +: 此版本的STP与CST和PVST兼容,并支持ISL和802.1Q封装。PVST +是STP的标准版本,所有供应商都支持它。

RSTP:与PVST +类似,但是收敛时间更快。

MST: 允许一组VLAN映射到单个MST区域,以减少网络中的STP实例。

对PVST和PVST +使用扩展的系统ID

在原始STP标准(CST)中,64位网桥ID由两部分组成:

  • 16位网桥优先级
  • 48位MAC地址

随着STP能够在每个VLAN上工作,每个VLAN都必须使用唯一的网桥ID。基本上,这是通过为每个VLAN的网桥ID分配唯一的交换机MAC地址来执行的。但是此计划存在可伸缩性问题,因为交换机仅支持最多支持1024个唯一的系统MAC地址。  IEEE组织 将网桥ID更改为扩展的系统ID,该ID标识STP实例的VLAN号。网桥ID仍为64位,但现在由三部分组成。 

  • 4位网桥优先级
  • 12位系统或VLAN ID
  • 48位MAC地址

在这种方法中,网络管理员将STP优先级设置为0到65,535之间的一个数字,然后将VLAN号添加到每个STP实例。例如,默认优先级为10的VLAN的网桥ID为32,778(32768 + 10)。 默认情况下,在所有Cisco交换机上为所有VLAN和端口启用STP。在大多数现代Cisco平台上,PVST +是默认的STP模式,允许每个VLAN运行单独的STP实例。 

STP 端口状态

随着STP收敛交换拓扑,交换端口将通过一系列状态逐渐变化:总共,STP中有五个端口状态,如下所示:

  • 禁用:端口在管理上已关闭并且不参与STP协议。
  • 阻塞: 端口将不会发送和接收数据帧。也无法发送我们的BPDU,它只能接收BPDU。
  • 侦听: 端口可以​​发送和接收BDPU。 
  • 学习:  端口开始学习MAC地址。
  • 转发: 端口可以​​发送和接收数据包。
STP端口状态

STP端口状态的详细说明

如果网络发生任何变化,STP收敛过程将从“阻塞”状态重新开始。STP最初必须认识到,如果取消阻塞端口,则不会发生环路。

因此,STP将始终采取积极主动的方法。从“阻塞”状态开始,允许STP在转发任何流量之前完成其收敛过程。阻塞状态具有以下功能:

  • 阻塞端口将不会转发帧或学习MAC地址。
  • 阻塞端口从其他交换机接收BPDU,以了解有关交换拓扑的更改。

然后,端口将从阻塞状态转换为侦听状态:

  • 交换机必须相信不会关闭端口以消除环路。换句话说,端口可以成为根或指定端口。
  • 侦听端口将不会转发帧或学习MAC地址。
  • 侦听端口将发送和侦听BPDU,以参与根网桥,根端口和指定端口的选举。
  • 如果未将侦听端口选择为根端口或指定端口,则它将转换回阻塞状态。

 如果将侦听端口选为“根”端口或“指定”端口,它将转换为学习状态:  

  • 端口必须等待一小段时间,然后才能从侦听状态转换为学习状态(称为前向延迟)(PVST +中为15秒)。
  • 学习端口将继续发送和侦听BPDU。
  • 学习端口将开始将MAC地址添加到CAM表中。
  • 该端口还不能转发帧。

最后,学习端口将转换为转发状态:

  • 端口必须等待另一个转发延迟,然后才能从学习状态转换为转发状态(在PVST +中为15秒)。
  • 转发端口功能齐全,它将发送和侦听BPDU,学习MAC地址和转发帧。
  • 根端口和指定端口最终将转换为转发状态。

请记住,PVST +的总转发延迟时间为30秒(15 + 15)。

生成树负载平衡

由于PVST和PVST +为每个VLAN使用单独的STP实例,因此此功能提供了优于CST的灵活性,CST仅支持所有VLAN的单个STP实例。 

在前面的示例中,您可以看到,如果交换机B上的端口进入阻止状态,则该端口将阻止来自所有VLAN的流量。在这种情况下,我们在两台交换机之间有一个冗余端口,但是一条链路处于活动状态,而另一条链路在正常情况下没有流量。

但是,这是低效率的,因为任何VLAN都无法使用阻塞端口的潜在带宽。相反,PVST支持跨交换拓扑的负载平衡VLAN。

科技委
PVST +负载平衡
VLAN的PVST +

PVST为每个VLAN运行一个单独的实例,从而允许端口仅对该特定VLAN进入阻塞状态。这样既可以提供冗余,又可以更有效地利用可用带宽。

快速生成树协议(RSTP)

在现代网络中,30到50秒的收敛延迟是不可接受的。快速生成树协议(RSTP)通过更改原始STP端口角色来为交换网络增加快速收敛。

RSTP与基于以下内容的STP类似:

  • BPDU在交换机之间转发
  • 根据最低的网桥ID选举根网桥。
  • 根端口和指定端口的选择和功能与STP相同。

RSTP定义了以下四个端口角色:

  • 根端口:与STP根端口相同,具有到根桥的最佳路径开销。一台交换机只能有一个根端口。
  • 备用端口:具有较低路径成本的备用根端口。STP没有备用端口。
  • 指定端口: 非根端口,代表每个网段到根网桥的最佳路径成本。与原始STP相同。 

正如您在本文中所阅读的那样,在STP协议中,被阻止的端口应该经过三个步骤(侦听,学习和转发),以便能够发送和接收流量。但是RSTP支持以下三种端口角色:

  • 丢弃: 交换机端口在此模式下启动。丢弃端口类似于STP中的被阻止端口。它不会转发帧并学习MAC地址。丢弃端口将侦听BPDU。请记住,备用端口处于丢弃状态。
  • 学习:  RSTP协议不需要监听状态即可学习MAC地址。因为当交换网络处于正常状态时,将选择备用端口。但是,学习端口还不能转发帧。
  • 转发:最后,转发端口可以正常使用。在这种状态下,端口可以发送和接收数据帧。与STP中的转发状态相同。 


为什么RSTP比STP快?

RSTP比STP快,原因有两个:

  • BPDU由每个交换机生成,并在hello间隔内发出。
  • 交换机不再需要人工的前向延迟计时器。

在STP中,BDPU由根桥形成。如果交换机在其根端口上从根网桥收到BPDU,它将在下游将BPDU传播到其邻居。该收敛过程很慢,STP依赖转发延迟计时器来确保无环环境。 

在RSTP中,交换机将直接与其邻居进行握手,从而使拓扑结构得以快速同步。这允许端口在没有延迟计时器的情况下从丢弃状态快速转换为转发状态。RSTP的收敛过程如下:

  • 交换机交换BPDU来选择根网桥。
  • 连接到最终用户(主机)的端口会立即转换为转发状态。
  • 如果端口接收到具有较低网桥ID的BPDU,它将成为根端口,并立即转换为转发状态。
  • 连接到另一台交换机的端口将交换握手建议,以确定哪个端口变为转发状态。 

多生成树(MST)

在本文前面,您了解了4种不同类型的STP。CST  wchis将单个STP实例用于所有VLAN。PVST和PVST +的每个VLAN都有一个单独的STP实例,并为STP添加了负载平衡功能。和RSTP 这减少收敛STP时通过改变端口角色。

所有提到的STP版本都有一个缺点。当交换网络中有多个VLAN时,为每个VLAN维护一个单独的STP实例会增加交换机CPU和内存的开销。

多生成树(MST), 允许将一组VLAN映射到STP实例。每个MST实例(MSTI)都会构建自己的RSTP拓扑数据库,包括选择自己的根网桥。VLAN只能分配给一个实例。 

MST进一步将STP拓扑划分为多个区域。区域中的所有交换机必须配置有相同的MST参数:

  • 32字节的配置名称
  • 16位修订号 
  • VLAN到实例的映射数据库。

如果两个交换机配置了不同的MST参数,则它们属于不同的MST区域。

觉得文章有用?

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