STP Election Process

802.1D STP

​ 802.1D是第一个生成树版本,不支持VLAN。选举过程如下

  1. 选择一个根桥
  2. 选择根端口
  3. 选择指定端口
  4. 选择关闭端口(剩下的最后一个端口)

Root Bridge Select

选举根桥首先是比较Bridge ID,谁的Bridge ID更小,则谁优先被选择成为根桥。

  • Bridge ID = Priority ( 32768 by default ) + MAC ( base MAC address )

  • 首先比较优先级,如果优先级相同其次比较base MAC address

  • Bridge ID共8字节,其中MAC地址占6字节,Priority占2字节,Priority的默认值为2字节表达数范围(0 - 32768)的中间值。

  • 当交换机第一次启动,它会假设自身为根桥,它会将自身的Bridge ID放入向外发送的BPDU中的Root Bridge ID和Bridge ID中。

  • 当它收到一个更小的Bridge ID,它会将该ID写入自身发送的BPDU中,然后将更新后的BPDU通告给其他的交换机。

  • 通过不断交换BPDU和比较Bridge ID则会选举出最终的根桥。

  • 根桥会生成Configuration BPDU,并每隔2秒钟通过可用路径发送出去。其余的交换机不能生成BPDU,只能对根桥发送的BPDU进行转发
    (转发的BPDU数据包中的桥ID为转发者的桥ID)。

Root Port Select

根桥上没有根端口,每一个交换机只有一个根端口(802.1D)。

  • 根端口是离根桥最近的端口。
  • 根端口一般面向根桥。
  • 选举过程
    • 选举到根桥最小路径开销的端口

      • 根桥发送的BPDU中包含的Cost为0。
      • 交换机收到BPDU后会检查进方向端口速率得出Cost,然后将BPDU中的Cost进行叠加,再转发BPDU。(下图右侧规则已过时)
    • 更小的发送者的桥ID

    • 更小的发送者的端口优先级(Default 128)

    • 更小的发送者的端口ID

Designated Port

​ 每个物理网段都会生成一个指定端口,根桥上的所有端口都是指定端口。

  • 更小的到根桥路径开销
  • 更小的交换机桥ID

Bloking Port

​ 性质

  • Receive BPDUs
  • 丢弃所有数据
  • 不发送任何数据