STP的不足之处:
(1)没有细致的区分端口状态和端口的角色;
(2)STP端口状态共有5种,包含Disabled、Blocking、Listening、Learning、Forwarding收敛比较慢;
(3)Listening、Learning和Blocking状态对于用户来说,并没有什么区别,都不能转发流量。
RSTP是STP的升级版本,它重新划定端口的角色和状态,使用更快速的握手协商机制,降低了收敛时间,使它成为继STP协议之后首选的生成树协议,不足之处是在同一网络内的交换机上所有的VLAN共用同样的拓扑。
一。RSTP的改进
1.RSTP的端口角色有4种:根端口、指定端口、Alternate端口、Backup端口。
(1)根端口和指定端口与STP协议中的作用一样;
(2)Alternate端口:由于学习(Learning)到其他网桥发送的配置BPDU报文而阻塞的端口,该端口提供了从指定桥到根桥的另一条可切换路径,作为根端口的备份端口;
(3)Backup端口:由于学习到自身放的配置BPDU报文而阻塞的端口,Backup端口作为指定端口的备份,它提供了另一条从根桥到相应网段的备份路径;
2.RSTP的端口状态有3种:Discarding、Learning、Forwarding。
RSTP与STP端口状态的比较:
RSTP端口状态 | 对应的STP端口状态 | 功能 |
Forwarding | Forwarding | 可转发用户数据帧,学习MAC地址 |
Learning | Learning | 不能转发用户数据帧,可学习MAC地址 |
Discarding | Listening | 不能转发用户数据帧,也不能学习MAC地址 |
Blocking | ||
Disabled |
3.RSTP的快速收敛机制:
(1)Proposal/Agreement机制(P/A机制):当一个端口被选举称为指定端口后,在STP中,该端口至少要等待一个转发延时Forward Delay(Learning)时间才会迁移到Forwarding状态。而在RSTP中,此端口会先进入到Discarding状态,再通过P/A机制快速进入Forwarding状态。注意:这种机制必须在点对点全双工链路上使用。
(2)根端口快速切换机制:若网络中出现了一个根端口失效的情况,网络中最优的Alternate端口会成为根端口,进入到Forwarding状态。原因是通过这个Alternate端口连接点网段上必然有一个指定端口可以通到网桥;
(3)边缘端口的引入:在RSTP中,若某一个指定端口位于整个网络的边缘,即不再与其他的交换设备进行连接,而是直接的与终端设备连接,这种端口就称为边缘端口。该端口不接收处理配置BPDU,不参与RSTP运算,可以有由Disable直接转到Forwarding状态,而且不需要经历时延,就像是在端口上禁用了STP。但是,一旦边缘端口收到配置BPDU,就会丧失边缘端口的属性,称为普通的STP端口,还会重新进行生成树就算,从而引起网络的动荡。
二。RSTP的配置
实验内容:
在所有的交换机上运行生成树协议,同时使用RSTP协议,加快网络的收敛速度。将S1作为根交换机、S2作为次根交换机,并配置边缘端口进一步优化网络。
实验目的:
(1)理解RSTP的应用场景;
(2)掌握RSTP的基本配置;
(3)掌握RSTP的边缘端口的应用;
(4)理解RSTP备份端口。
实验拓扑:
实验所用MAC地址:
设备及型号 | 全局MAC地址 |
S1(S3700) | 4c1f-cce9-6a27 |
S2 | 4c1f-cc7c-219a |
S3 | 4c1f-cc9b-0a9b |
S4 | 4c1f-ccea-2eb3 |
实验操作:
1.基本配置:根据实验要求完成相应的IP地址的配置,测试直连链路的连通性。
2.RSTP基本功能的配置:
将生成树模式由默认的MSTP更改成RSTP模式。
[S1]stp enable
[S1]stp mode rstp
......
在各交换机上使用display stp命令查看生成树的模式及根交换机的位置。
[S1]dis stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-cce9-6a27
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc7c-219a / 20000
CIST RegRoot/IRPC :32768.4c1f-cce9-6a27 / 0
[S2]dis stp
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-cc7c-219a
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc7c-219a / 0
CIST RegRoot/IRPC :32768.4c1f-cc7c-219a / 0
......
配置根交换机和次根交换机:
[S1]stp root primary
[S2]stp root secondary
使用display stp brief命令查看每台交换机上的端口角色和状态。
[S1]dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
[S2]dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
[S3]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 BACK DISCARDING NONE
[S4]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
可以观察到现在S2的GE0/0/1端口为根端口,其他所有的端口为指定端口。
现将S2的GE0/0/1端口使用shutdown命令关闭掉,再使用命令查看S2上其他的端口角色和状态的变化。
[S2-GigabitEthernet0/0/1]shutdown
Apr 2 2019 14:21:39-08:00 S2 %%01PHY/1/PHY(l)[0]: GigabitEthernet0/0/1: chan
ge status to down
Apr 2 2019 14:21:41-08:00 S2 %%01PHY/1/PHY(l)[1]: GigabitEthernet0/0/1: chan
ge status to down
Apr 2 2019 14:21:44-08:00 S2 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.
191.3.1 configurations have been changed. The current change number is 7, the ch
ange loop count is 0, and the maximum number of records is 4095.
[S2-GigabitEthernet0/0/1]q
[S2]dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
[S2-GigabitEthernet0/0/1]undo shutdown //恢复接口
Apr 2 2019 14:23:12-08:00 S2 %%01PHY/1/PHY(l)[2]: GigabitEthernet0/0/1: chan
ge status to up
Apr 2 2019 14:23:14-08:00 S2 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.
191.3.1 configurations have been changed. The current change number is 8, the ch
ange loop count is 0, and the maximum number of records is 4095.
[S2-GigabitEthernet0/0/1]dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
当网络拓扑发生改变时,RSTP采用P/A机制和根端口快速切换机制使端口状态立即从Discarding状态进入到Forwarding状态,缩短了收敛的时间,减少了对网络通信的影响。
3.边缘端口的配置
生成树的计算主要发生在交换机互连的链路上,而连接PC的端口没有必要参与生成树的计算。
现在将交换机上连接PC的接口配置为边缘端口,使用stp edged-port enable命令开启边缘端口的功能。
现在将S4交换机的E0/0/1接口先关闭在开启,观察端口状态的变化。
[S4-Ethernet0/0/1]shutdown
[S4-Ethernet0/0/1]undo shutdown
[S4-Ethernet0/0/1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI DISCARDING NONE //现在是Discarding状态,接口会在15s后进入Learning状态
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
[S4-Ethernet0/0/1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI LEARNING NONE //现在是Learning状态,接口最终会在15s后进入Forwarding状态
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
[S4-Ethernet0/0/1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
经过上述的过程,将会发现一个接口如果参与生成树的计算,要经过Discarding和Learning状态,经过30s的时间最终进入到转发状态。
[S4-Ethernet0/0/1]stp edged-port enable //开启边缘端口的功能
[S4-Ethernet0/0/1]shutdown
[S4-Ethernet0/0/1]undo shutdown
[S4-Ethernet0/0/1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
//此时接口立即进入到转发状态,没有30s的延迟。
在使用RSTP的环境中,可以在交换机上把连接PC、路由器和防火墙的端口都配置成边缘端口,边缘端口能降低中端设备访问网络需要等待的时间,已至提高网络的可用性。
4.备份端口状态的查看
实验拓扑中S3和S4之间通过一个Hub设备连接,而且S3的E0/0/4通过Hub与S4连接。
在S3上查看生成树的信息。
[S3]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 BACK DISCARDING NONE //备份端口
此时的S3中E0/0/3为指定端口,E0/0/4为备份端口。现在将E0/0/3接口关闭掉,观察备份端口的变化。
[S3]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/4 BACK DISCARDING NONE
[S3]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/4 DESI LEARNING NONE
[S3]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/4 DESI FORWARDING NONE
可以观察到,两个接口连接在同一个Hub上,当E0/0/3接口关闭后,E0/0/4会成为新的指定端口,指定交换机仍是S3,S3仍然为Hub所在的网段提供访问其他交换机的数据访问路径。
RSTP协议的收敛很快,所以替代端口会立即成为根端口。
5.在RSTP中,Alternate端口和Backup端口角色所对应的最终端口都是Discarding。
区别:Alternate端口用于为根端口做备份,而Backup端口用于本交换机上的指定端口做备份。当相应的根端口或指定端口断掉后,备份端口会立即承担原有的根端口或指定端口的角色,开始转发数据。