STP的端口状态以及转换

STP生成树的五种端口状态:

  1. Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。端口会在这种状态下停留10秒钟时间。
  2. Blocking/Discarding:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。在默认情况下,端口会在这种状态下停留20秒钟时间。
  3. Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。在默认情况下,该端口会在这种状态下停留15秒钟的时间。
  4. Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。在默认情况下,端口会在这种状态下停留15秒钟时间。
  5. Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。在默认情况下,端口会在这种状态下停留15秒钟时间。

STP端口状态迁移机制:

STP的端口状态以及转换

1 端口初始化或使能;

2 端口被选为根端口或指定端口。

3 端口不再是根端口或指定端口。

4  forward delay计时器超时。

5  端口禁用或链路失效。

  • STP在启动的时候,端口状态由Disabled转为Blocking,此时端口指定接收分析BPDU,不能发送;
  • 如果Blocking状态端口被选为根端口或者指定端口,会进入Listening状态,此时端口接收并发送BPDU,这种状态会持续一个Forward Delay时间(缺省15s);
  • 没有意外情况回到Blocking,端口会进入Learning状态,并持续一个Forward Delay时间(缺省15s),此时端口可以收发BPDU,同时构建MAC地址表,为转发用户数据帧做准备;
  • 没有意外,端口进入Forwarding状态,开始用户数据帧转发工作;
  • 状态迁移过程中,一旦端口被关闭或者出现链路故障,进入禁用状态;
  • 状态迁移过程中,一旦端口不再是根端口或者指定端口,进入阻塞状态;

 

上一篇:python redis自带门神 lock 方法


下一篇:5种网络IO模型:阻塞IO、非阻塞IO、异步IO、多路复用IO、信号驱动IO