<優化STP>ide
·BPDU防禦:
對於設置了PortFast接口,卻收到了BPDU,若是設置了BPDU防禦,就能將此接口關閉,而不會進入生成樹狀態。oop
spanning-tree portfast bpduguard default (全局開啓)測試
int f0/1
spanning-tree bpduguard enable (接口開啓)優化
show spanning-tree summary [totals]spa
Show errdisable recovery 顯示可致使接口errdisable的選項接口
設置自動恢復:
errdisable recovery cause bpduguard 設置300S(默認)後自動修復bpduguard所致使的errdisable
errdisable recovery interval 30 修改默認的修復時間it
·BPDU過濾:不發也不收
經過使用BPDU過濾,可以防止在啓用portfast的端口上向host發送沒必要要的BPDU。io
注意:
若是在全局下配置,從端口收到BPDU的話,不會禁掉端口,會轉爲正常的STP狀態
若是在接口下配置,從端口收到BPDU的話,會丟棄。
若是在同一接口設置Guard/Filter , F優於Gast
BPDU過濾只是一種優化技術,在接口上配置BPDU過濾有可能致使橋接環路,因此不推薦使用。class
spanning-tree portfast bpdufilter default(全局開啓)
int f0/9
spanning-tree bpdufilter enable (接口開啓)
show spanning-tree summary totals
·根保護:
可以將接口強制設爲DP,進而防止對端SW成爲Root。
設置了根保護的端口若是收到了一個優於原BPDU的新的BPDU,它將把本端口設爲blocking禁止狀態,過一段時間,若是沒再收到BPDU,它會恢復端口,這一點不一樣於BPDU的防禦。
int f0/5
spanning-tree guard root
測試:將其餘SW變成根橋,看原來根橋的現象:
show spanning-tree inconsistentports
Show spanning-tree interface f0/2 detail
show spanning-tree
Fa0/2 Desg BKN*19 128.2 P2p *ROOT_Inc
·環路保護: 對於軟件故障處理得更好
當STP中的BLK端口錯誤的過渡到FWD狀態,有可能出現環路。
啓用Loopguard的接口,若是原來的BPDU老化了,不會轉到listening狀態,而將自動轉爲inconsistent狀態
在inconsistent狀態下,會再根據對端交換機發過來的BPDU進行決定端口狀態。
若是是出現了單向鏈路失效的現象,對端交換機是不會有BPDU過來的,因此接口將一直保持inconsistent。
默認狀況下是禁用的。
spanning-tree loopguard default (全局)
int f0/9
spanning-tree guard loop (接口)
·UDLD單向鏈路失效檢測: 對於硬件故障處理得更好
單向鏈路失效是比較常見的現象,以太網線纜的收發出現問題。
當鏈路保持「UP」的時候,接口卻沒有流量收到。
UDLD是一種二層協議,它與第一層機制協同工做來肯定鏈路的物理狀態。
啓用UDLD能使得這種接口自動進入「err-disable」狀態。
啓用了UDLD的交換機之間會互相發送UDLD協議包來保持聯繫,默認間隔15S
Sw1(config)#udld enable 也可在接口下配
show udld
積極模式的UDLD--當端口中止接收UDLD的數據包時,UDLD將嘗試從新創建與鄰居的鏈接,但若是嘗試8次以後還不成功,那麼兩端的端口都將成爲「err-disable」狀態。
Err-disable特性:
在CISCO交換機上有不少的保護特性都會致使接口進入err-disable狀態
接口若是進入err-disable狀態:有兩種方法恢復
一、手動恢復
先shutdown、再no shutdown
二、自動恢復
errdisable recovery cause {all|arp-inspection|bpduguard|link-flap} 指定緣由
errdisable recovery interval 30 指定自動恢復時間間隔
命令總結: bgduguard 接口開啓:sw1(config-if)#spanning-tree bpduguard enable 全局開啓:sw1(config)#spanning-tree portfast bpduguard default 若是對全部開了portfast的端口進行限速如何辦? sw1(config)#spanning-tree portfast bpduguard 【對全部開啓了portfast的接口進行bpdu防禦】 loopguard 接口開啓:spanning-tree guard loop 全局開啓:span-tree loopguard default loop防禦:該技術不能與根保護一塊兒用,一塊兒使用後會互相覆蓋。 bpdufilter sw3(config-if)#spanning-tree bpdufilter enable sw1(config)#spanning-tree portfast bpdufilter default bpdufilter和bpduguard一塊兒使用時,bpdufilter優先! rootguard sw1(config-if)#spanning-tree guard root