华为实现中:STP运行机制实例分析二

如图所示:三台交换机组成二层网络,三台交换机的优先级SW1<SW2<SW3(分别为4096、8192、32768),链路之间的成本SW1-SW2为20000;SW2-SW3为20000;SW1-SW3为50000。

第一步:选举根桥

假设三台交换机是同步启动的,刚开始的时候,三台交换机都认为自己是根交换机,将自己所有的端口都设置为指定端口,并向外发送配置BPDU,在配置BPDU中起到根桥选举的多元组是{根桥ID、根路径开销、网桥ID、发送端口ID}(如果四元组都一样再看接受端口ID。)

SW1的配置BPDU中的4元组为{4096.4c1f-cc43-24cf、0、4096.4c1f-cc43-24cf 、portID},为了方便,之后用交换机名字代表它的桥ID。SW2、SW3的配置BPDU的四元组分别为{SW2、0、SW2、portID}、{SW3、0、SW3、portID}。

对于SW1,它从G1和G2口会分别受到SW2和SW3发来的BPDU,通过与自己发送的BPDU比较发现,自己两个端口发送的BPDU分别都比从两个端口接受到的BPDU更加优秀,所以SW1忽略收到的配置BPDU并确定自己是根桥,然后按照Hello time从G1和G2这两个指定端口发送自己的配置BPDU。

对于SW2,它从G1和G3端口分别接收到SW1和SW3发送过来的配置BPDU,发现从G1收到的BPDU最优,于是在自己的G1端口用SW1发送过来的配置BPDU替换自己之前的BPDU,从G2口收到的配置BPDU不如自己的优秀,所以忽略。综合比较接收和自己发送的配置BPDU,选出G1为根桥。

对于SW3,它从G2和G3端口分别接收到SW1和SW1发送过来的配置BPDU,发现从两个口端接收到的BPDU都比自己的优秀,于是在G2和G3端口分别用SW1和SW2发送过来的BPDU来替换自己的BPDU(这里的替换是指把端口里缓存的BPDU换掉)。综合比较接收和自己发送的配置BPDU,选出G1为根桥。

第二步:非根桥的根端口选举     

SW2的 G1端口现在缓存的是SW1发送过来的BPDU,G3端口缓存的是自己的BPDU,通过比较两个端口缓存的BPDU优先级可以发现G1缓存的更加优秀,所以G1端口成为SW2的根端口。

SW3的G2端口现在缓存的是SW1发送过来的BPDU,G3端口缓存的是SW2发送过来的BPDU,通过比较这两个端口缓存的BPDU优先级可以发现G2端口缓存的更加优秀,所以G2端口成为SW3的根端口。

第三步:非根桥交换机非根端口的BPDU计算

SW2从G1口接收的BPDU以及现在G1口缓存的BPDU是{SW1,0,SW1,portID},SW2给除了根端口外的其他端口重新计算一份BPDU,SW2的G3端口重新计算的BPDU为{SW1,20000,SW2,portID}。

同理SW3上的G3端口重新计算出的BPDU为{SW1,50000,SW3,portID}。

注意:如果一台非根桥交换机有多个非根端口,则每个端口都要重新计算BPDU,每个端口重新计算的BPDU的根桥ID,根路径开销,网桥ID都一样,不同的是portID。

第四步:根端口重新选举情况

SW2的G3端口会发送自己重新计算后的BPDU给SW3的G3,此时SW3的G3端口会把新收到的BPDU与自己重新计算后的BPDU比较。SW2的G3发送的BPDU是{SW1,20000,SW2,portID};而SW3的G3端口现在缓存的BPDU是经过根据G1端口重新计算后的BPDU:{SW1,50000,SW3,portID},SW3发现G3缓存的BPDU没有SW2的G3发给它的BPDU优秀,于是将SW2的G3发送的BPDU保存在自己的G3里面。

此时SW3的G1端口缓存的BPDU是{SW1,0,SW1,portID}SW3的G3端口缓存的BPDU是{SW1,20000,SW2,portID}此时 SW3交换机根据G1和G3端口新缓存的BPDU开始重新选举根端口。(根路径花销的计算是收到的BPDU报文的根路径花销值+所在链路的路径开销)SW3的G3到根桥的路径开销为40000,SW3的G2到根桥的路径开销为50000,所以G3成为新的根端口。

第五步:重新计算非根桥交换机非根端口的BPDU

此时SW3的G3成为新的根端口,原本的根端口G2进行BPDU报文重新计算,重新计算机出的报文为:{SW1,40000,SW2,portID}

第六步:阻塞端口

可以看出新计算出的BPDU没有现在G2缓存的BPDU{SW1,0,SW1, portID }优秀,所以G2口被阻塞。

小结:

可以看出,例2与之前的例1不同之处在于SW1-SW3的链路优先级,例1是20000,例2是50000,这个改变刚好导致了SW2的G3端口重新计算的BPDU报文比SW3的G3端口重新计算的BPDU报文优秀,导致了SW3的根端口的重新选举。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值