STP 根桥、根端口、指定端口是如何选举的

 

 

学习HCIA过程中,对交换机的根桥、跟端口以及指定端口选举有些迷糊,也度娘了一番,总觉得一部分人解释的不够全面精细。通过仔细研究最终有了自己的理解,分享给大家,如果纰漏,欢迎指正。

STP收敛过程:

1. 选根桥 (Root Bridge):根桥选举很简单

要点:比较桥ID,桥ID由2字节优先级和6字节MAC地址组成。

a. 先比较桥ID中的优先级,具有最小优先级的,此交换机定为根桥。

b. 如果优先级一样,再比较桥ID中的MAC地址,MAC地址最小的确定为跟桥。

2. 所有非根交换机上选根端口 (Root Port):

需要理解的一个要点:根端口是非根桥交换机用来接收来自根桥交换机方向的BPDU,因此首先需要计算流量从根交换机到达非根交换机上的哪个端口开销(Cost)最小,通俗点说就是,如果根交换机要发送BPDU到某台非根交换机,发送到该非根桥交换机的哪个端口最省时省力。如果开销都一样,再看每个端口上一级(及发送者)的桥ID,如果桥ID也一样,在比较上一级发送者的发送端口优先级,如果优先级一样,再比较发送端口的MAC地址。

a. 非根桥交换机上,哪个端口到根桥的开销(确切来说,应该是从根桥到达非根交换机的每个端口的开销,这才是正确的方向)最小,开销最小的端口,即为该非根交换机的根端口。

b. 如果到达根桥开销一样,此时再比较上一级(接收BPDU方向)发送者的桥ID。选出发送者桥ID最小的对应的端口。

c. 如果上一级发送者桥ID也一样,在比较发送端口的优先级。选出优先级最小的对应的端口。

d. 如果发送端口优先级也一样,在比较发送端口的端口号(比如f0/0、f0/1)。

比较过程中选出的端口为非根交换机上的根端口,该根端口主要用来接收来自根桥方向的BPDU。拓扑发生变化时也发送TCN。

3. 选指定端口(Designated Port):

a. 根桥上所有端口都是指定端口。

b. 每条链路上的两个端口,哪个端口到根桥的开销最小,最小的为指定端口。(注意:到根桥途中不要经过该链路上的另一个端口)

我觉得指定端口作用有两个,一是通过选举的指定端口转发来自根交换机的BPDU到其他非根交换机效率最高(其实根端口对端的端口肯定是指定端口),二是当指定端口所在链路发送故障时,通过此指定端口所属的交换机发送TCN到根交换机效率最高。cost小即效率高。个人认为指定端口的重要作用还是为了考虑链路发生改变的情况。以此选指定端口可以只参考这条依据:当一条链路物理故障时,通过链路两端的哪个端口所属交换机发回TCN到根桥的开销最小,则那个端口就是这条链路的指定端口。

4. 阻塞端口

至此,其余既不是根端口也不是指定端口的都是阻塞端口。

posted @ 2020-09-03 10:49  疯刘小三  阅读(7631)  评论(0编辑  收藏  举报