網絡初級篇之STP(BPDU詳解與STP故障恢復)


一、BPDU包含的參數

 

  通過STP的原理,我們學習了紅色部分的字段(根橋ID、根路徑開銷、橋ID、端口ID)。現在講解一下黃色部分的字段(類型、計時器、老化時間、訪問時間)

1、(BPDU Type)BPDU類型

  BPDU報文共有兩種類型:配置BPDU與TCN BPDU。一般情況下,配置BPDU是根橋發送給各個橋的報文;而TCN BPDU是當網絡拓撲中的橋發現網絡拓撲發生變化時,向根橋發送的報文。

2、計時器

  BPDU報文在網絡中的生存周期(配置BPDU報文每經過一台橋設備,報文老化時間+1)

3、最大老化時間

  BPDU報文在網絡中最大的老化時間(當報文老化時間大於最大老化時間時,BPDU報文將被丟棄。橋設備將根橋看做不可用前保留根ID的最大時間。最大老化時間可修改,默認為20秒)

4、訪問時間

  根橋經過特定的時間向其他橋設備發送BPDU報文,為STP生成樹包活,這一特定的時間就是訪問時間(每間隔2秒一次)

5、轉發延時

  端口狀態改變時所需要的時間(30秒)

二、常碰到的問題

1、根橋故障時

  

     當根橋發生故障時,不會再向其他橋設備發出配置BPDU報文。當非根橋沒有收到根橋發出的配置BPDU報文后,會等待一個最大老化時間(默認時間20秒)。當到達最大老化時間后,非根橋會認為根橋網絡不可達(根橋故障),使原本阻塞的端口會由阻塞狀態(阻塞狀態只接收對端發送的配置BPDU報文,不能發送BPDU;不能參與數據的轉發)變為監聽狀態(監聽狀態是選舉根與各個端口類型的狀態,此時依舊不能參與數據的轉發),此變化過程需要15秒的時間。之后,端口狀態由監聽狀態變為學習狀態(此過程需要15s的時間)。處於學習狀態的端口可以學習接收到的數據中的MAC地址,此時依舊不能轉發數據。再次經過15秒后,端口狀態由學習狀態變化為轉發狀態,此時,端口恢復數據的轉發。

  從上面可以看出:在STP中,當根橋出現故障時,會自動重新選舉新的根橋與各個端口(根端口、指定端口、阻塞端口)。經過(20秒+15秒*2=50秒)的時間才會恢復數據的轉發。

2、直連鏈路發送故障

  

   當上圖的鏈路發生故障時,由於另外一條鏈路仍然可以收到根橋發出的配置BPDU報文,所有LSW2會立刻知道鏈路發生問題。原本的阻塞端口會變成監聽狀態,在變為學習狀態,最后變為轉發狀態,整個過程會用2*15秒=30秒的時間。

  從上面可以看出:在STP中,當直連鏈路發生故障時,需要經過30秒的時間才會恢復網絡數據的轉發。

3、非直連鏈路發生故障

  

  當上圖鏈路發生故障時,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秒的時間才會恢復數據的轉發。

三、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秒,沒試驗,不確定)。

四、BPDU擴展

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM