目录

简介

先决条件

要求

使用的组件

规则

背景信息

功能描述

图 1

图 2

配置

CatOS 命令

Cisco IOS®软件命令

CatOS 命令

Cisco IOS 软件命令

监控

命令输出

CatOS 命令

Cisco IOS 软件命令

相关信息

简介

本文档介绍生成树协议(STP)的PortFast网桥协议数据单元(BPDU)防护增强功能。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

以下软件版本引入了 STP PortFast BPDU 防护：

- 用于 Catalyst 4500/4000（Supervisor 引擎 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 Supervisor 引擎 III 的 Cisco IOS 软件版本 12.1(8a)EW

- 用于 Catalyst 4500/4000 Supervisor 引擎 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

注意：对于 Catalyst 8500 系列、2948G-L3 或 4908G-L3 交换机未 提供 STP PortFast BPDU 防护。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

规则

有关文档规则的详细信息，请参阅思科技术提示规则。

背景信息

本文档将介绍 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 防护将端口转换为 errdisable 状态，并在控制台上显示一条消息。以下消息是一个示例：

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

基于Linux的网桥应用程序在PC上启动

在映像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 状态自动重新启用它自己。发出以下命令，以设置 errdisable-timeout interval 并启用超时功能：

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#

相关信息

- 思科技术支持与下载