通过在该端口上配置命令stp bpdu-filter enable便可解决此问题。在网络边缘设备上配置该命令,使边缘端口不处理、不发送BPDU报文,该端口即为BPDU filter端口.从而帮助加快网络拓扑的收敛时间以及加强网络的稳定性.
(1)端口状态的改变
rstp:discarding、 learning、 forwarding
stp:disable、 blocking、 listening、 learning、 forwarding
stp的disable、 blocking、 listening在表现上是没有区别的,所以rstp把这几个状态合为discarding状态
从用户角度来讲,Listening、 Learning和Blocking状态并没有区别,都同样不转发用户流量。
从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。
根端口和指定端口可以都处于Listening状态,也可能都处于Forwarding状态。
(2)端口角色的改变
rstp:rp、 dp、 ap、 bp
stp:rp、 dp、非指定端口
ap是rp的备份,当rp失效时,可以立即接替成为新的rp
bp是被本交换机的dp抑制的端口,虽然名字为备份端口,但是当dp失效时,不能立即成为dp(dp可以通过p/a协商快速的进行端口角色的迁移)
(3)收敛快(p/a、引入edge port)
对于STP而言,端口角色的确定是可以很快完成的,主要速度的瓶颈在于:为了避免环路,必须等待forward delay才能进行转发。而rstp主要目的就是消除了这个瓶颈,使用p/a协商加速收敛时,通过阻塞自己的非根端口保证不会出现环路,所以可以不等待forward delay。并且rstp引入了ap和edge port,当本交换机的rp down了,ap会立即接替成为新的rp,edge port是需要管理员手工配置的,在管理员预知无环的情况下,可以将运行rstp的端口配置成edgeport来加速rstp的收敛速度
(4)处理拓扑改变的方式不一样
<1>stp检测拓扑是否发生变化的方法:
标准定义:up/down都为拓扑变化
华为实现:一个端口的状态变为forwarding
<2>stp的拓扑改变处理过程:
由拓扑改变的交换机朝着根桥方向逐跳发送tcn,收到tcn时会发送tca置位的bpdu进行确认,根桥收到tcn时,会产生tc置位的配置bpdu向全网泛洪(持续35秒: max-age+一个转发延迟),非根交换机收到tc置位的bpdu时,mac表的有效时间会缩短
<3>rstp检测拓扑变化是否发生变化的方法:
一个非边缘端口的端口状态变为forwarding状态
<4>rstp的拓扑改变处理过程:
当交换机检测到拓扑发生变化时,交换机会清空状态发生变化的端口上学习的mac地址,并且由此交换机产生tc置位的配置bpdu并向全网泛洪,收到tc置位的交换机会清除mac表项(除了收到此bpdu的端口和边缘端口)
<5>相对来说,RSTP对拓扑改变的处理更加高效