STP生成樹協議——算法和過程
一、STP算法
IEEE802.1D標準定義了STP的生成樹算法。該算法依賴於BID、路徑開銷和端口ID參數來做出決定。
1、BID(網橋ID):
BID是生成樹算法的第一個參數,BID決定了橋接網絡的中心,稱爲根網橋或根交換機。
BID參數是一個8字節域。前2個字節(10進制)稱爲"網橋優先級",後6個字節(16進制)是交換機的一個MAC地址。
網橋優先級用來衡量一個網橋的優先度,範圍是0-65535,默認是32768.
思科交換機中的PVST+(每VLAN生成樹)生成樹協議使每個VLAN都有一個STP實例。
比較兩個BID的大小的原則:一是網橋優先級小的BID優先,二是如果網橋優先級相同,BID中的後六個字節的MAC小的則BID優先。
2、路徑開銷:
路徑開銷是生成樹算法的第二個參數,決定到根網橋(根交換機)的路徑。
通俗說,路徑開銷是用來衡量網橋之間的距離的遠近的,其值是兩個網橋之間某條路徑上所有鏈路開銷的總和。
路徑開銷與跳數無關。
路徑開銷決定到根網橋或根交換機的最佳路徑,最小的路徑開銷是到根交換機的最佳路徑。
路徑開銷的值的規律:帶寬越大,STP開銷越小。
3、端口ID:端口ID是生成樹算法的第三個參數,也決定到根交換機的路徑。它由2個字節組成,包括"端口優先級"和"端口號",各佔8位。
端口優先級值從0-255,默認128;端口號包括256個。
端口ID大小的判定與BID大小的判定相同。
二、STP的過程
1、STP判決和BPDU交換:
當創建一個邏輯無環的拓撲時,STP總是通過發送BPDU的第二層幀來傳遞生成樹協議,並執行相同的4步判決順序:
步驟1,確定根交換機;
步驟2,計算到根交換機的最小路徑開銷;
步驟3,確定最小的發送者BID;
步驟4,確定最小的端口ID.
網橋爲每個端口存儲一個其收到的最佳BPDU,當有其他的BPDU到達交換機的端口時,交換機會使用四步判決過程來判斷此BPDU是否比該端口原來存儲的BPDU更好,如果新收到的BPDU(或者本地生成的BPDU)更好,則替換原有值。
當一個網橋第一次被激活時,其上所有端口每隔一個HELLO時間(默認2秒)發送一次BPDU;如果一個端口發現從其他網橋收到的BPDU比自己發送的好,則本地端口就停止發送BPDU;如果在MAX AGE(最大生存時間,默認20秒)內沒有從鄰居網橋收到更好的BPDU,本地端口則重新開始發送BPDU,即最大生存時間是最佳BPDU的超時時間。
2、STP收斂的三個步驟:
生成樹算法收斂於一個無環拓撲的初始過程包含三個選舉步驟:
步驟1 選舉一個根交換機。
步驟2 選舉根端口。
步驟3 選舉指定端口。
在網絡第一次"初始"時,所有網橋都洪泛混合的BPDU信息,網橋通過執行STP四步判決過程,形成整個網絡或VLAN惟一的生成樹。在網絡穩定後,BPDU從根網橋流出,沿着無環支路到達網絡中的每一個網段。網絡發生變化時,生成樹協議按照收斂三個步驟做出處理。
(1)選舉根交換機:
根交換機是一個具有最小BID的網橋,它是惟一的,是通過交換BPDU選舉得出來的。
BPDU的格式:BPDU是網橋之間用來交換生成樹信息的特殊幀,它在網橋之間傳播,包括交換機和所有配置來進行橋接的路由器,BPDU不攜帶終端用戶流量。
BPDU包括根BID、根路徑開銷、發送者BID和端口ID信息。
也就是說,交換機通過傳遞BPDU來發現誰是最小的BID,從而將具有最小BID的網橋做爲根交換機。最初時,交換機總將自己認爲是根網橋,當它發現有比自己小的BID時,就將收到的具有最小BID的交換機作爲根網橋。
(2)選舉根端口:
在根交換機選舉完後,就開始選舉根端口了。所謂根端口,就是按照路徑開銷最靠近根交換機的端口,也就是說具有最小根路徑開銷的端口。每一個非根交換機都必須選舉一個根端口。
(3)選舉指定端口:
通過以上兩個步驟後,生成樹算法還沒有消除任何環路,因爲還沒有選舉指定端口。所謂指定端口,就是連接在某個網段上的一個橋接端口,它通過該網段既向根交換機發送流量也從根交換機接收流量。橋接網絡中的每個網段都必須有一個指定端口。
指定端口也是根據最小根路徑開銷來決定,因此根交換機上的每個活動端口都是指定端口,因爲它的每個端口都具有最小根路徑開銷(實際是它的根路徑開銷是0)。
注意:指定端口只在中繼端口(TRUNK口)起作用。接入端口在指定端口選舉中不起任何作用。接入端口是用來連接到主機或者三層端口的。
3、STP狀態
在網橋已經確定了根端口、指定端口和非指定端口後,STP就準備開始創建一個無環拓撲了。
爲創建一個無環的拓撲,STP配置根端口和指定端口轉發流量,非指定端口阻塞流量。
實際上,STP決定端口轉發和阻塞看似只有這兩個狀態,實際上是有五種狀態的。
(1)、Disabled(爲了管理目的或者因爲發生故障將端口關閉);
(2)、Blocking(在初始啓用端口之後的狀態。端口不能接收或者傳輸數據,不能把MAC地址加入地址表,只能接收BPDU(bridge protocol data unit)。如果檢測到有一個橋接環,或者端口失去了它的根端口或者指定端口的狀態,那麼就會返回到Blocking狀態);
(3)、Listening(如果一個端口可以成爲一個根端口或者指定端口,那麼它就轉入監聽狀態。此時端口不能接收或者傳輸數據,也不能把MAC地址加入地址表,但可以接收和發送BPDU);
(4)、Learning(在Forward Delay計時時間到(默認15秒)後,端口進入學習狀態,此時端口不能傳輸數據,但可以發送和接收BPDU,也可以學習MAC地址,並加入地址表);
(5)、Forwarding(在下一次轉發延時計時時間到後,端口進入轉發狀態,此時端口能夠發送和接收數據、學習MAC地址、發送和接收BPDU)。
在這些狀態過程中,會引發網絡拓撲結構發生改變。此時,發生變化的交換機會在它的根端口上每隔hello time時間就發送TCN BPDU,直到上級的指定網橋鄰居確認了該TCN(拓撲結構變化通知)爲止。當根網橋收到後,會發送設置了TC(topology change,拓撲改變)位的BPDU,通知整個生成樹拓撲結構發生了變化。這會讓所有的下級交換機把它們的Address Table Aging(地址表老化)計時器從默認值(300秒)降爲Fordwarding Delay(默認爲15秒),從而讓不活動的MAC地址比正常情況下更快地從地址表更新掉
理解透徹--802.1d,802.1w,802.1s
一、STP:
在談本主題之前,先簡單的對 STP(802.1d)做個回顧.STP 是用於打破 2 層環路的協議,但這個協議有個最明顯的缺點,就是當層 2 網絡重新收斂的時候,至少要等待 50 秒的時間(轉發延遲+老化時間).50 秒的時間對於一個大型的層 2 網絡來說,是一個漫長的過程(何況這只是個理論時間,實際情況還會更長).雖然 Cisco 對 STP 的這些缺點開發出了些彌補性的特性,比如 Port Fast,Uplink Fast和 Backbone Fast,用於加快層 2 網絡的收斂時間——套用王朔的話"看上去很美".雖然這些"新"特性能夠改善 STP 的一些不足,但是,這些特性是 CISCO 私有的,而非行業標準;此外,這些特性要求我們做額外的配置,如果缺乏對這些技術的理解,還有可能導致環路問題.802.1d 標準中對端口狀態的定義有:
1. 禁用(disabled).
2. 堵塞(blocking).
3. 監聽(listening).
4. 學習(learning).
5. 轉發(forwarding).
二、RSTP:
RSTP 是 IEEE 802.1w 標準定義的,目的就是爲了改進 STP 的一些不足,並且在某些情況下,RSTP要比之前所提到的那些 Port Fast,Uplink Fast 和 Backbone Fast 技術更爲方便.Cisco 的 Catalyst交換機中不支持純 RSTP,而支持的是 RPVST 或叫 RPVST+.但是在比較古老的交換機型號中比如CATALYST 2900XL/3500XL 裏,不支持 RSTP 與 RPVST+(或叫 RPVST+),還有些型號比如 CATALYST2948G-L3/4908G-L3,CATALYST 5000/5500 和 CATALYST 8500 不支持 RSTP.
802.1w 標準中對端口狀態的定義有:
1.丟棄(discarding).
2.學習(learning).
3.轉發(forwarding).
丟棄狀態,實際上就類似 802.1d 中禁用、阻塞、監聽狀態的集合.
在 802.1w 中,根端口(root port,RP)和指定端口(designated port,DP)仍然得以保留;而堵塞端口被改進爲備份端口(backup port,BP)和替代端口(alternate port,AP).不過,生成樹算法(STA)
仍然是依據 BPDU 決定端口的角色.和 802.1d 中對 RP 的定義一樣,到達根橋(root bridge)最近的端口即爲 RP.同樣的,每個橋接網段上,通過比較 BPDU,決定出誰是 DP.一個橋接網段上只能有一個 DP(同時出現兩個的話就形成了層 2 環路).
在 802.1d 中,非 RP 和 DP 的端口,它的狀態就爲丟棄狀態,這種狀態雖然不轉發數據,但是仍然需要接收 BPDU 來保持處於丟棄狀態.AP 和 BP 同樣也是這樣.AP 提供了到達根橋的替代路徑,因此,一旦 RP 掛掉後,AP 可以取代 RP 的位置.BP 則提供了一條 DP 的備份冗餘,如果當前網橋有兩條路徑到達橋接網段,那麼一個端口爲 DP,一個端口則爲 BP,BP 有一個比 DP 高的 Port ID,所以它不轉發任何數據,當 DP 斷掉,BP 就變爲 DP.
在 RSTP 裏,BPDU 的格式稍稍變化了一些,在 802.1d 裏,BPDU 只有兩個標籤選項:
1.拓撲改變(TC).
2.拓撲改變確認(TCA).
而 RSTP 中的 BPDU 採用的是版本 2 的 BPDU,換句話說 802.1d 網橋不兼容這種新的 BPDU.這種新的 BPDU,在原先的 BPDU 基礎上增加了 6 個標籤選項:BPDU 的處理方式,和 802.1d 也有些不同,取代原先的 BPDU 中繼方式(非根橋的 RP 收到來自根橋的 BPDU 後,會重新生成一份 BPDU 朝下游交換機發送出去),802.1w 裏的每個網橋,在 BPDU 的 hellotime(默認 2 秒)時間裏都將生成 BPDU 發送出去(即使沒有從根橋那裏接收到任何 BPDU).如果在連續 3個 hello time 裏沒有收到任何 BPDU,那麼 BPDU 信息將超時不被予以信任.因此,在 802.1w 裏,BPDU 更像是一種保活(keepalive)機制.即如果連續三個 HelloTime 未收到 BPDU,那麼網橋將認識它丟失了到達相鄰網橋 RP 或 DP 的連接.這種快速老化的方式使得鏈路故障可以很快的被檢測出來
在 RSTP 裏,類似 Backbone Fast 的下級 BPDU(inferior BPDU)也被集成進去.當交換機收到來自RP 或 DP 的下級 BPDU 時,它立刻替換掉之前的 BPDU 並進行存儲:
如上圖,由於 C 知道根橋仍然是可用的,它就立刻向 B 發送關於根橋的 BPDU 信息.結果是 B 停止發送它自己的 BPDU,接收來自 C 的 BPDU 信息並將連接到 C 的端口做爲新的 RP.傳統的 802.1d 標準裏,STA 是被動的等待層 2 網絡的收斂(由於轉發延遲的定義).若對 STP 默認的計時器進行修改,又可能會導致 STP 的穩定性問題;而 RSTP 可以主動的將端口立即轉變爲轉發狀態,而無需通過調整計時器的方式去縮短收斂時間.爲了能夠達到這種目的,就出現了兩個新的變量:邊緣端口(edge port)和鏈路類型(link type).
邊緣端口(EP)的概念,和 CISCO 中 Port Fast 特性非常相似.由於連接端工作站的端口,是不可能導致層 2 環路的,因此這類端口就沒有必要經過監聽和學習狀態,從而可以直接轉變爲轉發狀態.但是和 Port Fast 不同的是,一旦 EP 收到了 BPDU,它將立即轉變爲普通的 RSTP 端口.RSTP 快速轉變爲轉發狀態的這一特性,可以在 EP 和點到點鏈路上實現的.由於全雙工操作的端口被認爲是點到點型的鏈路;半雙工端口被認爲是共享型鏈路.因此 RSTP 會將全雙工操作的端口當成是點到點鏈路,從而達到快速收斂.
當一個新交換機加入拓撲中時,對於 802.1d,當 STA 決定出 DP 後,仍然要等待 30 秒的轉發延遲才能進入轉發狀態;而在 802.1w 裏
假設根橋和交換機 A 之間創建了一條新的鏈路,鏈路兩端的端口剛開始均處於丟棄狀態,直到收到對方的 BPDU.當 DP 處於丟棄或者學習狀態,它將在自己將要發送出去的 BPDU 裏設置提議位(proposal bit),如上圖的 p0 和步驟 1.由於交換機 A 收到了上級(superior)信息,它將意識到自己的 P1 應該立即成爲 RP.此時交換機 A 將採取同步(sync)動作,將該上級 BPDU 信息洪泛到其他的所有端口上並保證這些端口處於同步狀態(in-sync).當端口滿足下列標準之一時,即處於同步狀態:
1.端口爲 EP.
2.端口爲堵塞狀態(即丟棄,或者爲穩定拓撲).
假設交換機 A 的 P2 爲 AP,P3 爲 DP,P4 爲 EP.P2 和 P4 滿足上述標準之一,因此爲了處於同步狀態,交換機 A 將堵塞 P3,指定它爲丟棄狀態,其他端口處於同步狀態(步驟 2).交換機 A 將解除 P1的堵塞並做爲新的 RP,並向根橋反饋確認信息(步驟 3),這個信息其實是之前步驟 1 所發的提議 BPDU信息的拷貝,只不過是把提議位設置成了認可位(agreement bit).當 P2 收到這個認可信息後,它立即進入轉發狀態.由於 P3 之前被堵塞了,當步驟 3 完成後,P3 也執行之前 P0 所經過的步驟 1,向下遊交換機發出提議 BPDU 信息,嘗試快速進入轉發狀態.依次類推.由於提議機制非常迅速,因此 RSTP 不需依賴任何計時器.如果一個指定爲丟棄狀態的端口,在發出提議 BPDU 信息後沒有收到認可信息,該端口會回退到 802.1d 標準,從監聽到學習,再慢慢進入轉發狀態.這種情況多發生在不理解 RSTP BPDU 的交換機端口上.RSTP 裏另外一個快速進入轉發狀態的機制,和 CISCO 對 STP 的擴展技術 Uplink Fast 很相似.當網橋丟失了 RP 後,它會把自己的 AP 直接設置爲轉發狀態(新的 RP).因此對於 RSTP 來說,Uplink Fast的特性無需手動配置.還有一點和 802.1d 不同的是,當交換機檢測到拓撲變化後,產生 TC 信息,直接洪泛給整個網絡,而無需像 802.1d 那樣先報告給根橋
三、MST:
MST 是由 IEEE 802.1s 標準制定,來自 CISCO 私有的 MISTP 協議(Multiple Instances SpanningTree Protocol).和 RSTP 一樣,MST 在某些 CATALYST 交換機上也不支持,比如:CATALYST 2900/3500XL,CATALYST 2948G-L3/4908G-L3,CATALYST 5000/5500 以及 CATALYST 8500.
在談 MST 之前先說說關於 trunk 的原始版本 IEEE 802.1q,該標準制定了 CST(Common SpanningTree).CST 假定整個層 2 網絡只有一個 STP 的實例,也就是說不管整個層 2 網絡劃分了多少個 VLAN,都只有一個 STP 的實例.CST 的一些優劣:
缺點:無法實現 STP 的負載均衡.
優點:節約 CPU 資源,整個層 2 網絡只需要維護一個 STP 的實例.而後續的 802.1q 增強了對 VLAN 的支持,出現了 PVST+(每 1 個 VLAN 有 1 個 STP 的實例).
802.1s 結合了 PVST+和 802.1q 的優點,將多個 VLAN 映射到較少的 STP 實例.之前的 PVST+的優點是可以實現 STP 的負載均衡,但對 CPU 資源是個負擔.而 MST 減少了不必要的 STP 的實例. 如下圖,假設 D1 和 D2 分別爲 VLAN 1 到 500 和 VLAN 501 到 1000 的根橋,如果用 PVST+,就將有 1000 個 STP 的實例,但是實際上整個層 2 網絡只有 2 個邏輯拓撲,所以優化辦法是將 STP 的實例減少到 2 個,同時保留 STP 負載均衡的優點:
從技術角度來看,MST 的確是最佳解決方案,但是對端用戶而言卻並不是必需的,因爲 MST 通常要求比 802.1d 和 802.1w 更爲複雜的配置,並且還可能遇到與 802.1d 的協同操作問題.之前我們提到,多個 VLAN 可以映射到一個 STP 的實例上.但是,決定哪個 VLAN 和哪個 STP 實例相關聯,以及 BPDU 的標籤方式以便交換機可以鑑別出 VLAN 與 STP 實例信息,這是個問題.這個時候就出現了一個類似 BGP 裏 AS 的概念:區域(Region).MST 的區域是指處於同一管理範圍的交換機組.爲了能夠成爲 MST 區域裏的一部分,交換機必須享有相同的配置屬性:
1.以 26 個字母命名的配置名(32 字節).
2.配置修正號(2 字節).
3.對應 4096 個 VLAN 的元素表.
在做 VLAN 到 STP 實例映射的時候,要先定義 MST 的區域,但這個信息不會在 BPDU 裏傳播,因爲對於交換機來說,它只需要知道自己和鄰居交換機是否處於同一個 MST 區域.因此,只有一份 VLAN到 STP 實例的映射摘要信息,配置修正號與配置名隨着 BPDU 被傳播出去.當交換機端口收到該 BPDU後,它將解讀該摘要信息,和自身的摘要信息做個比較,如果結果不同,那麼該端口將成爲 MST 區域
的邊界:
根據 802.1s 的定義,MST 網橋必須能夠處理至少兩種實例:
1.一個 IST(Internal Spanning Tree).
2.一個或多個 MSTI(Multiple Spanning Tree Instance).
當然到目前爲止,802.1s 只是個"準標準",這些術語可能隨着最終版的 802.1s 而有不同的叫法.CISCO 支持 1 個 IST 和 15 個 MSTI.
由於 MST 源自 IEEE 802.1s,因此,要必須讓 802.1s 和 802.1q(CST)協同操作.IST 實例向 CST發送或從 CST 那裏接收 BPDU.IST 實例其實是 RSTP 實例的簡化,它擴展了 MST 區域裏的 CST.IST 可以看做 CST 外部的整個 MST 區域的代表:
如上圖,這兩種圖例職能相同.在典型的 802.1d 環境裏,你可能會看到堵塞 M 和 B 之間的通信;同樣的,你可能期望堵塞圖中 MST 區域裏的某個端口(而不是堵塞 D 的端口).但是,由於 IST 是做爲整個 MST 區域的代表,因此,你看到的就是對 B 和 D 的堵塞.
MSTI 也是 RSTP 的簡化版實例,它只存在於 MST 區域的內部.MSTI 默認自動運行 RSTP,而無需額外的配置.和 IST 不同的是,MSTI 永遠不會和 MST 區域外部通信.另外,只有 IST 會向 MST 區域外發送 BPDU,而 MSTI 不會.在 MST 區域內,網橋相互交換 MST BPDU,這些 MST BPDU 對 IST 來說可以看成是 RSTP BPDU.
配置 MST 示例:
Switch(config)# spanning-tree mst configuration /---進入 MST 配置模式---/
Switch(config-mst)# instance 1 vlan 10-20 /---將 VLAN 10 到 20 映射到實例 1 裏,VLAN 範圍爲 1-4094,實例範圍爲 0-4094---/
Switch(config-mst)# name region /---命名 MST 區域,32 字節長的字符,大小寫敏感---
Switch(config-mst)# revision 1 /---配置修正號,範圍是 0 到 65535---/
Switch(config-mst)# show pending /---顯示等待用戶確認的配置信息---/
Pending MST configuration
Name [region1]
Revision 1
Instance Vlans Mapped
-------------------------------------
0 1-9,21-4094
1 10-20
-------------------------------------
Switch(config-mst)# exit /---應用配置並退出 MST 配置模式---/
Switch(config)# spanning-tree mode mst /---啓用 MST,同時讓 RSTP 生效---/
指定 MST 根橋與配置 MST 網橋的優先級:
Switch(config)# spanning-tree mst {instance-id} root {primary|secondary} [diameter net-diameter [hello-time ses] 對於 MST,半徑範圍只能爲 0;默認配置信息 2 秒發送 1 次,可選修改範圍爲 1-10 秒.
Switch(config)# spanning-tree mst {instance-id} priority {priority} 端口優先級的值範圍是 0-61440,以 4096 遞增,值越低,優先級越高,默認爲 32768.
配置 MST 端口優先級與路徑開銷:
Switch(config)# spanning-tree mst {instance-id} port-priority {priority} 端口優先級的值範圍是 0-240,以 16 遞增,值越低,優先級越高.
Switch(config)# spanning-tree mst {instance-id} cost {cost} 路徑開銷的值範圍是 1 到 200000000,取決於接口帶寬.
配置 MST 的相關計時器:
Switch(config)# spanning-tree mst hello-time {sec} 默認配置信息 2 秒發送 1 次,可選修改範圍爲 1-10.
Switch(config)# spanning-tree mst forward-time {sec} 默認轉發延遲爲 15 秒,可選修改範圍爲 4-30.
Switch(config)# spanning-tree mst max-age {sec} 指定 MST 實例的最大生存週期,默認爲 20 秒,可選修改範圍爲 6-40.
指定 BPDU 的最大跳數:
Switch(config)# spanning-tree mst max-hops {hop-count} 默認爲 20 跳,可選修改範圍爲 1-255.
Switch(config-if)# spanning-tree link-type point-to-point 定義鏈路類型爲點到點:
一些驗證命令:
Switch#show spanning-tree mst configuration 驗證 MST 區域信息.
Switch#show spanning-tree mst [instance-id] 驗證 MST 實例信息.
Switch#show spanning-tree mst interface [interface-id] 驗證特定接口的 MST 實例信息.
生成樹:
接入層開啓快速接口以及上行接口
開啓快速端口命令:
全局配置下:spanning-tree portfast network default
或者接口下:spanning-tree portfast(Trunk)
1、快速接口UP或者Down不產生TCN
2、接口的收斂時間減少到1秒以內
3、全局配置的時候只能Access端口生效
4、接口配置也只對Access端口生效
5、如果要對Trunk端口生效命令後要加Trunk
6、無論如何使快速端口接收到BPDU後,都會變爲正常接口
7、所有交換機上開啓BackboneFast
生成樹的增強:
1、BPDU Guard
2、BPDU Filter(過濾)
3、Root Gurad
STP推設置
1、在分佈層交換機之間二層端口,以及從接入層交換機連接到分佈層交換機的上行鏈路端口上實施環路防護特性
2、在面向接入層交換機的分佈層交換機端口上配置根防護特性
3、在從接入層交換機通過分佈層交換機的上行鏈路端口上實施UplinkFast
4、在從接入層交換機通過往終端設備的端口上啓用BPDU防護特性和根防護特性(也需要在該端口上啓用PortFast)
5、UDLD協議是設備能夠監測線纜的物理配置,並監測是否存在單向鏈路。在檢查到單向鏈路時,EDLD就好關閉,並影響LAN端口。通常需要在連接交換機的端口上配置UDLD
6、根據企業的安全需求來使用端口安全(Port Security)特性,該特性可以通過限制允許向該端口發送流量的MAC地址,來限制端口的入站流量
STP的潛在故障
1、雙工不匹配
在點到點的鏈路上,雙工不匹配是常見的配置錯誤。當鏈路的一段採用手工的方式配置爲了全雙工模式,而另外一側卻是以自動協商的默認配置的時候,那麼就可能發生雙工不匹配的情況。
2、單向鏈路失效
單向鏈路是嘗試橋環路的一個非常常見的原因,如果光纖鏈路存在沒有檢測出來的故障或收發器故障,通常就會導致單向鏈路。從而可能導致橋接環路或路由選擇環路
3、幀破壞
如果接口在經受高速率的物理錯誤,且結果有可能就會導致BPDU丟失,而這會使出於阻塞狀態的接口過渡到轉發狀態。通常情況下,幀破壞是由諸多原因(例如雙工不匹配、劣質電纜或不適合的電纜長度)所造成的
4、資源錯誤
即使在通過專門的ASIC(Application-specific intergrated circuit 應用專用集成電路)硬件執行大部分交換功能的高端交換機中,STP仍然由CPU(基於軟件方式)來執行。這就意味着:如果處於某種原因過度使用了網橋的CPU,那麼就可能導致CPU沒有足夠的資源來發出BPDU。通常情況下。STP不是一種密集調用處理器的應用,而且STP的優先級高於其他進程。因此,出現資源問題的可能性並不大。雖然如此,但當存在多個出於PVST+模式的VLAN時,我們仍需要謹慎操作。爲了避免有限的資源唄STP耗盡,我們應當查看相關交換機的產品文檔,進而明確各種型號交換機所推薦的VLAN和STP實例數目。
5、PortFast配置錯誤
如果在錯誤的端口上配置了PortFast特性,那麼這種快速到達轉發狀態就有可能導致橋接環路
6、STP直徑參數調整不恰當