在穩定的STP拓撲裏面,非根橋會按期收到來自根橋的BPDU報文,若是根橋發生了故障,中止發送BPDU報文,下游交換機就沒法收到來自根橋的BPDU報文。若是下游交換設備在MaxAge(default=20s)內沒有收到BPDU報文,就會致使已經收到的BPDU報文老化過時,此時,非根端口開始互相發送配置BPDU報文,從新進行根橋選舉。根橋故障會致使50s左右的恢復時間,恢復時間約等於MaxAge+2*ForwadDelay。網絡
當SW3的RP端口失效後,對於SW3來講須要開啓其AP端口,因此對於SW3屬於直連鏈路故障,則其Alternate端口會遷移到Listening、learning、forwarding狀態,通過兩倍的forwarddelay後恢復到轉發狀態,即30s時間收斂。ide
站在AP的角度考慮性能
當SW2的RP端口失效後,對於SW3來講不是直連鏈路故障,沒法直接檢測到,因此屬於非直接鏈路故障。此時,SW2在RP失效後,沒法再接收到根橋的信息,因此此時SW2會認爲本身爲根橋,會向SW3經過DP端口發送自身的配置BPDU,可是因爲SW3仍然保存有以前根橋的BPDU因此在接受到SW2的次優BPDU時不會處理,可是當以前的根橋的BPDU在MAX age20s失效後就會處理該次優BPDU,可是因爲SW3仍然經過RP接受到根橋的配置BPDU,因此會發送給SW2最優的根橋BPDU(注:華爲設備的STP狀態下接收到次優的BPDU會當即回送最優的BPDU無需等待MaxAge。),SW2和SW3經過此次BPDU的交互能夠計算出SW2的DP應該爲RP,SW3的AP應該爲DP,因此此時端口角色切換完成,可是DP和RP要進入轉發狀態還須要等待兩個轉發延時即30s,因此出現此故障須要Max Age加上兩倍的Forward Delay 即50s的時間。學習
2 RP失效會認爲拓撲發生變化優化
TC會提早致使MAC老化,空閒的(學到了,暫時沒有通訊),原本300s的老化時間。原本已知單播地址的數據幀會變成未知單播地址的數據幀,會致使在網絡內泛洪。網絡性能變差。
怎麼解決?
邊緣端口。邊緣端口進入forwarding不會發TCN BPDU。收到TC BPDU後mac表不清空。blog
通常將鏈接三層設備(路由器或防火牆或終端電腦)的端口設置爲邊緣端口。stp edged-port enable接口