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視頻查看: