天天看點

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

本節書摘來自異步社群《ccnp tshoot 300-135認證考試指南》一書中的第5章,第5.5節stp功能特性故障檢測與排除,作者 【加】raymond lacoste , 【美】kevin wallace,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

5.5 stp功能特性故障檢測與排除

ccnp tshoot 300-135認證考試指南

關鍵

stp通過大量功能特性來保護拓撲結構,交換機預設并不開啟這些功能特性。為了確定stp拓撲結構的正确性,必須掌握這些stp功能特性的故障檢測與排除方法。本節将讨論這些stp功能特性并解釋相應的故障檢測與排除指令。

5.5.1 portfast

啟用了交換端口之後(裝置插電并且交換端口沒有被關閉),利用portfast功能特性可以立即将該交換端口切換為轉發狀态。如果使用基于pvst+、rpvst+或mstp的portfast特性,那麼在啟用了portfast特性的交換端口上收到bpdu之後,該交換端口會立即從portfast狀态切換為正常的交換端口。該功能特性可以確定交換端口在進入轉發狀态之前經曆必需的狀态和流程,不至于産生環路。通過spanning-tree portfast指令可以為特定接口逐一啟用portfast特性,也可以在全局配置模式下利用spanning-tree portfast default指令在所有非中繼的交換端口上啟用portfast特性。例5-4給出了驗證特定接口啟用portfast特性的三種不同方式。

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

如果在全局範圍内啟用可portfast特性,那麼還可以使用另一個show指令來驗證portfast特性的啟用情況:show spanning-tree summary(如例5-5所示)。從輸出結果可以看出本例預設啟用了portfast特性。此外,請注意例5-5中show spanning-tree interface fastethernet 0/1 detail指令的輸出結果與例5-4輸出結果的差異。例5-5顯示“the port is in the portfast mode by default(該端口預設啟用portfast模式)”,表明在全局範圍内啟用了portfast特性。

例5-5 驗證在全局範圍内啟用了portfast特性的接口

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

5.5.2 bpdu保護

bpdu保護(bpdu guard)特性可以增強stp的域邊界,確定stp拓撲結構的可預測性。在啟用了bpdu保護特性的交換端口上收到bpdu之後,該端口将被禁用并進入err-disabled(錯誤禁用)狀态。如果希望驗證哪些端口處于err-disabled狀态,可以使用show interfaces status指令(如例5-7所示)。從輸出結果可以看出,fa0/1處于err-disabled狀态。此外,如果跟蹤syslog消息,将會收到如下消息:

···

%spantree-2-block_bpduguard: received bpdu on port fa0/1 with bpdu guard enabled.disabling port.

%pm-4-err_disable: bpduguard error detected on fa0/1, putting fa0/1 in err-disable state

%link-3-updown: interface fastethernet0/1, changed state to down

例5-7 show interfaces status指令輸出結果

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

可以利用show spanning-tree interface interface_type__interface_number detail和show run interface interface_type_interface_number指令驗證是否在特定接口上啟用了bpdu保護特性(如例5-9所示)。

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

如果希望從err-disabled狀态恢複正常,需要删除發送欺詐bpdu的裝置,然後再分别利用shutdown指令和no shutdown指令手工禁用和啟用處于err-disabled狀态的接口。或者建立一個err-disabled恢複特性,在預定義的間隔内自動啟用接口。如果還能檢測到欺詐bpdu,那麼該接口将傳回err-disabled狀态,如果檢測不到欺詐bpdu,那麼接口将自動恢複正常。如果希望為bpdu保護啟用err-disabled恢複特性,那麼可以使用全局配置指令errdisable recovery cause bpduguard。

5.5.3 bpdu過濾

bpdu過濾特性的設計目的是抑制特定接口發送和接收bpdu。這樣做的目的通常是出于安全性考慮,例如,連接配接端站或路由器的接口不需要向外發送bpdu,否則将允許端站(end station)收集bpdu中的資料,存在潛在的stp拓撲結構攻擊威脅。啟用bpdu過濾特性的方式決定了bpdu的抑制程度。

如果利用spanning-tree portfast bpdufilter default指令在全局範圍内啟用bpdu過濾特性,那麼将在所有啟用了portfast的接口上啟用bpdu過濾特性,進而抑制這些接口向外發送bpdu。不過,如果在接口上收到bpdu,那麼将正常處理該bpdu,并且根據需要通過正常的stp狀态/程序切換該接口的狀态。

如果利用spanning-tree bpdufilter enable指令手工在特定接口啟用bpdu過濾特性,那麼将抑制bpdu的發送和接收操作。不過通常并不建議這麼做,因為這樣做會忽略所有接收到的bpdu,接口會自動進入轉發狀态,進而導緻二層環路。

利用show spanning-tree summary和show spanning-tree interface interface_type interface_number detail指令可以驗證是否在全局範圍内啟用了bpdu過濾特性(如例5-10所示)。如果是逐個接口啟用bpdu過濾特性(不建議這麼做),那麼就可以利用show spanning-tree interface interface_type interface_number detail和show run interfaceinterface_type interface_number指令來驗證bpdu過濾的啟用情況(如例5-11所示)。

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

如果拓撲結構中出現了二層環路問題,請檢查接口是否啟用了bpdu過濾特性。如果啟用了該特性,那麼将抑制bpdu的發送和接收操作,使得拓撲結構中應該處于阻塞狀态的端口卻處于轉發狀态,進而産生二層環路。

5.5.4 根保護

根保護(root guard)特性通過確定非根網橋上的某些端口不成為根端口來實作保護根網橋的目的。前面曾經說過,交換機上的根端口指向根網橋,如果欺詐交換機以更優的bid進入stp拓撲結構,那麼該欺詐交換機将成為根網橋,其他交換機上的根端口也将發生變化,新的根端口将指向該欺詐根網橋。

根保護特性防止出現該問題的方法是,忽略啟用了根保護特性的端口上接收到的更優bpdu并将該端口置入生成樹不一緻狀态。由于根保護特性是通過spanning-tree guard root指令在接口上逐一啟用的,因而可以利用show spanning-tree interface interface_type interface_number detail指令驗證其配置情況(如例5-12所示)。此外,還可以利用show spanning-tree inconsistentports指令來驗證哪些端口處于生成樹不一緻狀态(如例5-13所示)。對于啟用了根保護特性的接口來說,接收到更優bpdu是一個好事。

例5-12 驗證在接口上啟用根保護特性的情況

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除

此外,端口進入根不一緻狀态之後,還會收到如下syslog消息:

交換端口處于不一緻狀态時,不需要通過人工幹預将端口從不一緻狀态恢複過來,所要做的就是删除從網絡向該交換端口發送更優bpdu的裝置,隻要交換端口偵聽不到該更優bpdu,就能自動從不一緻狀态恢複過來。

5.5.5 環路保護

環路保護(loop guard)特性的作用是為二層環路問題提供額外的保護功能。在預設情況下,如果非指派端口停止接收bpdu,那麼最大老化定時器到期後該端口将進入轉發狀态。不過如果該交換機未收到bpdu的原因是發送bpdu的交換機出現了軟體故障而無法發送bpdu,那麼将會出現什麼情況呢?該交換機仍然可以在接口上發送和接收資料。由于非指派端口目前正在發送和接收資料(而不是阻塞資料),因而将會産生環路。出現該問題的原因就在于接口接收不到bpdu。環路保護特性可以確定非指派端口不會錯誤地切換到轉發狀态,而是将該端口置入環路不一緻阻塞狀态并生成如下syslog消息:

利用show spanning-tree inconsistent ports指令可以驗證哪些端口處于環路不一緻狀态(如例5-14所示)。

例5-14 驗證交換機上的環路不一緻端口

《CCNP TSHOOT 300-135認證考試指南》——5.5節STP功能特性故障檢測與排除