第一步、首先在所有交换机中选举一个根交换机(Root Bridge)
选举规则:BID小的优先(优先级+MAC组成,先比较优先级,再比较MAC)
第二步、在每台非根交换机中选一个根端口(Root Port):属于内斗,不能走自己同一交换机的其他端口
选举规则:1.到达根交换机开销小的优先
2.对端交换机BID小的优先
3.对端端口PID小的优先
4.自己这端端口PID小的优先
如图,二台设备中间通过一台HUB相连接。在这种方式下S2到根桥的开销、对端交换机BID、对端端口PID均是相同的,这种情况就需要根据本端PID来选举根端口,PID由优先级和E0/01/组成,假设S2的E0/0/1和E0/0/2优先级一样。那么显然S2的1端口的PID更小。因此,S2的1端口就被选为了根端口。
第三步、每根线选一个指定端口(Designated Port):属于外斗,可以走自己交换机的其他端口
选举规则:1.到达根交换机开销小的优先
2.自己所在交换机BID小的优先
3.自己这端端口PID小的优先
第四步、剩下没有角色的端口全是阻塞端口(Blocked Port)
---------------------------------------------------------------------------------------------------------------------------------
stp在园区网的典型应用
1.网关起在汇聚上,在核心与汇聚之间配互联地址,核心与汇聚之间采用三层路由连接。stp的bpdu报文属于组播,会通过三层传播,所以核心上全局关闭stp协议(undo stp global enable)
2.让所有汇聚交换机保证当根交换机stp root primary(或者stp priority 0命令效果一样 ),在根交换机的所有下联接入交换机的接口(根交换机上的所有端口都是指定端口)上做根桥保护stp root-protection,只要在根交换机的接口做了根桥保护,那么就决定了对面的接口是根端口,保证了汇聚与接入交换机间的连接线不会阻塞Discarding,接入交换机上就没必要做根端口保护了,当然也做不了,没这个命令。
3.在接入交换机上全局开stp bpdu-protection,开启了bpdu保护,意味着只要该交换机某接口下接了开启stp协议的交换机,直接discarding,目的是不允许接入交换机下私自接入带生成树协议的交换机。
在接入交换机是全局开启生成树协议,当某接口下有了环路时,全局开启了生成树可以保证该接口直接discarding且不影响其他接口。
接入交换机再往下接级联交换机(该交换机业全局开stp global enable和stp bpdu-protection)时,需要互联接口下undo stp enabl,因为全局开了bpdu保护,不在互联接口下undo stp enable,下接级联交换机的接口会因bpdu保护直接discarding。下联终端的接口开启stp edged-port,接口能快速进入转发状态 ,开启了边缘端口的接口有bpdu报文经过时,会以非边缘端口状态运行。