生成树协议的概念和配置
在开发一个交换式网络时,防止环路是最重要的考虑因素之一。一旦形成环路,交换机之间交换的流量就会消耗所有的可用带宽。这发生在所有受影响的交换机内部。避免出现环路的方法是在交换机之间只提供一条路径,并确保交换式网络中的路径不存在连续性。
生成树协议能够避免交换式网络中的环路。它通过阻断交换机之间的冗余路径来实现这一目标。本文将介绍一些STP的概念,以及在交换机上部署STP的配置。
前提条件
要完成这篇文章,你将需要。
- 安装[思科数据包追踪器]。
- 具备配置[思科设备]的基本知识。
- 对思科网络概念有一定了解。
生成树协议(STP)的目的
冗余是分层结构的一个重要方面,用于避免网络服务故障。这是通过[消除单一故障点]。单一故障点是指在设备、电路或部件的设计、配置或执行方面存在的缺陷,会带来风险。
这是因为它可能导致单一故障或故障导致整个系统失效的情况。在设计[网络]时,在交换机之间使用许多路径以确保没有单点故障[是一个重要方面]。
下图说明了单点故障的情况。

冗余网络必须增加物理路径,但也必须考虑逻辑冗余。用户可以在路径中断的情况下访问网络服务。通过提供其他物理路径让数据在网络中传输。
在交换式以太网网络中,冗余路径会引发逻辑和物理二层循环。生成树协议是一种[防止环路的网络协议]。它[创建了一个无环路的第二层拓扑结构,从而允许冗余的存在]。
STP的主要目标是创建一个所有参与STP的交换机的拓扑结构,以创建一个无环路的交换网络。利用这一拓扑信息,我们可以确定[通过交换网络]的最有效的[无环路]。
生成树协议的(STP)操作
当所有的交换机一开始都表现得好像它们是根交换机时,就会发生根交换机的选举。他们继续这样做,直到他们收到来自上级交换机的流量(交换机优先级决定)。这就是所谓的根交换机选举。
我们使用show spanning-tree 命令来检查交换机的网桥优先级。在运行该命令时,网络管理员可以看到交换机的优先级和它被设置的值。[值最低]的交换机[成为根交换机]。
值得注意的是,该交换机被指定为生成-树协议实例的根桥。网络管理员可以改变交换机的优先级,我们将在开始配置时看到。
另一件要记住的事情是,根据所使用的STP模式,网络可能有多个根交换机。每个VLAN都有它的STP情况,并为每个VLAN自动选出一个根交换机;[这种模式被称为每VLAN生成树+(PVST+)]。快速PVST+是在实施RSTP时使用的。

在选出根交换机后,每个端口根据其在STP拓扑结构中的位置被分配一个角色。
当使用802.1D生成树协议时,以下端口角色是可用的。
- 根 - 分配到这个位置的端口是到根交换机的最佳路由。
- 指定 - 分配到这个位置的端口是根据到某一交换段的最佳路由选择的。每个交换段只分配一个端口。
- 替代 - 该端口被指定为根端口的备份;如果根端口发生故障,该端口将承担控制根端口的角色。
- 备用 - 分配到这个位置的端口被设定为指定端口的后备。如果指定端口发生故障,该端口将承担指定端口的角色。
为了避免循环,所有具有替代或备份STP角色的端口都被阻断。这样做直到最佳路由被确定,[每个端口都被分配了一个角色]。
生成树协议接口状态
[交换机上的]每个[激活的端口都参与STP]。而这些端口中的每一个在被允许转发流量之前都必须经过一个接口状态阶段。图1依次描述了802.1D的接口状态。

一个端口可以处于五种状态之一,如上图所示,下面也列出了这些状态。
- 阻断状态--阻断端口不转发流量;相反,它们监听网络,以确定它们是否可以继续阻断流量。如果交换网络的状态发生变化,该端口可以进入监听模式。在交换机初始化后,所有端口都处于阻塞模式。
- 监听状态 -[当端口处于这种状态时,没有流量被转移]。端口在这种状态下只能监听流量,就像它处于阻塞状态时一样。在端口准备开始帧转发过程后,它是[阻塞状态之后的第一个状态]。在监听模式下,[默认时间为15秒]。
- 学习状态 - 处于学习状态的端口[不转发流量]。相反,[它们会监听流量,并在这个状态下继续从一段连接的设备上学习地址]。
- 转发状态 - 处于转发状态的端口[开始从段上掌握地址,同时仍然转发流量]。
- 禁用状态 - 端口的禁用状态使其不能转发流量或监听网络流量。
自从RSTP问世以来,端口转换的时间和用于转换的过程都得到了改善。这使得交换式网络能够更快地开始路由流量,并且没有不必要的延迟。这是对802.1D版STP的抱怨。
生成树协议的配置
STP默认在VLAN 1和所有新创建的VLAN上启用,因此在新初始化的交换机上激活STP不需要任何命令。
第1步 - 启用STP
如果一个过时的交换机禁用了STP,要在一个特定的VLAN上重新启用STP。我们在cisco数据包追踪器中点击交换机,并在创建拓扑结构后输入如下命令。
switch>enable
switch#configure terminal
switch(config)#spanning-tree vlan vlan-id
switch(config)#end
我们可以把这些命令分解成如下所示。
switch>enable- 它用于进入特权模式。switch#configure terminal- 它用于进入交换机的管理界面。switch(config)#spanning-tree vlan vlan-id- 我们用这个命令在我们的VLAN上启用生成树协议。 ,确定我们需要在哪个VLAN上启用stp。vlan-idswitch(config)#end- 它用于退出配置模式。
当第一次设置STP时,最好找出网络中的哪台交换机将成为根交换机。尽管网络可能会自己决定,但选举将只是一个谁的MAC地址最低的问题。
每个交换机的优先级是32768,然后这个优先级与交换机的MAC地址结合起来形成桥接ID。在根交换机选举过程中,具有最低网桥ID的交换机被选为根交换机。
第2步--选择一个根交换机
我们使用下面的命令来确定根交换机。
switch>enable
switch#configure terminal
switch(config)#spanning-tree vlan vlan-id root primary
switch(config)#spanning-tree vlan vlan-id root secondary
switch(config)#spanning-tree vlan vlan-id priority priority
switch(config)#end
我们可以将这些命令分解如下。
switch>enable- 它用于进入特权模式。switch#configure terminal- 它用于进入管理界面。switch(config)#spanning-tree vlan vlan-id root primary- 我们用它来改变交换机为主根交换机。该命令计算出使交换机成为根交换机所需的交换机优先级,并将其设置为该值。switch(config)#spanning-tree vlan vlan-id root secondary- 我们用它来改变交换机的状态为次要根交换机。因此,它将交换机的优先级改为28672。switch(config)#spanning-tree vlan vlan-id priority priority- 设置交换机的优先级。默认值是32768,所以任何低于这个值的都会使交换机成为根交换机。建议使用前面的命令,而不是这个命令。switch(config)#end- 它用于退出配置模式。
第3步 - 生成树模式
使用下面的命令,将默认的生成树模式从PVST+改为其他模式。要将默认的生成树模式从PVST+调整为其他模式,请使用下面提到的命令。
switch>enable
switch#configure terminal
switch(config)#spanning-tree mode {pvst | rapid-pvst}
switch(config)#ends
我们可以把这些命令分解成如下所示。
switch>enable- 它用于进入特权模式。switch#configure terminal- 它用于进入全局配置模式。switch(config)#spanning-tree mode {pvst | rapid-pvst}- 我们用这个命令来配置生成树模式的使用。switch(config)#end- 它用于退出配置模式。
使用上述命令,我们已经在我们的交换机上启用了生成树协议(STP),并在我们的拓扑结构中选择了根交换机。这将决定在数据穿越网络的过程中使用的最佳路由。我们还设置了交换机的优先级,并将交换机的状态改为二级根交换机,以降低交换机的优先级值。
我们已经配置了生成树协议模式。对于每个生成树实例,我们都有一个根桥被选出。这允许你为不同的VLAN组设置不同的根桥。对于每个VLAN,STP运行一个单独的STP实例。如果所有交换机上的所有端口都使用VLAN 1,则只有一个生成树实例。
总结
STP是大多数人没有意识到他们正在使用的协议之一,但现代交换网络没有它就无法运行。在这篇文章中,我们已经了解了STP的基本概念和配置,以及它是如何在交换机中结束循环的功能。以及如何构建它来提高网络性能。