目錄

簡介

必要條件

需求

採用元件

慣例

背景資訊

功能說明

圖1

圖2

組態

CatOS指令

Cisco IOS®軟體命令

CatOS命令

Cisco IOS軟體命令

監視

命令輸出

CatOS指令

Cisco IOS軟體命令

相關資訊

簡介

本檔案介紹跨距樹狀目錄通訊協定(STP)的PortFast橋接通訊協定資料單元(BPDU)防護增強功能。

必要條件

需求

本文件沒有特定需求。

採用元件

以下軟體版本已匯入STP PortFast BPDU防護：

- 適用於Catalyst 4500/4000（監督器引擎II）、5500/5000、6500/6000、2926、2926G、2948G和2980G平台的Catalyst OS(CatOS)軟體版本5.4.1

- 適用於Catalyst 6500/6000平台的Cisco IOS®軟體版本12.0(7)XE

- 適用於Catalyst 4500/4000監督器引擎III的Cisco IOS軟體版本12.1(8a)EW

- 適用於Catalyst 4500/4000監督器引擎IV的Cisco IOS軟體版本12.1(12c)EW

- 適用於Catalyst 2900XL和3500XL系列的Cisco IOS軟體版本12.0(5)WC5

- 適用於Catalyst 3750系列交換器的Cisco IOS軟體版本12.1(11)AX

- 適用於Catalyst 3750 Metro交換器的Cisco IOS軟體版本12.1(14)AX

- 適用於Catalyst 3560系列交換器的Cisco IOS軟體版本12.1(19)EA1

- 適用於Catalyst 3550系列交換器的Cisco IOS軟體版本12.1(4)EA1

- 適用於Catalyst 2970系列交換器的Cisco IOS軟體版本12.1(11)AX

- 適用於Catalyst 2955系列交換器的Cisco IOS軟體版本12.1(12c)EA1

- 適用於Catalyst 2950系列交換器的Cisco IOS軟體版本12.1(6)EA2

- 適用於Catalyst 2950長距離乙太網路(LRE)交換器的Cisco IOS軟體版本12.1(11)EA1

- 適用於Catalyst 2940系列交換器的Cisco IOS軟體版本12.1(13)AY

註意：STP PortFast BPDU防護不適用於Catalyst 8500系列、2948G-L3或4908G-L3交換機。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

慣例

如需更多文件慣例的相關資訊，請參閱思科技術提示慣例。

背景資訊

本檔案將說明PortFast橋接通訊協定資料單元(BPDU)防護功能。此功能是Cisco建立的生成樹通訊協定(STP)增強功能之一。此功能增強了交換機網路的可靠性、可管理性和安全性。

功能說明

STP將網狀拓撲配置為無環路的樹狀拓撲。當網橋埠上的鏈路接通時，該埠上會進行STP計算。計算的結果是埠轉換到轉發或阻塞狀態。結果取決於埠在網路中的位置和STP引數。此計算和過渡期通常需要30到50秒。此時，沒有使用者資料通過埠。某些使用者應用程式可能會在該期間超時。

為了允許埠立即轉換到轉發狀態，請啟用STP PortFast功能。連線後，PortFast會立即將連線埠轉換為STP轉送模式。埠仍參與STP。因此，如果埠要成為環路的一部分，則該埠最終會轉換為STP阻塞模式。

只要埠參與STP，某些裝置就會承擔根網橋功能並影響活動STP拓撲。要承擔根網橋功能，裝置將連線到埠，並以低於當前根網橋的網橋優先順序運行STP。如果另一台裝置以這種方式承擔根網橋功能，則會使網路處於次優狀態。這是對網路進行拒絕服務(DoS)攻擊的簡單形式。臨時引入和隨後移除橋接優先順序低(0)的STP裝置會導致永久的STP重新計算。

STP PortFast BPDU防護增強功能允許網路設計者強制執行STP域邊界並保持活動拓撲的可預測性。已啟用STP PortFast的連線埠背後的裝置無法影響STP拓撲。接收BPDU時，BPDU防護操作會禁用已配置PortFast的連線埠。BPDU防護將連線埠轉換為錯誤停用狀態，主控台上會顯示訊息。以下訊息為範例：

2000 May 12 15:13:32 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port.

Disabling 2/1

2000 May 12 15:13:32 %PAGP-5-PORTFROMSTP:Port 2/1 left bridge port 2/1

請考慮以下示例：

圖1

橋接器

網橋A的優先順序為8192，是VLAN的根。網橋B具有優先16384級，並且是同一VLAN的備用根網橋。千兆乙太網鏈路連線的網橋A和B構成了網路的核心。網橋C是接入交換機，在連線到裝置D的埠上配置了PortFast。如果其他STP引數為預設值，則連線到網橋B的網橋C埠處於STP阻塞狀態。裝置D(PC)不參與STP。虛線箭頭指示STP BPDU的流量。

圖2

在PC上啟動基於Linux的橋接應用程式

在圖2中，裝置D已開始參與STP。例如，在PC上啟動基於Linux的橋接應用程式。如果軟體網橋的優先順序為0或小於根網橋的優先順序的任何值，則軟體網橋將接管根網橋功能。連線兩個核心交換機的千兆乙太網鏈路將轉換為阻塞模式。此轉換會導致該VLAN中的所有資料通過100 Mbps鏈路傳輸。如果通過VLAN核心的資料流量超過鏈路所能容納的流量，則會發生幀丟棄。幀丟棄會導致連線中斷。

STP PortFast BPDU防護功能可防止出現這種情況。一旦網橋C收到來自裝置D的STP BPDU，該功能就會禁用埠。

組態

您可以全域性啟用或禁用STP PortFast BPDU防護，這將影響已配置PortFast的所有埠。預設情況下，STP BPDU防護處於禁用狀態。發出此命令，以在交換器上啟用STP PortFast BPDU防護：

CatOS指令

Console> (enable) set spantree portfast bpdu-guard enable

Spantree portfast bpdu-guard enabled on this switch.

Console> (enable)

Cisco IOS®軟體命令

CatSwitch-IOS(config)# spanning-tree portfast bpduguard

CatSwitch-IOS(config)

當STP BPDU防護禁用埠時，除非該埠手動啟用，否則該埠將保持禁用狀態。您可以將連線埠設定為從錯誤停用狀態自動重新啟用。發出以下命令，設定errdisable-timeout interval並啟用timeout功能：

CatOS命令

Console> (enable) set errdisable-timeout interval 400

Console> (enable) set errdisable-timeout enable bpdu-guard

Cisco IOS軟體命令

CatSwitch-IOS(config)# errdisable recovery cause bpduguard

CatSwitch-IOS(config)# errdisable recovery interval 400

註：預設的超時間隔為300秒，並且預設情況下會禁用超時功能。

監視

若要確認功能是否已啟用，請發出下一個適用的命令。

命令輸出

CatOS指令

Console> (enable) show spantree summary

Root switch for vlans: 3-4.

Portfast bpdu-guard enabled for bridge.

Uplinkfast disabled for bridge.

Backbonefast disabled for bridge.

Summary of Connected Spanning Tree Ports By VLAN:

Vlan  Blocking Listening Learning Forwarding STP Active

----- -------- --------- -------- ---------- ----------

1         0         0        0          1          1

3         0         0        0          1          1

4         0         0        0          1          1

20         0         0        0          1          1

Blocking Listening Learning Forwarding STP Active

----- -------- --------- -------- ---------- ----------

Total        0         0        0          4          4

Console> (enable)

Cisco IOS軟體命令

CatSwitch-IOS# show spanning-tree summary totals

Root bridge for: none.

PortFast BPDU Guard is enabled

UplinkFast is disabled

BackboneFast is disabled

Spanning tree default pathcost method used is short

Name                 Blocking Listening Learning Forwarding STP Active

-------------------- -------- --------- -------- ---------- ----------

1 VLAN                 0        0         0        1          1

CatSwitch-IOS#

相關資訊

- 思科技術支援與下載