STP增強

802.1DSTP增強
說明:此些特性,在802.1D和PVST+的基礎上增強,對於802.1W和RPVST+。則已經集成,
portfast:
使生成樹被配置爲2層接入端口的接口立即進入轉發狀態,從監聽直接進入轉發狀態,節省了30S。
Portfast可以抑制TCN。
一個交換機連接的終端設備是不會影響整個二層拓撲,也不會產生環路的。如果終端設備頻繁的開關機而連接此終端的交換機認爲拓撲發生變化,就會頻繁的老化MAC地址表。連接該設備的接口也要經歷50S左右來進入轉發狀態。(STP拓撲中,終端接口不會被阻塞,因爲DP一鏈路一個)
接口下開啓:
(Switch-if)#spanning-tree portfast
全局下開啓
(Switch)#spanning-tree portfast default
注意:如果啓用了portfast特性的交換機端口收到了BPDU,則BPDU防護會使得端口進入err-disable。此狀態等同於禁用狀態,防止從此端口進出數據。除非手工干預。
也可以使用如下命令,使接口配置爲主機接口:
SW1(config-if)#switchport host
switchport mode will be set to access
spanning-tree portfast will be enabled
channel group will be disabled

uplinkfast:
能夠在直連的鏈路故障之後提供快速的收斂,

當SW1做正常轉發的鏈路DOWN了以後,uplinkfast將解除SW1上的阻塞端口,並將他過渡到轉發狀態,從阻塞到轉發,跨越了偵聽和學習狀態,節約了30S。
在沒有uplinkfast的時候,檢測到直連鏈路故障的時候,會從阻塞跳入偵聽,需要30S的時間將端口過渡到轉發狀態。

除非最大壽命設置所定義的時間到期,否則,SW1不會在阻塞的端口中發出任何BPDU

命令:
Sw2(config)#spanning-tree uplinkfast
將影響所有VLAN
Sw2(config)#spanning-tree uplinkfast max-update-rate 200
(每秒所發包的數目,默認值150)

uplinkfast將網橋優先級增加至49152,並將交換機上所有接口STP的端口開銷增加3000.此特徵只針對優先級和端口開銷默認配置的設備,更改過這兩個值的設備不會有此特性(並不是更改過某接口的cost後,此接口不會增加,所有接口都不會增加,有裙帶關係)。
這樣的默認配置,是爲了防止根橋的轉移,如果不更改,如圖,SW1會向SW3發送自己是根的配置信息,這樣有可能會有問題。

backbonefast:
STP最大壽命相關
STP的默認最大壽命計時器爲7,表示最大的網絡直徑可達7臺設備.
bpdu廣播2s一次,允許有3個包丟失即6s,當假設最大爲7跳的時候,則一共要用20s,所以BPDU的有效時間爲20s   丟三個6S,第四個8S。7跳取極端狀態,到第八個網橋的時候是20S。
(config)#spanning-tree vlan 2 hello-time 2 //範圍1-10s
               spanning-tree vlan 2 forwad-time 4 //範圍4-30s    偵聽——學習   學習——轉發
               spanning-tree vlan 2 max-age 6    阻塞——偵聽

是uplinkfast的一種補充,儘管uplinkfast能夠對直連鏈路做出迅速的反應,但對於主幹核心鏈路的故障愛莫能助。backbonefast可以使阻塞端口立即進入監聽狀態,無需等待最大壽命計時器,節省20S。
backbonefast不能夠排除轉發延遲(15S),並且不支持直連的鏈路失效(即直連鏈路失效,backbonefast不支持)

當主幹鏈路故障以後,SW1會從備根橋收到次級BPDU(備根橋聲稱自己是根橋,但BID比主根橋發送的BPDU要大)
如果SW1有到達根橋的替代路徑,將使用替代路徑發送RLQ BPDU查詢 (root link qurey BPDU)。目的是確定當前的根橋是否依然健在。RLQ會通過鏈路中的交換機進行傳播,根橋會用RLQ 相應來進行響應。如果響應的根橋是最初的根橋,對於接收到的次級BPDU端口,SW1會立即跳到監聽狀態,節省阻塞——偵聽(20S).起到加快收斂的作用。

命令
(Switch)#spanning-tree backbonefast

backbonefast使阻塞端口直接進入監聽狀態。節約20S
而其他兩種情況直接從阻塞到轉發,節約了30S

加強STP彈性
BPDU防護:
portfast端口不接收BPDU,當交換機從portfast端口接收到了BPDU的時候,BPDU防護會將此端口設置爲err-disable狀態
BPDU防護是一種針對portfast的安全響應。如果啓用了portfast的端口收到了BPDU,此端口將進入err-disable
命令
(config)#spanning-tree portfast bpduguard default 全局下
(config-if)#spanning-tree bpduguard enable 接口下

查看命令
SW1#show spanning-tree summary totals
Switch is in pvst mode
Root bridge for: VLAN0010, VLAN0030, VLAN0300
Extended system ID           is enabled
Portfast Default             is disabled
PortFast BPDU Guard Default  is enabled
Portfast BPDU Filter Default is disabled

BPDU過濾:
防止交換機在啓用portfast的接口上發送BPDU,因爲終端設備通常不需要參與STP,所以,收到BPDU的設備會丟棄BPDU,通過BPDU過濾,將防止向主機設備發送不必要的BPDU。
接口下啓用BPDU過濾:交換機將不發送任何BPDU,並將接收到的所有BPDU都丟棄。
全局下啓用BPDU過濾:端口在接口收到BPDU時,交換機將把接口更改會正常的STP操作,對於啓用portfast的端口,如果收到BPDU,則會丟棄portfast狀態。
BPDU防護可以覆蓋BPDU過濾,err-disable掉一個接口。

命令
(config)#spanning-tree portfast bpdufilter default 全局下
(config-if)#spanning-tree bpdufilter enable 接口下

根防護:
交換機讓啓用根防護特性的端口成爲指定端口,也就是意味着此鏈路對端只有根端口或者阻塞端口。如果交換機在啓用根防護的端口收到上級BPDU(其中BID優於原始根橋的BID)。那麼端口將進入"不一致"狀態(等效於監聽)。

當SW3下接入一個SW4,SW4的優先級小於當前主根橋的優先級,按照正常的STP來說,這個二層網絡會重新運行STP選舉,使SW4成爲新的根橋。阻塞主備根橋之間的鏈路。這樣顯然是有問題的
跟防護特性用來防止這種問題的產生,當端口啓用根防護特性的時候,交換機不允許這個端口成爲根端口,如果端口接收到上級BPDU。根防護會err-disable這個接口,不處理BPDU。

命令
(Switch-if)#spanning-tree guard root
查看“不一致根”狀態
Switch#show spanning-tree inconsistentports

避免二層環路和黑洞
環路防護:
某個阻塞接口收不到傳來的BPDU,3倍的HELLO時間到了時候,會將原本阻塞的端口過渡到指定端口,進入STP轉發狀態。使拓撲產單向環路。
使用環路防護特性,交換機在過渡到轉發之前執行額外的檢查,如果交換機在啓用環路防護特性的非指定交換機上停止接收BPDU,那麼交換機的這個端口會進入"不一致環路"的阻塞狀態。
命令
全局 spanning-tree loopguard default
接口 spanning-tree guard loop

UDLD:
單向鏈路失效是比較常見的現象,以太網線纜的收發出現問題。
  當鏈路保持“UP”的時候,接口卻沒有流量收到。
  UDLD是一種二層協議,它與第一層機制協同工作來確定鏈路的物理狀態。
啓用UDLD能使得這種接口自動進入“err-disable”狀態。
  啓用了UDLD的交換機之間會互相發送UDLD協議包來保持聯繫,默認間隔15S
 如果在計時器到期之前沒有接收到回包,交換機將確定該鏈路是單向鏈路。

Sw1(config)#udld enable 也可在接口下配

積極模式的UDLD--當端口停止接收UDLD的數據包時,UDLD將嘗試重新建立與鄰居的連接,但如果嘗試8次之後還不成功,那麼兩端的端口都將成爲“err-disable”狀態。

err-disable有關:
接口shutdown     no shutdown
errdisable recovery interval 30   指定自動恢復時間間隔
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章