什么是STP:
STP是用于局域网中消除环路的协议,它的全称是Spanning Tree Protocol。
STP的目的是确保在网络中存在冗余路径时,不会产生环路。环路会导致广播风暴、MAC地址表震荡等问题,从而消耗网络资源,导致网络瘫痪不可用。STP通过以下方式解决这些问题:
- 选举根桥:网络中的所有交换机参与选举,选出一个根桥(Root Bridge),作为网络的逻辑中心点。
- 确定根端口:除了根桥外,每个交换机上会选举出一个根端口(Root Port),即指向根桥成本最低的端口。
- 阻塞非必要端口:在确定了根端口后,其他端口中成本较高的将被置于阻塞状态,以避免环路的产生。
- 传输数据:在树形结构建立后,数据将通过非阻塞的端口转发。
- 重新计算拓扑:当网络中的链路或交换机发生变化时,STP能够重新计算最优的树形结构。
STP的标准是IEEE 802.1D,它通过发送和接收BPDU(Bridge Protocol Data Units)桥协议数据单元来交换信息,发现整个网络的最佳路径,并维护无环的网络拓扑。
什么是RSTP:
RSTP(Rapid Spanning Tree Protocol),即快速生成树协议,是传统STP(Spanning Tree Protocol)的演进版,旨在解决网络拓扑变化时快速收敛的问题。
以下是一些关于RSTP的核心要点:
- 端口角色: RSTP在STP的基础上新增了几种端口角色,包括Backup端口、Alternate端口和边缘端口(Edge Port)。这些端口角色有助于提高网络的弹性和稳定性。
- 快速收敛: 当网络结构发生变化时,RSTP可以比STP更快地重新计算并收敛网络的最佳路径。这一点对于维护网络的稳定性和减少通信中断尤为重要。
- 备份通路: RSTP通过引入新的端口角色Backup Port,提供了从根节点到叶节点的备份通路,增强了网络的容错能力。
- 边缘端口: 如果端口位于整个交换区域的边缘,不与其他交换设备连接,这种端口称为边缘端口。边缘端口一般与用户终端设备直接连接,且可以立即进入转发状态,从而节省了等待时间。
- P/A机制: RSTP使用了一种称为Proposal/Agreement(提案/同意)的机制,允许某些端口在满足条件后快速过渡到转发状态,而无需等待传统的STP计时器周期。
综上所述,RSTP作为STP的增强版本,通过增加新的端口角色和优化算法,能够实现网络拓扑变化时的快速收敛,提高了网络的稳定性和效率。
STP与RSTP的区别:
STP(生成树协议)和RSTP(快速生成树协议)是局域网中用于防止网络环路的两种不同协议,它们在端口状态、收敛速度以及保护机制方面存在区别。以下是具体分析:
- 端口状态:STP定义了一系列的端口状态,包括禁用(Disable)、阻塞(Blocking)、侦听(Listening)、学习(Learning)和转发(Forwarding)状态。而RSTP优化了端口状态,减少了端口在状态转换时的等待时间。
- 收敛速度:STP的缺点之一是收敛速度慢,它在网络拓扑发生变化时可能需要较长的时间来重新计算生成树并达到稳定状态。相比之下,RSTP通过引入新的概念和机制,如边缘端口和点对点链接,显著提高了收敛效率和速度。
- 保护机制:STP为了确保网络稳定性,会阻止冗余链路形成环路。RSTP则通过允许快速过渡到转发状态来缓解这一问题,从而在不牺牲环路保护的前提下提高网络可用性。
综合来看,STP与RSTP的主要区别在于端口状态、收敛速度等方面。RSTP针对STP的不足进行了改进,特别是在网络需要快速响应拓扑变化的场景下,RSTP提供了更好的性能表现。然而,选择哪种协议取决于特定的网络需求,对于要求高可靠性和稳定性的环境,可能仍然倾向于使用STP。
下面是STP与RSTP的实验拓扑和命令:
STP的拓扑图:
STP命令 :
LSW1:sys //进入系统视图的简写
LSW1:undo info-center enable //关闭路由器的输出信息
LSW1:sys LSW1 //修改交换机名字为LSW1
LSW1:stp enable //开启STP
LSW1:stp mode stp //配置STP模式为STP
LSW1:stp priority 0 //设置STP的优先级为0
LSW1:display stp //查看STP
LSW1:display stp brief //查看STP接口
LSW2:sys
LSW2:undo info-center enable
LSW2:sys LSW2
LSW2:stp enable
LSW2:stp mode stp
LSW2:display stp
LSW2:display stp brief
LSW3:sys
LSW3:undo info-center enable
LSW3:sys LSW3
LSW3:stp enable
LSW3:stp mode stp
LSW3:display stp
LSW3:display stp brief
RSTP的拓扑图:
RSTP命令:
LSW1:sys
LSW1:undo info-center enable
LSW1:sys LSW1
LSW1:stp enable
LSW1:stp mode rstp //配置STP模式为RSTP
LSW1:stp priority 0
LSW1:display stp
LSW1:display stp brief
LSW2:sys
LSW2:undo info-center enable
LSW2:sys LSW2
LSW2:stp enable
LSW2:stp mode rstp //配置STP模式为RSTP
LSW2:stp priority 4096
LSW2:display stp
LSW2:display stp brief
LSW3:sys
LSW3:undo info-center enable
LSW3:sys LSW3
LSW3:stp enable
LSW3:stp mode rstp //配置STP模式为RSTP
LSW3:display stp
LSW3:display stp brief
配置边缘端口
边缘端口是指位于网络边缘的端口,它直接与终端设备连接,而不是与其他交换设备相连。
在LSW3中进行配置
LSW3:interface e0/02
LSW3:shutdown
LSW3:undo shutdown
LSW3:quit
LSW3:display stp brief
关闭接口时,查看stp状态,连接终端的接口会显示Discarding(丢弃)
打开接口时,查看stp状态则会显示Learning(学习)#可能需要过个十几秒
在等个30秒后查看stp状态,会变成Forwarding(转发)
下方两张图是STP抓包的图片:
下方两张图是RSTP抓包的图片: