1、BPDU包含的參數網絡
經過STP的原理,咱們學習了紅色部分的字段(根橋ID、根路徑開銷、橋ID、端口ID)。如今講解一下黃色部分的字段(類型、計時器、老化時間、訪問時間)學習
一、(BPDU Type)BPDU類型spa
BPDU報文共有兩種類型:配置BPDU與TCN BPDU。通常狀況下,配置BPDU是根橋發送給各個橋的報文;而TCN BPDU是當網絡拓撲中的橋發現網絡拓撲發生變化時,向根橋發送的報文。3d
二、計時器blog
BPDU報文在網絡中的生存週期(配置BPDU報文每通過一臺橋設備,報文老化時間+1)原理
三、最大老化時間擴展
BPDU報文在網絡中最大的老化時間(當報文老化時間大於最大老化時間時,BPDU報文將被丟棄。橋設備將根橋看作不可用前保留根ID的最大時間。最大老化時間可修改,默認爲20秒)配置
四、訪問時間im
根橋通過特定的時間向其餘橋設備發送BPDU報文,爲STP生成樹包活,這一特定的時間就是訪問時間(每間隔2秒一次)d3
五、轉發延時
端口狀態改變時所須要的時間(30秒)
2、常碰到的問題
一、根橋故障時
當根橋發生故障時,不會再向其餘橋設備發出配置BPDU報文。當非根橋沒有收到根橋發出的配置BPDU報文後,會等待一個最大老化時間(默認時間20秒)。當到達最大老化時間後,非根橋會認爲根橋網絡不可達(根橋故障),使本來阻塞的端口會由阻塞狀態(阻塞狀態只接收對端發送的配置BPDU報文,不能發送BPDU;不能參與數據的轉發)變爲監聽狀態(監聽狀態是選舉根與各個端口類型的狀態,此時依舊不能參與數據的轉發),此變化過程須要15秒的時間。以後,端口狀態由監聽狀態變爲學習狀態(此過程須要15s的時間)。處於學習狀態的端口能夠學習接收到的數據中的MAC地址,此時依舊不能轉發數據。再次通過15秒後,端口狀態由學習狀態變化爲轉發狀態,此時,端口恢復數據的轉發。
從上面能夠看出:在STP中,當根橋出現故障時,會自動從新選舉新的根橋與各個端口(根端口、指定端口、阻塞端口)。通過(20秒+15秒*2=50秒)的時間纔會恢復數據的轉發。
二、直連鏈路發送故障
當上圖的鏈路發生故障時,因爲另一條鏈路仍然能夠收到根橋發出的配置BPDU報文,全部LSW2會馬上知道鏈路發生問題。本來的阻塞端口會變成監聽狀態,在變爲學習狀態,最後變爲轉發狀態,整個過程會用2*15秒=30秒的時間。
從上面能夠看出:在STP中,當直連鏈路發生故障時,須要通過30秒的時間纔會恢復網絡數據的轉發。
三、非直連鏈路發生故障
當上圖鏈路發生故障時,LSW2會感知到鏈路發生故障,會以本身爲根橋給LSW3發送配置BPDU報文。當LSW3收到LSW2的配置BPDU報文後,與收到根橋(LSW1)的配置BPDU報文進行對比,對比發現LSW2發送的配置BPDU報文不是最優的,便不理會。當LSW3通過一個最大老化時間(默認20秒)後,LSW3上的阻塞端口因爲收不到來自根橋的配置BPDU,便由阻塞狀態轉換爲轉發狀態,將根橋的配置BPDU報文發送給LSW2。當LSW2收到根橋的配置BPDU報文後,與本身的配置BPDU報文進行對比。發現不是最優配置BPDU報文,而後進行端口收斂。整個過程會持續(20秒+2*15秒=50秒)的時間。
從上面能夠看出:在STP中,當非直連鏈路發生故障時,須要通過50秒的時間纔會恢復數據的轉發。
3、TCN TC TCA 與MAC地址表
MAC地址表的默認老化時間爲300秒,當網絡拓撲發生變化,橋設備的端口可能發生變化,相應的MAC地址表可能會發生錯誤(MAC地址表中記錄MAC地址與端口對應錯誤)。
當網絡拓撲發生變化時,出現變化或者發現鏈路發生故障的橋設備會向外發送TCN BPDU報文,而接受到TCN BPDU的設備會向TCN BPDU報文的發送端發送TCA BPDU報文進行應答,而且會向外繼續發送TCN BPDU報文。當根橋接收到TCN BPDU報文後,會向外發送TC BPDU報文,以告知全部的橋設備網絡拓撲發生改變。接收到TC BPDU報文的橋設備,MAC地址表的老化時間由300秒(默認)自動修改成15秒(華爲設備爲5秒,沒試驗,不肯定)。
4、BPDU擴展