STP计算过程

1、在交换网络中选举一个根桥

(1)选举步骤

①、STP交换机初始启动后,都会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己是根桥;因此,此时BPDU中的根桥ID为各自设备的网桥ID

②、当交换机收到网络中其他设备发送来的BPDU后,会比较BPDU中的根桥ID和自己的BID。

③、交换机不断交换BPDU,同时对BID进行比较,最终选举一台BID最小的交换机作为根桥,其他的则为非根桥。

如图,S1、S2、S3的BID,S1的最小,所以会将S1选举为根桥

(2)特殊情况:

根桥的角色可抢占,当有更优的BID的交换机加入网络时,网络会重新进行STP计算,选出新的根桥。

2、在每台非根桥上选举一个跟接口

(1)根端口

从某台非根桥设备到根桥的工作路径最优且唯一的端口被称为根端口;

由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口;

根端口保证了交换机与根桥之间工作路径的唯一性和最优性;

(2)选举过程

①、交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中携带“RootID、RPC、BID、PID”等关键字段,端口会针对这些字段进行选举。

②、先比较根路径开销(RPC),STP协议把根路径开销作为确定根端口的重要依据。RPC值越小,越优。交换机会选RPC最小的端口最为根端口。

③、RPC相同时,就比较上行交换机的BID,即比较交换机各个端口收到的BPDU中的BID,值越小,越优,所以交换机会选上行设备BID最小的端口作为根端口。

如图,S2的GE 0/0/1到S1的开销和GE 0/0/2到S3的开销一样,但是S1的BID比S3小,所以GE 0/0/1为根端口RP。

④、RPC、BID相同时,比较上行交换机的PID,即比较交换机各个端口收到BPDU中的PID,越小优越,所以交换机会选上行设备PID最小的端口作为根端口。

如图,由于S1 GE 0/0/1的PID比S1 GE 0/0/2的PID小,所以S2的GE 0/0/1是根端口

⑤、RPC、BID、PID相同时,先比较本地交换机的PID,即比较本端交换机各个端口的PID,值越小,越优先,因此交换机会选端口PID最小的端口作为根端口

如果,上游S1发送的BPDU会在集线器里面同时下发给下游交换机S2的两个接口

进行内部的PID比较,GE 0/0/1的PID小于GE 0/0/2所以,S2的GE 0/0/1为根端口

3、在每条链路上选举一个指定接口

(1)指定端口

指定端口链路与根桥之间的工作路径必须是唯一且最优的。

(2)选举过程,指定端口的选举要在根端口选举完成后的基础上进行,下面演示的案例也是。

①、比较RPC,值越小越优,所以交换机会选RPC最小的端口作为指定端口。

此时S1的两个端口都已经选举完毕,S2和S3,各自还剩下一个端口没有进行选举。

②、RPC相同,比较链路两端交换机的BID,值越小,越优先,因此交换机会选BID最小的交换机作为指定端口。

例如S2 GE 0/0/2 和 S3 GE 0/0/2的选举

由于此时S2 GE 0/0/2到S1的COST和S3 GE 0/0/2到S3的COST值一样,所以比较BID,结果S2的BID小于S3所以,GE 0/0/2的端口为指定端口。

③、RPC、BID相等,则比较链路两端端口的PID,值越小,越优先,因此交换机会选BID最小的交换机的端口作为指定端口。

如图,S1 GE 0/0/1的PID低于GE 0/0/2,所以GE 0/0/1为指定端口

④、RPC、BID、PID相等,就比较链路两端端口的PID,值越小,越优先,因此交换机会选PID最小的交换机的端口作为指定端口。

这种场景基本上不可能遇到。。。。。。如果有都是极端Hub情况。

4、非指定端口(预备端口)被阻塞

也就是当根端口和指定端口之后,交换机上所有剩余的非根端口和非指定端口统称为预备端口

(1)阻塞非指定端口

STP会对这些非指定端口进行逻辑阻塞,就是这些端口不能转发数据帧。

(2)注意事项

①、非指定端口可以接受并处理BPDU

②、根端口和指定端口既可以接受和发送BPDU,也可以转发用户数据帧。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇