CISCO做的生成树协议STP(Spanning-tree Protocol)讲解FLASH动画,对理解STP很有帮助,我抽空翻译了一下。
以下内容由Slyar人工翻译,英文不太好,如有错误请见谅...
Click 1 of 21:
假设我们有3个网桥,分别是网桥A,网桥B和网桥C。
Click 2 of 21:
任意网桥之间都存在一条链路。
Click 3 of 21:
在网桥启动的时候,所有的网桥都认为他们自己是根桥。
Click 4 of 21:
假设一开始是C发送了BPDU给A和B,声明C是根桥,并且根ID为"32768.00-00-00-00-00-02",结果B的根ID从03变为02,而A的根ID不变。
Click 5 of 21:
考虑B的桥ID大于他从BPDU看到的根ID,因此B认为C是根。而A的桥ID小于他从BPDU看到的根ID,因此A仍旧认为自己是根。C当然还是认为自己是根。
Click 6 of 21:
假设下一步是A发送BPDU给B和C,声明A是根桥,并且根ID为"32768.00-00-00-00-00-01",结果B和C的根ID都变为01。
Click 7 of 21:
所有的桥都达成共识,承认A是根桥。
Click 8 of 21:
每一个非根桥都必须选择一个根端口。一个桥的根端口是距离根桥最近的那个端口。非根桥依据"根路径开销"选举他们各自的根端口,"根路径开销"就是数据包到达根桥的所经过的链路开销之和。
Click 9 of 21:
假设每个桥之间的链路具有相同的带宽(根据IEEE标准,100Mbps带宽开销为19),B和C开始选举他们的根端口。
(动画:B和C的根端口都是port1/1)
Click 10 of 21:
指定端口的选举。选择每个网段到达根桥路径开销最小的端口为指定端口。
Click 11 of 21:
在特定网段含有指定端口的网桥被认为是该网段的指定网桥。
Click 12 of 21:
这里有3个网段,网段1、网段2、网段3
因为A上的端口是直接连接在根桥上的,因此这些端口就成为了网段1和网段2的指定端口。
Click 13 of 21:
网段3
因为从B和C到达根桥的路径开销是一样的,胜利的一方就是桥ID较小的C。
Click 14 of 21:
因为C的桥ID小于B的桥ID,因此网段3的指定端口就是C上的port 1/2。
Click 15 of 21:
根端口和指定端口进入转发状态。
Click 16 of 21:
那些既不是根端口也不是指定端口的端口,就是说那些非指定端口,进入阻塞状态。
Click 17 of 21:
这时生成树完全融合。
Click 18 of 21:
C发送的BPDU优先级比B的高。
C持续发送BPDU广播他的优先级高于B。
只要B在端口port 1/2上持续收到这些高优先级BPDU,端口就一直保持阻塞状态。
Click 19 of 21:
不管什么原因,如果B在最大存活时间内没有收到这些BPDU(默认情况下是20秒),他将开始转为转发状态。
多数的生成树算法定义在大量丢失BPDU的时候就会将端口从阻塞状态转为转发状态。
Click 20 of 21:
生成树失败
阻塞状态的端口转为转发状态,这时生成树失败发生。
Click 21 of 21:
一些由于丢失BPDU引起端口从阻塞状态转为转发状态的情形:
速率不匹配
单项链路
包破坏
资源错误
Portfast配置错误
STP Parameter Tuning and Diameter Issues
软件错误
Flash视频查看: