网桥通过互相发送,转发BPDU进行STP的选举。在STP的选举时各网桥都可发送进行生成树的计算。网络稳定时只有根网桥可以发送用于维护网络拓扑。

BPDU的数据结构最重要的是 根网桥ID,到根网桥的路径开销,发送这个BPDU的网桥ID,发送这个BPDU的端口ID.

选举分为网桥角色选举,端口角色选举。

1 网桥角色选举:网桥ID最小的选为根网桥。

 

拓扑如图:

Vlan20 的生成树S1为根网桥。

在S3上:显示vlan 20 生成树。

2选根端口。在非根网桥上选一个端口。选到根网桥开销最小的端口为根端口。这个端口到根网桥的开销等于这个端口的开销+收到的BPDU中到根网桥的开销。如果开销一样,则看收到BPDU的中的网桥ID最小,如果还是一样,则看收到 BPDU的端口ID最小的那个端口为根端口。

3 选指定端口。在每条链接的两端选一个,选举原则,首先在每个网桥上从链路对端收到的BPDU中到根网桥开销与自己到根网桥的最小开销比较,如果自己的更小,则自己这端的端口为指定端口。(一般根网桥上的接口为指定端口)如果开销一样,则看收到的BPDU中的转发网桥ID与自己的网桥ID比较,如果自己的更小,则在自己身上的端口为指定端口,否则对端为指定端口。如果还是一样,则看收到的BPDU的端口ID,如果比自己身上的这个端口的ID大,则自己身上的这个端口为指定端口,否则对端为指定端口。

最终阻塞其它端口。