原理概述
STP协议虽然能够解决环路问题,但是也存在一些不足,比如STP没有细致区分端口状态和端口角色;其次STP端口状态共有5 种,即 Discarding、Blocking. Listening、 Learning 和 Forwarding,收敛慢。而且,对于用户来说 Listening、Learning 和 Blocking状态并没有区别,都不转发流量。根据STP的不足,RSTP做出了改进。RSTP新增加了 2 种端口角色,其端口角色共有4 种:根端口、指定端口、Alternate 端口和Backup端口。
RSTP具有快速收敛的特点。
实验场景
本实验模拟公司网络场景。S3和 S4是接入层交换机,负责用户的接入,S1和 S2是汇聚层交换机,四台交换机组成一个环形网络。为了防止网络中出现环路,产生网络风暴,所有交换机上都需要运行生成树协议。同时为了加快网络收敛速度,网络管理员选择使用RSTP协议,且使得性能较好的S1为根交换机,S2为次根交换机,并配置边缘端口进一步优化公司网络。
实验拓扑
实验步骤
测试PC之间的连通性
在汇聚层交换机SI、S2及接入层交换机S3、S4上,把生成树模式由默认的MSTP
改为RSTP。由于华为交换机上默认即开启了 MSTP,故只需修改生成树模式即可.
其他交换机同理
配置完成后,在交换机SI、S2、S3和S4上都使用display stp命令去查看生成树的模式及根交换机的位置。
可以看到,S4是当前的根交换机
在RSTP构建的树形拓扑中,网络管理员需要设置汇聚层主交换机S1为根交换机,
汇聚层交换机S2为备份根交换机。
配置完成后,同样在S1上使用display stp命令观察。
可以观察到,stp root primary命令修改的是交换机ID中的交换机优先级,把默认 的优先级由32768改为0 ,所以S1的交换机ID变为最小,是 Primary root,即根交换机。
在 S2上使用display stp命令观察。
可以观察到,stp root secondary命令修改的也是交换机ID 中的交换机优先级,把默认的优先级由32768改为4096,使 S2的桥ID变为次小,是 Secondary ro o t,即次根交换机。
用display stp brief命令查看每台交换机上的端口角色及状态
根交换机SI上无根端口,所有端口都是指定端口。
交换机S2上的GE 0/0/1是根端口。
交换机S3上的E 0/0/2是根端口,E 0/0/3是指定端口,而 E 0/0/4是备份端口。
目前S2的GE0/0/1端口是根端口,其他所有端口是指定端口。如果S2的根端口断掉了,S2会选择把其他到达根交换机的端口置成根端口。RSTP协议的收敛比较快,端口 GE 0/0/2会快速协商成为新的根端口,协商期间端口是Discarding状态,协商结束后端口为Forwarding状态,这个过程所需要的时间非常短,这就是RSTP收敛快的一个表现。
模拟根端口断掉的过程,把 S2的 GE 0/0/1端口使用shutdown关闭,同时,使用 display stp brief命令观察S2上其他端口的角色及状态的变化。
变化之前:
可以看到端口GE 0/0/2从之前的指定端口变成了根端口,且处于Forwarding状态
我们再恢复端口:
发现S2又变回来了(RSTP使用P/A机制和根端口快速切换机制使端口状态立即从
Discarding进入Forwarding状态,缩短了收敛的时间,减小了对网络通信的影响。)
配置边缘端口
生成树的计算主要发生在交换机互连的链路之上,而连接PC的端口没有必要参与生成树计算,为了优化网络,降低生成树计算对终端设备的影响,现在网络管理员把交换机上连接PC的接口配置为边缘端口。
配置S4上连接PC的端口为边缘端口,此时生成树计算工作依然进行,但端口进入
转发状态无需等待30s。
关闭E 0/0/1接口,再重新开启此端口,观察边缘端口E 0/0/1的状态变化。
在使用RSTP的环境中,可以在交换机上把连接PC、路由器和防火墙的端口都配置为边缘端口,边缘端口能降低终端设备访问网络需要等待的时间,明显提高网络的可用性。
查看备份端口状态
网络管理员在S3与S4之间加了一台Hub设备,并将S3的E 0/0/4通过Hub与S4 相连。
在 S3上使用display stp brief命令查看生成树信息。
可以观察到,S3的 E 0/0/3接口为指定端口,而同交换机上的E 0/0/4为备份端口,两个接口接到同一台Hub上,当E 0/0/3接口关闭之后,E 0/0/4会成为新的指定 端口。
在 S3上关闭E 0/0/3接口,通过display stp brief命令查看备份端口的状态变化。
可以观察到,S3 上的指定接口断掉后,E 0/0/4接口角色发生变化,状态会由Discarding. Learning最终到Forwarding状态,成为指定接口。