STP(生成树协议)和RSTP(快速生成树协议)都是用于在交换网络中避免环路的网络协议,但它们在端口状态和角色以及保护机制方面存在一些差异。具体分析如下:
- 端口状态和角色:STP定义了五种端口状态(禁用、阻塞、侦听、学习、转发)和三种端口角色(根端口、指定端口、备用端口)。而RSTP简化了这些状态和角色,将端口状态减少为三种(丢弃、学习、转发),并引入了两种新的端口角色(备用端口、边缘端口),这有助于提高网络的收敛速度。
- 收敛速度:RSTP通过引入P/A(Port Role/State Transition)机制,加快了网络的收敛速度。这意味着当网络拓扑发生变化时,RSTP能够比STP更快地重新计算生成树并达到稳定状态。
- BPDU处理:在STP中,只有根桥会发送BPDU(桥协议数据单元),而非根桥则负责转发这些BPDU。而在RSTP中,无论是根桥还是非根桥都会发送RSTP BPDU,并且非根桥会在本地保留一份根桥发来的BPDU,以Hello间隔为基准定时发送。
- 保护机制:RSTP相比于STP提供了更完善的保护机制,例如通过边缘端口的角色可以更好地处理连接到终端设备的端口,从而提高了网络的稳定性和安全性。
STP和RSTP的端口状态有一些区别,STP主要有五种端口状态,而RSTP将端口状态缩减为三种。具体如下:
-
STP端口状态:
- 禁用(Disabled):端口不参与生成树,也不转发帧,通常是因为管理性关闭或端口物理层没有激活。
- 阻塞(Blocking):端口不能参与数据报文的转发,但可以接收BPDU配置消息。
- 监听(Listening):端口不进行数据转发和地址学习,但可以接收并发送BPDU消息。
- 学习(Learning):端口开始地址学习,并可以接收、处理和发送BPDU消息。
- 转发(Forwarding):端口是活动拓扑的一部分,会转发数据帧和BPDU消息。
-
RSTP端口状态:
- Discarding:端口既不转发用户流量也不学习MAC地址。
- Learning:端口不转发用户流量但学习MAC地址。
- Forwarding:端口既转发用户流量也学习MAC地址。
RSTP的实验
LSW1基础命令
<Huawei>system-view //进入系统视图
[Huawei]undo info-center enable //关闭输出信息
[Huawei]sysname LSW1 //更改设备名称
[LSW1]stp enable //开启生成树
[LSW1]stp mode rstp //开启RSTP
[LSW1]stp priority 4096 //设置生成树的优先级
[LSW1]display stp //查看stp的状态
LSW2的基础命令
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
[LSW2]stp enable
[LSW2]stp mode rstp
[LSW2]stp priority 8192
LSW3的基础命令
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp enable
[LSW3]stp mode rstp
然后查看端口的角色状态
[LSW1]display stp brief
配置边缘端口
边缘端口是指位于网络边缘的端口,它直接与终端设备连接,而不是与其他交换设备相连。
在LSW3中进行配置
[LSW3]interface e0/0/3
[LSW3-Ethernet0/0/3]shutdown //关闭接口
[LSW3-Ethernet0/0/3]undo shutdown //开启接口
[LSW3-Ethernet0/0/3]quit
[LSW3]display stp brief //查看stp状态
关闭接口时,查看stp状态,连接终端的接口会显示Discarding(丢弃)
打开接口时,查看stp状态则会显示Learning(学习)#可能需要过个十几秒
在等个30秒后查看stp状态,会变成Forwarding(转发)
stp的实验
没手动设置根网桥前的拓扑图
LSW1的命令
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]STP mode stp //开启stp模式,stp的模式为stp,默认为mstp
[LSW1]display stp
LSW2的命令
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
[LSW2]stp mode stp
LSW3的命令
<Huawei>sys
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp mode stp
查看端口状态
将LSW1设置成 根网桥
[LSW1]stp root primary //把LSW1的优先级改成0,变成主根网桥
[LSW3]stp root secondary //把LSW3的优先级改为4096,变成备用网桥
然后查看LSW2的端口状态可以发现变化
LSW2从原来的主根变成了非根
拓扑图也从原来变成了现在