1.3快速生成树协议RSTP

  • Post author:
  • Post category:其他


前面我们了解到,STP的收敛速度很慢。需要调节STP计时器参数。但是STP默认收敛时间慢的问题导致当网络拓扑发生变化时,等待时间过长严重影响业务效率。快速生成树协议(Rapid Spanning Tree Protocol,RSTP)缩短了网络的收敛时间,RSTP的收敛速度最快可以缩短到1s之内,在拓扑发生变化时能够快速恢复网络的连通性。

RSTP在STP的基础上增加了2种端口角色:替代端口(Alternate)、备份端口(Backup),RSTP中共有4种端口角色:根端口、指定端口、替代端口、备份端口。

下图所示,交换机S1为根桥,对于交换机S3而言,有两个端口接入了该网络, S3的G0/0/1到达根桥的RPC根路径开销更小,因此该端口为设备的根端口,其G0/0/2端口由于收到了交换机S2所发送的BPDU网桥协议数据单元,并且经过交换机S3计算后决定阻塞,成为该端口的替代端口。

在这里插入图片描述

在交换机S3上执行 display stp brief 命令

[S3]display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        ROOT  FORWARDING      NONE
   0    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE

可以看到G0/0/2接口的端口角色为 ALTE 即表示 Alternate(替代端口)

在这里插入图片描述

1、RSTP的端口状态:

STP定义了5种端口状态,而RSTP中简化了端口状态,将STP的禁用、阻塞及侦听状态简化为丢弃(Discarding)状态、学习状态(Learning)、转发状态(Forwarding)。

(1)端口不转发用户流量,也不学习MAC地址,那么端口就是丢弃状态。

(2)端口不转发用户流量,但是学习MAC地址,那么端口就是学习状态。

(3)端口即转发流量,也学习MAC地址,那么端口就是转发状态。

2、边缘端口:

运行了STP的交换机,其端口在初始启动之后,会进入阻塞状态。如果该端口被选举为根端口或指定端口,那么它需要经历侦听及学习状态,最终进入转发状态。对于交换机上连接到交换网络的端口而言经历上述过程是必要的,毕竟该端口存在产生环路的风险。但是,当用户PC接入到交换机后希望能立即接入到网络,而不是等待STP的收敛。毕竟PC或服务器接入到交换机上引发环路的风险是非常低的。

在 RSTP中,可以将交换机的端口配置为边缘端口(Edge Port),边缘端口默认不参与生成树计算,当边缘端口被激活后,它可以立即切换到转发状态并开始收发业务流量,边缘端口的激活或关闭不会触发RSTP拓扑变更。实际项目中,通常把连接终端设备的端口配置为边缘端口。 下面进行实验;将交换机SW2连接到三台PC的端口配置为边缘端口。

在这里插入图片描述

[SW2]interface ethernet 0/0/1
[SW2-Ethernet0/0/1]stp edged-port enable
[SW2]interface ethernet 0/0/2
[SW2-Ethernet0/0/2]stp edged-port enable
[SW2]interface ethernet 0/0/3
[SW2-Ethernet0/0/3]stp edged-port enable

3、BPDU保护:

边缘端口可能会误接交换设备,一旦交换设备接到边缘端口,就会引入环路隐患。当边缘端口接了交换设备,并且收到了BPDU,则该端口立即变为一个普通的生成树端口,在此过程中引发网络中的RSTP重计算。在华为交换机上,可以通过激活BPDU保护(BPDU Protection)功能解决上述问题。当交换机激活该功能后,如果边缘端口收到BPDU,则交换机会立即把端口关闭(即置为Error-Down),同时触发警告。在交换机系统视图中执行

stp bpdu-protection

可以在所有边缘端口上激活BPDU保护功能。

在这里插入图片描述

[SW2]stp bpdu-protection

查看交换机的RSTP状态

[SW2]display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      BPDU
   0    GigabitEthernet0/0/2        DESI  FORWARDING      BPDU
   0    GigabitEthernet0/0/3        DESI  FORWARDING      BPDU
   0    GigabitEthernet0/0/24       DESI  FORWARDING      NONE

可以看到G0/0/1、G0/0/2、G0/0/3端口都备配置为边缘端口,这些端口都将激活BPDU保护功能(Protection 列显示为BPDU),而G0/0/24并非边缘端口,不会激活BPDU保护功能。

我们现在把交换机SW2的G0/0/3接口接入一台交换机,看看会发生什么变化。

在这里插入图片描述

查看RSTP的端口状态

<SW2>display stp brief
 MSTID  Port                        Role  STP State     Protection
   0    GigabitEthernet0/0/1        DESI  FORWARDING      BPDU
   0    GigabitEthernet0/0/2        DESI  FORWARDING      BPDU
   0    GigabitEthernet0/0/24       DESI  FORWARDING      NONE

可以看到SW2并没有显示G0/0/3的端口状态,这是因为交换机SW2激活了BPDU保护功能后,如果边缘端口收到BPDU,则交换机会立即把端口关闭。使用命令

display curr

命令显示当前配置。可以看到交换机SW2的G0/0/3为

shutdown

关闭状态。

interface GigabitEthernet0/0/1
 stp edged-port enable
#
interface GigabitEthernet0/0/2
 stp edged-port enable
#
interface GigabitEthernet0/0/3
 shutdown
 stp edged-port enable

如果边缘端口由于接收到了BPDU而关闭,则默认是不会自动恢复的,可以手动在接口视图下执行

undo shutdown

命令来恢复端口。

也可以在系统视图下执行

[SW2]error-down auto-recover cause bpdu-protection interval 30

命令配置端口自动恢复功能。interval 关键字所指定的时间(30~86400s)后自动恢复。



版权声明:本文为weixin_44551911原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。