交换机 : Cisco Catalyst 6500 系列交换机

使用 PortFast 和其他命令解决工作站启动连接延迟问题

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文档讨论了连接到交换机的工作站出现以下两个问题之一时所发生的初始连接延迟:

  • 无法登录到网络域,如 Microsoft Windows NT 或 Novell

  • 无法获取 DHCP 地址

本文档中的步骤很容易实施,并针对工作站初始化/启动阶段所遇到的工作站连接延迟问题的最常见原因提供了解决办法。

先决条件

要求

随着越来越多的客户部署了桌面交换技术,用交换机取代共享集线器,客户端/服务器环境中经常发生初始连接延迟。通常情况下,Windows 95/98/NT、Novell、Banyan 虚拟集成网络服务 (VINES)、IBM NetworkStation/IBM 瘦客户端和 AppleTalk 客户端无法连接到各自的服务器。如果这些客户端上的软件在启动过程中不能持续,那么甚至在交换机允许数据流通过它进入客户端之前,客户端就已经放弃尝试连接到服务器。

注意: 这种初始连接延迟通常表现为首次启动工作站时出现的错误。常见的错误消息和错误如下:

  • Microsoft 网络客户端显示 No Domain Controllers Available。

  • DHCP 报告 No DHCP Servers Available。

  • Novell 互联网分组交换 (IPX) 网络工作站在启动时不显示 Novell Login 屏幕。

  • AppleTalk 网络客户端显示 Access to your AppleTalk network has been interrupted.To re-establish your connection, open and close the AppleTalk control panel.也有可能 AppleTalk 客户端选择器应用程序不显示区域列表或者显示的区域列表不完整。

  • IBM 网络站会显示下列消息之一:

    • NSB83619--Address resolution failed

    • NSB83589--Failed to boot after 1 attempt

    • NSB70519--Failed to connect to a server

    IBM 已经创建了修复程序来帮助解决此问题。IBM 已将这些修复程序包含在 V2R1 代码的 PTF 7 中。在尝试连接到本文档中所列的交换机前,客户应处于网络站点固件级别 B3052500(截至 2000 年 5 月 25 日)。

在网络管理员更新软件或驱动程序的交换环境中,也经常发生初始连接延迟。通常在这种情况下,供应商会优化驱动程序,以使网络初始化程序在客户端的启动过程中较早执行(在交换机准备处理数据包之前)。

由于一些交换机现在具备多种功能,因此有时几乎需要经过一分钟后交换机才能开始为新连接的工作站提供服务。每次打开或重新启动工作站时,这种延迟都会影响工作站。导致此延迟的四种主要功能是:

  • 生成树协议 (STP)

  • EtherChannel 协商

  • 中继协商

  • 在交换机和工作站之间的链路速度/双工协商

上述四种功能以它们所导致的延迟时间长短的顺序排列。STP 所导致的延迟时间最长,而速度/双工协商导致的延迟时间最短。连接到交换机的工作站往往不会引起生成树环路,通常不需要 EtherChannel,也不需要协商中继方法。如果需要尽量优化启动时间,那么禁用链路速度/检测协商也可以缩短端口延迟。

本文档说明了如何在三种 Cisco Catalyst 交换机平台上实施启动速度优化命令。计时部分说明了缩短交换机端口延迟的方法以及缩短的程度。

使用的组件

本文档中的示例是以该设备创建的:

  • 适用于交换机中的 Supervisor 引擎的控制台电缆

    注意: 请参阅将终端连接到 Catalyst 交换机上的控制台端口

  • 运行 Catalyst OS (CatOS) 软件版本 4.5(1) 的 Catalyst 5505 交换机

  • 运行Cisco IOS�软件版本12.1(6)E的Catalyst 6000交换机

  • 运行 Cisco IOS 软件版本 12.1(11b)EW 的 Catalyst 4000 交换机

  • Catalyst 2948G-L3 交换机

  • 运行 Cisco IOS 软件版本 11.2(8.2)SA6 的 Catalyst 2900XL 交换机

  • 运行 Enterprise Edition 软件版本 8 的 Catalyst 1900 交换机

  • 支持端口聚合协议 (PAgP) 和中继的快速以太网模块

  • 连接到交换机的 RJ-45 以太网交叉电缆

  • 连接到交换机的 PC

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

本文档中的术语“工作站”、“终端站”和“服务器”可互换使用。这些术语是指任何通过单个网络接口卡 (NIC) 直接连接到交换机的设备。这些术语也可以指拥有多个 NIC 的设备,其中 NIC 仅作冗余用途。换言之,此类工作站或服务器未配置为充当网桥,然而它有多个 NIC 可提供冗余。

注意: 有一些服务器 NIC 支持中继和/或 EtherChannel。某些情况下,服务器需要同时驻留在多个 VLAN 上(中继),或者服务器在与交换机连接的链路上需要更多带宽 (EtherChannel)。在这些情况下,不要将 PAgP 和中继设置为 off。此外,很少关闭或重置这些设备。本文档中的说明不适用于这些类型的设备。

背景

本部分介绍某些交换机所具备的四种功能,将设备连接到交换机时,这些功能会引发初始延迟。工作站往往不会引起生成树问题(环路),通常也不需要 PAgP 和/或 Dynamic Trunking Protocol (DTP) 等功能,因此不必延迟。

生成树

如果您最近刚从集线器环境迁移到交换机环境,则可能出现启动连接延迟,因为交换机与集线器的工作方式大不相同。交换机在数据链路层而非物理层提供连接。交换机使用一种桥接算法,以便确定是否需要将某个端口上接收到的数据包在其他端口上传出。桥接算法易受网络拓扑中物理环路的影响。鉴于这种易受环路影响的特点,交换机将运行 STP 协议,该协议有助于消除拓扑中的环路。运行 STP 时,包含在生成树进程中的所有端口都会比原来的激活速度慢得多,因为 STP 会检测并阻止环路。拥有物理环路而没有 STP 的桥接网络将会断开。尽管该进程比较耗时,但 STP 仍然是大有裨益的。运行于 Catalyst 交换机上的 STP 是行业标准规格 (IEEE 802.1D)。

交换机上的端口链接并加入网桥组之后,STP 就会在该端口上运行。运行 STP 的端口可能处于下列五种状态之一:

  • 阻塞

  • 侦听

  • 学习

  • 转发

  • 已禁用

STP 指示端口开始 blocking,随后立即进入侦听和学习阶段。默认情况下,端口大约需要 15 秒进行 listening,15 秒进行学习。在 listening state 时,交换机会尝试确定端口在生成树拓扑中对应的位置。交换机尤其要判断该端口是否是物理环路的一部分。如果端口是环路的一部分,则可选择让该端口进入 blocking mode。在 blocking mode 下,端口既不发送也不接收用户数据,以便消除环路。如果端口不是环路的一部分,端口会进入 learning state,在此状态下端口将了解哪些 MAC 地址依赖于该端口。这整个 STP 初始化过程大约需要 30 秒时间。

如果您将带有单个 NIC 卡的工作站或服务器或者一部 IP 电话连接到交换机端口,该连接不会创建物理环路。这些连接称为叶节点。如果工作站无法形成环路,那么就没有必要让工作站浪费 30 秒时间等待交换机检查是否存在环路。Cisco 新增了 PortFast(或称快速启动)功能。通过此功能,该端口的 STP 假设端口不是环路的一部分,然后立即进入 forwarding state,而不经过阻止、侦听或学习状态。此命令不会关闭 STP。此命令会使 STP 在所选端口上跳过前几个初始步骤(在这种情况下属于不必要的步骤)。

警告 警告: 切勿在与其他交换机、集线器或路由器连接的交换机端口上使用 PortFast 功能。这些连接会形成物理环路,而在这种情况下生成树必须经过全部的初始化过程。生成树环路可能会造成网络瘫痪。如果您对属于物理环路一部分的端口打开了 PortFast,可能会有一段时间数据包持续进行转发(甚至可能成倍增长),从而导致网络无法恢复。

EtherChannel

在交换机上可以启用的其他功能有 EtherChannel、Fast EtherChannel (FEC) 或 Gigabit EtherChannel (GEC)。这些功能可让两个相同设备之间的多个链路如同一个快速链路一样运行,并使流量负载平衡分布在这些链路之间。交换机可通过使用 PAgP 对邻接设备自动形成这些链路捆绑。能运行 PAgP 的交换机端口通常情况下会默认处于一种称作 auto mode 的被动模式。在 auto mode 下,如果链路间的邻接设备发出请求,交换机就会形成一个链路捆绑。如果在 auto mode 下运行此协议,就会在控制权传递到生成树算法 (STA) 之前产生最长 15 秒的端口延迟。PAgP 比 STP 先在端口上运行。在与工作站连接的端口上没有必要运行 PAgP。如果将交换机端口 PAgP 模式设置为 off,将消除这种延迟。

建立中继

另一种交换机功能是端口具备形成中继的能力。当两台设备需要从多个 VLAN 传输数据流时,将在这两台设备之间配置中继。VLAN 由交换机创建,目的是使一组工作站如同在自己的网段或广播域上一样。中继端口可使这些 VLAN 扩展至多个交换机,这样单个 VLAN 就可以覆盖整个园区。为了以这种方式扩展 VLAN,中继端口会在数据包上添加标记,指明数据包所属的 VLAN。

中继协议有多种不同的类型。如果某端口能够成为中继,此端口或许就可以自动形成中继。并且,在某些情况下,端口甚至可以针对该端口上要使用的中继类型进行协商。通过 DTP 可以与另一设备协商中继方法。DTP 的前身是动态交换机间链路协议 (ISL) (DISL)。如果运行这些协议,它们就会延迟交换机中端口的激活时间。

通常,与工作站连接的端口只属于单个 VLAN。所以,端口不需要形成中继。如果某端口能够对中继的形成进行协商,则该端口通常默认处于 auto mode。如果将端口的中继模式更改为 off,则可进一步缩短交换机端口的激活延迟。

速度和双工协商

如果打开 PortFast,关闭 PAgP(若 PAgP 存在),通常可以解决初始连接延迟问题。如果需要最大限度地消除延迟,并且此端口为多速端口 (10/100 Mbps),那么您也可以在交换机上手动设置端口速度和双工。尽管自动协商是一项很不错的功能,但如果在 Catalyst 5500/5000 上将其关闭,也可节省 2 秒钟的时间。自动协商在 Catalyst 2800 或 Catalyst 2900XL 上作用不大。

注意: 如果在交换机上关闭自动协商,而在工作站上启用自动协商,则交换机不会与客户端进行协商。有可能客户端不会选择与交换机使用相同的双工设置。有关自动协商注意事项的其他信息,请参阅以太网 10/100/1000Mb 半双工/全双工自动协商的配置与故障排除

运行 CatOS 的 Catalyst 4500/4000、5500/5000 和 6500/6000 交换机

本部分的命令展示了如何打开 PortFast、关闭 PAgP 协商和关闭中继协商(DISL、DTP)。如果您发出类似 set spantree portfast 2/1-12 enable 这样的命令,则可为一系列端口发出 set spantree portfast 命令。通常,必须使用一组能够形成信道的有效端口,以便关闭 set port channel 命令。在本部分的示例中,模块 2 能够利用端口 2/1-2 或端口 2/1-4 形成信道。这两组端口均为可用的有效端口。

注意: Catalyst 4500/4000 和 5500/5000 交换机的软件版本 5.2 有一个新的命令。set port host 命令是一种宏,它将配置部分展示的一些命令组合为一个易于使用的命令。发出 set port host 命令,以便缩短启动数据包转发所需的时间。为了优化端口配置,set port host 命令关闭信道模式,启用生成树 PortFast,关闭中继模式,并禁用 IEEE 802.1Q (dot1q) 隧道功能。如果已启用生成树 PortFast,则仅在连接到单个主机的端口上发出 set port host 命令。如果将集线器、集中器、交换机和网桥连接到一个快速启动端口上,则会形成临时生成树环路。

配置

Switch -A> (enable) set spantree portfast 2/1 enable

Warning: Spantree port fast start should only be enabled on ports connected to
a single host. Connecting hubs, concentrators, switches, bridges, etc. to a
fast start port can cause temporary spanning tree loops. Use with caution.
		
Spantree port 2/1 fast start enabled.
Switch-A> (enable) set port channel 2/1-2 off
Port(s) 2/1-2 channel mode set to off.

Switch-A> (enable) set trunk 2/1 off
Port(s) 2/1 trunk mode set to off.

对配置的更改会自动保存到 NVRAM。

验证

本文档中使用的交换机软件版本是 4.5(1)。有关 show version 命令和 show module 命令的完整输出,请参阅本文档中 Catalyst 5500 上使用和不使用 DTP、PAgP 和 PortFast 的计时测试部分。

Switch-A> (enable) show version
WS-C5505 Software, Version McpSW: 4.5(1) NmpSW: 4.5(1)

show port spantree 命令展示了如何查看与 STP 相关的端口的当前状态。当前,此端口处于 STP 转发状态(发送和接收数据包),Fast-Start 列显示当前已禁用 PortFast。此端口在每次初始化时至少需要 30 秒才会进入 forwarding state。

Switch-A> (enable) show port spantree 2/1

Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------  ----  -------------  -----  --------  ----------  ------------
 2/1      1     forwarding        19        32  disabled

在此交换机端口上启用 PortFast。该交换机警告您,此命令只能在连接到单个主机(工作站、服务器等)的端口上使用,切勿在连接到其他集线器或交换机的端口上使用。如果只有单个主机,一旦启用 PortFast,端口就会立即开始转发。工作站或服务器不会形成网络环路。

Switch-A> (enable) set spantree portfast 2/1 enable

Warning: Spantree port fast start should only be enabled on ports connected
to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
a fast start port can cause temporary spanning tree loops.  Use with caution.

Spantree port 2/1 fast start enabled.

要验证端口是否已启用 PortFast,请发出此命令:

Switch-A> (enable) show port spantree 2/1

Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------  ----  -------------  -----  --------  ----------  ------------
 2/1      1     forwarding        19        32  enabled

要查看一个或多个端口的 PortFast 设置,另一种方式是查看特定 VLAN 的 STP 信息。本文档中 Catalyst 5500 上使用和不使用 DTP、PAgP 和 PortFast 的计时测试部分说明了如何让交换机实时报告它所经过的每个 STP 阶段。show spantree 命令的此输出也会显示转发的延迟时间(15 秒)。这段时间是针对 VLAN 中的每个端口而言,具体为 STP 处于 listening state 的时长以及 STP 处于学习状态的时长。

Switch-A> (enable) show spantree 1
VLAN 1
Spanning tree enabled
Spanning tree type          ieee

Designated Root             00-e0-4f-94-b5-00
Designated Root Priority    8189
Designated Root Cost        19
Designated Root Port        2/24
Root Max Age   20 sec    Hello Time 2  sec   Forward Delay 15 sec

Bridge ID MAC ADDR          00-90-92-b0-84-00
Bridge ID Priority          32768
Bridge Max Age 20 sec    Hello Time 2  sec   Forward Delay 15 sec

Port      Vlan  Port-State     Cost   Priority  Fast-Start  Group-Method
--------- ----  -------------  -----  --------  ----------  ------------

 2/1      1     forwarding        19        32   enabled              

!--- Output suppressed.

要验证 PAgP 是否已设置为 off,请使用 show port channel 命令。请确保指定模块编号,这样,即使未形成信道,此命令也能向您显示信道模式。如果在未形成信道的情况下发出 show port channel 命令,则输出信息会报告无端口信道。您需要进一步操作,以了解当前的信道模式。

以下是 show port channel 命令的示例。该示例指定了模块编号 2:

Switch-A> (enable) show port channel
No ports channeling
Switch-A> (enable) show port channel 2
Port  Status     Channel   Channel     Neighbor                  Neighbor
                 mode      status      device                    port
----- ---------- --------- ----------- ------------------------- ----------
 2/1  notconnect auto      not channel
 2/2  notconnect auto      not channel

!--- Output suppressed.

Switch-A> (enable) set port channel 2/1-2 off
Port(s) 2/1-2 channel mode set to off.

Switch-A> (enable) show port channel 2
Port  Status     Channel   Channel     Neighbor                  Neighbor
                 mode      status      device                    port
----- ---------- --------- ----------- ------------------------- ----------
 2/1  connected  off       not channel
 2/2  connected  off       not channel

!--- Output suppressed.

要验证中继协商是否已设置为 off,请发出 set trunk off 命令。本部分中 set trunk off 命令的输出示例显示:

  • 默认状态

  • 中继模式已设置为 off

  • 所导致的状态

该示例指定了模块编号 2,因此您可以看到此模块中端口的当前信道模式。

Switch-A> (enable) show trunk 2
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 2/1      auto         negotiate      not-trunking  1
 2/2      auto         negotiate      not-trunking  1

!--- Output suppressed.

 
Switch-A> (enable) set trunk 2/1-2 off
Port(s) 2/1-2 trunk mode set to off.

Switch-A> (enable) show trunk 2
Port      Mode         Encapsulation  Status        Native vlan
--------  -----------  -------------  ------------  -----------
 2/1      off          negotiate      not-trunking  1
 2/2      off          negotiate      not-trunking  1 

!--- Output suppressed.

本文档未举例说明通过在交换机上手动设置速度和双工来关闭速度/双工自动协商。除了在极少数情况下,一般不必采取此步骤。

Catalyst 5500 上使用和不使用 DTP、PAgP 和 PortFast 的计时测试

本部分的测试说明了在应用各种命令后交换机端口初始化计时所发生的情况。为提供一种基准衡量,开始时采用了端口的默认设置。这些设置是:

  • 禁用 PortFast。

  • PAgP (EtherChannel) 模式设置为 auto。

    注意: 如果请求端口形成信道,端口就会形成信道。

  • 中继模式 (DTP) 设置为 auto。

    注意: 如果请求端口形成中继,端口就会形成中继。

然后将按以下方式进行测试:

  1. 将 PortFast 设置为 on 并计时。

  2. 将 PAgP 设置为 off 并计时。

  3. 将中继模式设置为 off 并计时。

  4. 将自动协商设置为 off 并计时。

所有这些测试都在 Catalyst 5500 上完成,此交换机上配有支持 DTP 和 PAgP 的 10/100-Mbps 快速以太网卡。

注意: 如本文档中的生成树部分所述,将 PortFast 设置为 on 并不等同于将 STP 设置为 off。PortFast 设置为 on 时,STP 仍然在端口上运行。端口会跳过 blocking、侦听和学习状态,立即进入转发状态。请勿将 STP 设置为 off,因为这样会影响整个 VLAN,使网络易受物理拓扑环路的影响。由此会造成严重的网络问题。

完成这些步骤:

  1. 发出 show version 命令和 show module 命令,以便显示交换机软件版本和配置。

    Switch-A> (enable) show version
    WS-C5505 Software, Version McpSW: 4.5(1) NmpSW: 4.5(1)
    Copyright (c) 1995-1999 by Cisco Systems
    NMP S/W compiled on Mar 29 1999, 16:09:01
    MCP S/W compiled on Mar 29 1999, 16:06:50
    
    System Bootstrap Version: 3.1.2
    
    Hardware Version: 1.0  Model: WS-C5505  Serial #: 066507453
    
    Mod Port Model      Serial #  Versions
    --- ---- ---------- --------- ----------------------------------------
    1   0    WS-X5530   006841805 Hw : 1.3
                                  Fw : 3.1.2
    
                                  Fw1: 3.1(2)
                                  Sw : 4.5(1)
    2   24   WS-X5225R  012785227 Hw : 3.2
                                  Fw : 4.3(1)
                                  Sw : 4.5(1)
    
           DRAM                    FLASH                   NVRAM
    Module Total   Used    Free    Total   Used    Free    Total Used  Free
    ------ ------- ------- ------- ------- ------- ------- ----- ----- -----
    1       32640K  13648K  18992K   8192K   4118K   4074K  512K  119K  393K
    
    Uptime is 28 days, 18 hours, 54 minutes
    
    Switch-A> (enable) show module
    Mod Module-Name         Ports Module-Type           Model    Serial-Num Status
    --- ------------------- ----- --------------------- --------- --------- -------
    1                       0     Supervisor III        WS-X5530  006841805 ok
    2                       24    10/100BaseTX Ethernet WS-X5225R 012785227 ok
    
    Mod MAC-Address(es)                        Hw     Fw         Sw
    --- -------------------------------------- ------ ---------- -----------------
    1   00-90-92-b0-84-00 to 00-90-92-b0-87-ff 1.3    3.1.2      4.5(1)
    2   00-50-0f-b2-e2-60 to 00-50-0f-b2-e2-77 3.2    4.3(1)     4.5(1)
    
    Mod Sub-Type Sub-Model Sub-Serial Sub-Hw
    --- -------- --------- ---------- ------
    1   NFFC     WS-F5521  0008728786 1.0
  2. 发出 set logging level spantree 7 命令,以便将 STP 的日志记录设置为最详细。

    该示例显示了 STP 的默认日志记录级别 (2),这意味着仅报告重要情况:

    Switch-A> (enable) show logging
    
    Logging buffer size:          500
            timestamp option:     enabled
    Logging history size:         1
    Logging console:              enabled
    Logging server:               disabled
            server facility:      LOCAL7
            server severity:      warnings(4)
    
    Facility            Default Severity         Current Session Severity
    -------------       -----------------------  ------------------------
    
    !--- Output suppressed.
    
    spantree            2                        2                    
    
    !--- Output suppressed.
    
    0(emergencies)        1(alerts)             2(critical)           
    3(errors)             4(warnings)           5(notifications)      
    6(information)        7(debugging)

    将 STP 的日志记录级别更改为 7(调试),以便查看端口上 STP 状态变化。此配置更改仅保持在当前终端会话中。

    Switch-A> (enable) set logging level spantree 7
    System logging facility <spantree> for this session set to severity 7(debugging)
    
    Switch-A> (enable) show logging
    
    !--- Output suppressed.
    
    
    Facility            Default Severity         Current Session Severity
    -------------       -----------------------  ------------------------
    
    !--- Output suppressed.
    
    spantree            2                        7                    
    
    !--- Output suppressed.
    
    
  3. 发出 set port disable 命令,以便关闭端口。

    Switch-A> (enable) set port disable 2/1
    Port 2/1 disabled.
  4. 检查时间并启用端口,以便确定交换机在每个状态中持续的时长。

    该示例使用 show time 命令和 set port enable 2/1 命令。为获取最准确的计时信息,请尽快发出命令。您可以在文本文件中分行输入各个命令,再将这些命令复制到剪贴板,然后粘贴到交换机中。

    Switch-A> (enable) show time
    Fri Feb 25 2000, 12:20:17
    Switch-A> (enable) set port enable 2/1
    Port 2/1 enabled.
    Switch-A> (enable)
    2000 Feb 25 12:20:39 %PAGP-5-PORTTOSTP:
       Port 2/1 joined bridge port 2/1
    2000 Feb 25 12:20:39 %SPANTREE-6-PORTBLK: 
       port 2/1 state in vlan 1 changed to blocking.
    2000 Feb 25 12:20:39 %SPANTREE-6-PORTLISTEN: 
       port 2/1 state in vlan 1 changed to Listening.
    2000 Feb 25 12:20:53 %SPANTREE-6-PORTLEARN: 
       port 2/1 state in vlan 1 changed to Learning.
    2000 Feb 25 12:21:08 %SPANTREE-6-PORTFWD: 
       port 2/1 state in vlan 1 changed to forwarding.

    在本示例中,大约经过 22 秒(从 20:17 到 20:39)后端口开始 STP 阻止阶段。在这段时间内,端口加入了网桥组并完成了 DTP 和 PAgP 协商。阻止阶段开始后,进入 STP 领域。经过阻止阶段后,STP 随即进入 listening state(20:39 到 20:39)。listening state 用时约 14 秒(从 20:39 到 20:53)。learning state(直到转发状态开始)用时 15 秒(从 20:53 到 21:08)。在端口允许数据流通过之前所花费的总时间大约为 51 秒(从 20:17 到 21:08)。

    注意: 严格来说,listening and learning stages 用时都应该是 15 秒,这也是该 VLAN 的转发延迟参数所设置的值。如果测量进行得更为准确,learning stage 用时将是 15 秒(而不是 14 秒)。这里所获得的测量结果没有一个是绝对准确的。

  5. 发出 show port capabilities 命令和 show trunk 命令。

    如步骤 4 中的输出和 show spantree 命令的输出所示,STP 在此端口上为 active。随着端口到达 forwarding state,会有其他因素减缓端口的速度。show port capabilities命令显示,这个端口能够建立中继,创建EtherChannel。show trunk 命令显示,此端口处于 auto mode,并且已设置为协商要使用的中继类型,ISL 或 802.1Q。通过 DTP 协商要使用的中继类型。

    Switch-A> (enable) show port capabilities 2/1
    Model                    WS-X5225R
    Port                     2/1
    Type                     10/100BaseTX
    
    Speed                    auto,10,100
    Duplex                   half,full
    Trunk encap type         802.1Q,ISL
    Trunk mode   on,off,desirable,auto,nonegotiate
    Channel      2/1-2,2/1-4
    Broadcast suppression    percentage(0-100)
    Flow control             receive-(off,on),send-(off,on)
    Security                 yes
    Membership               static,dynamic
    Fast start               yes
    Rewrite                  yes
    Switch-A> (enable) show trunk 2/1
    Port      Mode         Encapsulation  Status        Native vlan
    --------  -----------  -------------  ------------  -----------
     2/1      auto         negotiate      not-trunking  1
    
    !--- Output suppressed.
    
    
  6. 在端口上启用 PortFast。

    中继协商 (DTP) 和 EtherChannel (PAgP) 仍然处于 auto mode。

    Switch-A> (enable) set port disable 2/1
    Port 2/1 disabled.
    
    Switch-A> (enable) set spantree portfast 2/1 enable
    
    Warning: Port fast start should only be enabled on ports connected to a
    single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast
    start port can cause temporary spanning tree loops. Use with caution. 
    			 
    Spantree port 2/1 fast start enabled.
    
    Switch-A> (enable) show time
    Fri Feb 25 2000, 13:45:23
    Switch-A> (enable) set port enable 2/1
    Port 2/1 enabled.
    Switch-A> (enable) 
    Switch-A> (enable)
    2000 Feb 25 13:45:43 %PAGP-5-PORTTOSTP:
       Port 2/1 joined bridgeport 2/1
    2000 Feb 25 13:45:44 %SPANTREE-6-PORTFWD: 
       port 2/1 state in vlan 1 change to forwarding.

    总时间为 21 秒。经过 20 秒后,端口加入网桥组(从 45:23 到 45:43)。由于已启用 PortFast,仅用 1 秒(而非 30 秒)STP 就开始了 forwarding。如果启用 PortFast,就会节省 29 秒的时间。现在,请尝试进一步缩短延迟时间。

  7. 将 PAgP 模式设置为 off。

    show port channel 命令显示,PAgP 模式已设置为 auto,这意味着如果运行 PAgP 的邻接设备请求端口形成信道,该端口就会形成信道。必须为至少有两个端口的端口组将信道功能设置为 off。不能将单个端口的信道功能设置为 off。

    Switch-A> (enable) show port channel 2/1
    Port  Status     Channel   Channel     Neighbor                  Neighbor
                     mode      status      device                    port
    ----- ---------- --------- ----------- ------------------------- ---------- 
     2/1  connected  auto      not channel
    
    Switch-A> (enable) set port channel 2/1-2 off
    Port(s) 2/1-2 channel mode set to off.
  8. 关闭端口并重复测试。

    Switch-A> (enable) set port disable 2/1
    Port 2/1 disabled.
    
    Switch-A> (enable) show time
    Fri Feb 25 2000, 13:56:23
    Switch-A> (enable) set port enable 2/1
    Port 2/1 enabled.
    Switch-A> (enable)
    2000 Feb 25 13:56:32 %PAGP-5-PORTTOSTP:
       Port 2/1 joined bridgeport 2/1
    2000 Feb 25 13:56:32 %SPANTREE-6-PORTFWD: 
       port 2/1 state in vlan 1 changed to forwarding.

    请注意,现在要到达 forwarding state 只需 9 秒(从 56:23 到 56:32),而不是步骤 6 中测得的 21 秒。如果将此测试中的 PAgP 从 auto 更改为 off,将节省大约 12 秒的时间。

  9. 将中继模式设置为 off(而非 auto),然后确定这会如何影响端口到达转发状态所需的时间。

    将端口设置为 off and on,并记录时间。

    Switch-A> (enable) set trunk 2/1 off
    Port(s) 2/1 trunk mode set to off.
    Switch-A> (enable) set port disable 2/1
    Port 2/1 disabled.

    开始测试前将中继模式设置为 off(而非 auto)。

    Switch-A> (enable) show time
    Fri Feb 25 2000, 14:00:19
    Switch-A> (enable) set port enable 2/1
    Port 2/1 enabled.
    Switch-A> (enable)
    2000 Feb 25 14:00:22 %PAGP-5-PORTTOSTP:
       Port 2/1 joined bridge port 2/1
    2000 Feb 25 14:00:23 %SPANTREE-6-PORTFWD: 
       port 2/1 state in vlan 1 change for forwarding.

    在开始时您节省了几秒时间,因为在端口到达 STP 转发状态前用时仅 4 秒(从 00:19 到 00:22)。如果将中继模式从 auto 更改为 off,则会节省大约 5 秒的时间。

    如果交换机端口初始化时间有问题,您应该在此时解决。如果需要将时间再缩短几秒,请执行步骤 10。

  10. ((可选)手动设置端口速度和双工而不使用自动协商,以便将时间再缩短几秒。

    注意: 要解决启动延迟问题,该步骤通常并非必要。

    如果在一侧手动设置了速度和双工,必须也在另一侧设置速度和双工。设置端口速度和双工时,您禁用了端口上的自动协商,这样连接设备不会看到自动协商参数。连接设备仅以半双工模式连接。这种双工不匹配会导致性能低下,并引发端口错误。请记住在两侧都要设置速度和双工,以免发生这些问题。

    要查看设置速度和双工之后的端口状态,请发出 show port 命令。

    Switch-A> (enable) set port speed 2/1 100
    Port(s) 2/1 speed set to 100Mbps.
    Switch-A> (enable) set port duplex 2/1 full
    Port(s) 2/1 set to full-duplex.
    Switch-A> (enable) show port
    Port  Name               Status     Vlan       Level  Duplex Speed Type
    ----- ------------------ ---------- ---------- ------ ------ ----- ------------
     2/1                     connected  1          normal   full   100 10/100BaseTX
    
    !--- Output suppressed.
    
    

    该示例显示的计时结果如下:

    Switch-A> (enable) show time
    Fri Feb 25 2000, 140528 Eastern
    Switch-A> (enable) set port enable 2/1
    Port 2/1 enabled.
    Switch-A> (enable)
    2000 Feb 25 140529 Eastern -0500 %PAGP-5-PORTTOSTP:
       Port 2/1 joined bridgeport 2/1
    2000 Feb 25 140530 Eastern -0500 %SPANTREE-6-PORTFWD: 
       port 2/1 state in vlan 1 changed to forwarding.

    最终结果显示的时间为 2 秒(从 0528 到 0530)。

  11. 完成这些步骤以执行另一个目测计时测试(使用您的手表):

    1. 在连接到交换机的 PC 上发出一个连续且转入该交换机的 ping (ping -t)。

    2. 将电缆与交换机断开。

      ping 开始发生故障。

    3. 将电缆重新连接到交换机,并在手表上查看时间,确定需要经过多长时间交换机才会对来自 PC 的 ping 做出响应。

    当速度和双工的自动协商设置为 on 时,该时长约为 5 到 6 秒;当它为 off 时,该时长约为 4 秒。此测试中存在许多可变因素,如 PC 初始化、PC 软件、交换机控制台端口对请求的响应等。然而通过此测试可了解到,从 PC 的角度来看,获得响应将需要多长时间。此过程中的其他所有测试都是以交换机内部的调试消息为出发点。

运行 Cisco IOS 系统软件的 Catalyst 6500/6000 交换机

本部分展示了将生成树 PortFast 设置为 on 和将中继协商(DISL、DTP)设置为 off 所使用的命令。通过该操作系统,只有在向 EtherChannel 添加端口之后 PAgP 才会激活。您不需要将其设置为 off。您可发出 interface range 命令,以便将这些命令一次性应用到一组端口中。通过该示例中的 interface range 命令可将这些命令同时应用到端口 3/2 至 3/4:

注意: 在 interface range fastethernet 3/2 -4 命令中,2 和 - 之间有一个空格。必须加入此空格,以免发生语法错误。

Native_IOS#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.

Native_IOS(config)#interface range fastethernet 3/2 -4
Native_IOS(config-if-range)#

该示例仅使用一个端口。Cisco IOS 软件中的端口默认为路由端口(第 3 层 [L3]),就像您在路由器上看到的一样。您只需要将命令添加到配置为交换机端口(第 2 层 [L2])的端口上,因为这些是运行 L2 协议(生成树和 DTP)的端口,因此易受启动延迟的影响。要使路由端口成为交换机端口,请在接口模式下发出 switchport 命令(后面不接参数)。

配置

从处于默认 (L3) 状态的端口开始,并完成这些步骤:

  1. 发出 switchport 命令,以便将端口配置为交换机端口。

    注意: 分行发出命令。

  2. 要将 DTP 设置为 off,请将端口配置为接入端口(仅可如此)。

  3. 将生成树 PortFast 功能设置为 on。

  4. 保存配置。

该示例中的 show run interface fastEthernet 3/13 命令显示了此端口的当前配置:

Native_IOS#show run interface fastethernet 3/13
Building configuration...

Current configuration : 61 bytes
!
interface FastEthernet3/13
 no ip address
 shutdown
end

Native_IOS#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Native_IOS(config)#interface fastethernet 3/13
Native_IOS(config-if)#switchport
Native_IOS(config-if)#switchport mode access
Native_IOS(config-if)#spanning-tree portfast 
%Warning: PortFast should only be enabled on ports connected to a single host.
 Connecting hubs, concentrators, switches,  bridges, etc.to this interface
 when PortFast is enabled, can cause temporary Spanning Tree loops.
 Use with CAUTION

%PortFast has been configured on FastEthernet3/13 but will only
 have effect when the interface is in a non-trunking mode.
Native_IOS(config-if)#no shutdown
Native_IOS(config-if)#^Z
Native_IOS#copy run start

验证

本文档中使用的交换机软件版本是 Cisco IOS 软件版本 12.1(6)E。有关 show version 命令和 show module 命令的完整输出,请参阅本文档中在运行 Cisco IOS 系统软件的 Catalyst 6500/6000 上进行的计时测试部分。

Native_IOS#show version
Cisco Internetwork Operating System Software 
IOS (tm) c6sup1_rp Software (c6sup1_rp-JSV-M), Version 12.1(6)E, EARLY DEPLOYME)

您所做的更改生效后,配置情况将如下所示:

Native_IOS#show run interface fastethernet 3/13
Building configuration...

Current configuration : 109 bytes
!
interface FastEthernet3/13
 no ip address
 switchport
 switchport mode access
 spanning-tree portfast
end

Native_IOS#show interfaces fastethernet 3/13 switchport 
Name: Fa3/13
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001

Native_IOS#show spanning-tree interface fastethernet 3/13
 Port 141 (FastEthernet3/13) of VLAN1 is forwarding
   Port path cost 19, Port priority 128, Port Identifier 128.141.
   Designated root has priority 32768, address 00d0.024f.6001
   Designated bridge has priority 32768, address 00d0.024f.6001
   Designated port id is 128.141, designated path cost 0
   Timers: message age 0, forward delay 0, hold 0
   Number of transitions to forwarding state: 1
   BPDU: sent 8984, received 0
   The port is in the PortFast mode
Native_IOS#

在运行 Cisco IOS 系统软件的 Catalyst 6500/6000 上进行的计时测试

本部分的测试说明了在应用各种命令后交换机端口初始化计时所发生的情况。为提供一种基准衡量,开始时采用了端口的默认设置。这些设置是:

  • 禁用 PortFast。

  • 中继模式 (DTP) 设置为 auto。

    注意: 如果请求端口形成中继,端口就会形成中继。

注意: 默认情况下,在该操作系统中 PAgP 处于非活动状态。

然后将按以下方式进行测试:

  1. 将 PortFast 设置为 on 并计时。

  2. 将中继模式设置为 off 并计时。

  3. 将自动协商设置为 off 并计时。

注意: 如本文档中的生成树部分所述,将 PortFast 设置为 on 并不等同于将 STP 设置为 off。PortFast 设置为 on 时,STP 仍然在端口上运行。端口会跳过 blocking、侦听和学习状态,立即进入转发状态。请勿将 STP 设置为 off,因为这样会影响整个 VLAN,使网络易受物理拓扑环路的影响。由此会造成严重的网络问题。

完成这些步骤:

  1. 发出 show version 命令和 show module 命令,以便显示交换机软件版本和配置。

    Native_IOS#show version
    Cisco Internetwork Operating System Software 
    IOS (tm) c6sup1_rp Software (c6sup1_rp-JSV-M), Version 12.1(6)E, EARLY DEPLOYME)
    TAC Support: http://www.cisco.com/cgi-bin/ibld/view.pl?i=support
    Copyright (c) 1986-2001 by cisco Systems, Inc.
    Compiled Sat 17-Mar-01 00:14 by eaarmas
    Image text-base: 0x60020950, data-base: 0x6165E000
    
    ROM: System Bootstrap, Version 12.0(3)XE, RELEASE SOFTWARE 
    BOOTFLASH: MSFC Software (C6MSFC-BOOT-M), Version 12.1(6)E, EARLY DEPLOYMENT RE)
    
    Native_IOS uptime is 12 hours, 36 minutes
    System returned to ROM by reload (SP by reload)
    System image file is "sup-bootflash:c6sup11-jsv-mz.121-6.E"
    
    cisco Catalyst 6000 (R5000) processor with 114688K/16384K bytes of memory.
    Processor board ID SAD04281AF6
    R5000 CPU at 200Mhz, Implementation 35, Rev 2.1, 512KB L2 Cache
    Last reset from power-on
    Bridging software.
    X.25 software, Version 3.0.0.
    SuperLAT software (copyright 1990 by Meridian Technology Corp).
    TN3270 Emulation software.
    24 Ethernet/IEEE 802.3 interface(s)
    1 Virtual Ethernet/IEEE 802.3  interface(s)
    48 FastEthernet/IEEE 802.3 interface(s)
    4 Gigabit Ethernet/IEEE 802.3 interface(s)
    381K bytes of non-volatile configuration memory.
    4096K bytes of packet SRAM memory.
    
    16384K bytes of Flash internal SIMM (Sector size 256K).
    Configuration register is 0x2102
    
    Native_IOS#show module
    Slot Ports Card Type                                 Model                 Serir
    ---- ----- ----------------------------------------- --------------------- -----
     1     2   Cat 6000 sup 1 Enhanced QoS (active)      WS-X6K-SUP1A-2GE      SAD0 
     2     2   Cat 6000 sup 1 Enhanced QoS (other)       WSSUP1A-2GE           SAD0 
     3    48   48 port 10/100 mb RJ45                    WS-X6348-RJ-45        SAD0 
     6    24   24 port 10baseFL                          WS-X6024-10FL-MT      SAD0 
    
    Slot MAC addresses                      Hw    Fw           Sw
    ---- ---------------------------------- ----- ------------ ----------
     1   00d0.c0d2.5540 to 00d0.c0d2.5541   3.2   unknown      6.1(0.105)OR
     2   00d0.bceb.8bb4 to 00d0.bceb.8bb5   5.0   unknown      unknown     
     3   0002.7ef1.36e0 to 0002.7ef1.370f   1.1   5.3(1) 1999- 6.1(0.105)OR
     6   00d0.9738.5338 to 00d0.9738.534f   0.206 5.3(1) 1999- 6.1(0.105)OR
  2. 打开调试,以便查看各种生成树状态并确定端口何时可以收发数据;打开时间戳,以便查看出现的消息中包含的计时信息。

    在 Cisco IOS 软件中,交换处理器 (SP) 和路由处理器 (RP) 协同工作,为用户提供一个命令行界面 (CLI),并且由 RP 负责 CLI。每个模块都在后台负责不同的功能。如果要查看配置为交换机端口 (L2) 的端口上运行的生成树调试,则需在 SP 上打开调试。完成这些步骤:

    1. 发出 remote login 命令,以便访问 SP。

      注意: 提示符发生了更改,以便让您知道已经进入 SP。

    2. 要返回到 RP,请发出 exit 命令。

      注意: 尽管输出中的消息另有指示,请勿输入“^C^C^C”。

    3. 限制为仅显示相关端口的调试信息。

      发出 debug interface fastethernet 3/13 命令。

    4. 在 SP 上打开生成树调试。

    5. 返回到 RP,以便继续测试。

      交换机默认将调试输出发送到控制台。

    Native_IOS#configure terminal
    Native_IOS(config)#service timestamps debug datetime msec
    Native_IOS(config)#service timestamps log datetime msec
    
    !--- If you turn on timestamps, the time displays whenever debug and/or
    !--- log messages are produced. This allows you to measure the time
    !--- between various messages.
    
    Native_IOS(config)#exit
    Native_IOS#remote login
    Trying Switch ...
    Entering CONSOLE for Switch
    Type "^C^C^C" to end this session
    
    Switch-sp#debug interface fastethernet 3/13
    Condition 1 set
    Switch-sp#debug spanning-tree events
    spanning tree event debugging is on
    Switch-sp#exit
    
    [Connection to Switch closed by foreign host]
    Native_IOS#
  3. 发出这些命令,以便关闭端口:

    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#shutdown
    Native_IOS(config-if)#^Z                 
    Native_IOS#
  4. 检查时间并启用端口,以便确定交换机在每个状态中持续的时长。

    该示例使用 show clock 命令、configure terminal 命令、interface fastethernet 3/13 命令和 no shut 命令。为获取最准确的计时信息,请尽快发出命令。您可以在文本文件中分行输入各个命令,再将这些命令复制到剪贴板,然后粘贴到交换机中。

    Native_IOS#show run interface fastethernet 3/13 
    Building configuration...
    
    Current configuration : 71 bytes
    !
    interface FastEthernet3/13
     no ip address
     shutdown
     switchport
    end
    
    Native_IOS#show clock
    *08:35:55.059 UTC Sun Jan 2 2000
    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#no shut
    *Jan  2 08:36:00.847: SP: STP: VLAN1 Fa3/13 -> listening
    *Jan  2 08:36:15.847: SP: STP: VLAN1 Fa3/13 -> learning
    *Jan  2 08:36:30.847: SP: STP: VLAN1 Fa3/13 -> forwarding

    在本示例中,大约经过 5.8 秒(从 35:55 到 36:00)后端口开始 STP 侦听阶段。在这段时间内,端口加入了网桥组并完成了 DTP 协商。listening state 用时 15 秒(从 36:00 到 36:15)。learning state(直到转发状态开始)用时 15 秒(从 36:15 到 36:30)。在端口允许数据流通过之前所花费的总时间大约为 35 秒(从 35:55 到 36:30)。

  5. 发出 show interfaces fastethernet 3/13 switchport 命令。

    如步骤 4 中的输出所示,STP 在此端口上为 active。随着端口到达 forwarding state,会有其他因素减缓端口的速度。show interfaces fastethernet 3/13 switchport 命令显示,如果链路的另一侧成为中继,此端口也会随之成为中继。在这种情况下,管理模式是 dynamic desirable。但是,当前的操作模式是 static access,这意味着另一侧不愿形成中继。请注意,中继协商已设置为 on,而且在此测试过程中应保持这种状态。

    Native_IOS#show interfaces fastethernet 3/13 switchport
    Name: Fa3/13
    Switchport: Enabled
    Administrative Mode: dynamic desirable
    Operational Mode: static access
    Administrative Trunking Encapsulation: negotiate
    Operational Trunking Encapsulation: native
    Negotiation of Trunking: On
    Access Mode VLAN: 1 (default)
    Trunking Native Mode VLAN: 1 (default)
    Trunking VLANs Enabled: ALL
    Pruning VLANs Enabled: 2-1001
  6. 在端口上启用 PortFast。

    中继协商 (DTP) 仍然处于 auto mode。

    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#spanning-tree portfast 
    %Warning: PortFast should only be enabled on ports connected to a single host.
     Connecting hubs, concentrators, switches,  bridges, etc.to this interface
     when PortFast is enabled, can cause temporary spanning tree loops.
     Use with CAUTION
    
    %PortFast has been configured on FastEthernet3/13 but will only
     have effect when the interface is in a non-trunking mode.
    Native_IOS(config-if)#shutdown
    Native_IOS(config-if)#^Z
    Native_IOS#

    执行测试。

    Native_IOS#show clock
    *08:41:09.531 UTC Sun Jan 2 2000
    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#no shut
    *Jan  2 08:41:15.175: SP: STP: VLAN1 Fa3/13 ->jump to forwarding from blocking

    总时间约为 5.7 秒(从 41:09 到 41:15)。如果启用 PortFast,就会节省大约 30 秒的时间。请尝试进一步缩短延迟时间。

  7. 将中继模式设置为 off(而非 auto),然后确定这会如何影响端口到达转发状态所需的时间。

    将端口设置为 off and on,并记录时间。要在 Cisco IOS 软件中将中继模式设置为 off,请发出 switchport mode access 命令。

    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#switchport mode access
    Native_IOS(config-if)#shutdown
    Native_IOS(config-if)#^Z
    Native_IOS#

    开始测试前将中继模式设置为 off(而非 auto)。

    Native_IOS#show clock
    *08:42:01.767 UTC Sun Jan 2 2000
    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#no shut
    *Jan  2 08:42:04.363: SP: STP: 
       VLAN1 Fa3/13 ->jump to forwarding from blocking

    在开始时您节省了几秒时间,因为在端口到达 STP 转发状态前用时仅 3 秒(从 00:19 到 00:22)。如果将中继模式从 auto 更改为 off,则会节省大约 2 秒的时间。

    如果交换机端口初始化时间有问题,您应该在此时解决。如果需要将时间再缩短几秒,请执行步骤 8。

  8. ((可选)手动设置端口速度和双工而不使用自动协商,以便将时间再缩短几秒。

    注意: 要解决启动延迟问题,该步骤通常并非必要。实际上,如果不在链路另一侧禁用自动协商并对其手动配置相同的设置,此步骤就会引发性能问题。

    如果在一侧手动设置了速度和双工,必须也在另一侧设置速度和双工。设置端口速度和双工时,您禁用了端口上的自动协商,这样连接设备不会看到自动协商参数。连接设备仅以半双工模式连接。这种双工不匹配会导致性能低下,并引发端口错误。请记住在两侧都要设置速度和双工,以免发生这些问题。

    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#speed 100  
    Native_IOS(config-if)#duplex full
    Native_IOS(config-if)#shutdown
    Native_IOS(config-if)#^Z
    Native_IOS#

    该示例显示的计时结果如下:

    Native_IOS#show clock
    *08:43:47.367 UTC Sun Jan 2 2000
    Native_IOS#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    Native_IOS(config)#interface fastethernet 3/13
    Native_IOS(config-if)#no shut
    *Jan  2 08:43:49.079: SP: STP: VLAN1 Fa3/13 ->jump to forwarding from blocking

    最终结果显示的时间大约为 2 秒(从 43:47 到 43:49)。

  9. 要关闭 SP 上的调试,请发出这一系列命令:

    Native_IOS#remote login
    Trying Switch ...
    Entering CONSOLE for Switch
    Type "^C^C^C" to end this session
    
    
    Switch-sp#undebug all
    All possible debugging has been turned off
    Switch-sp#exit
    
    [Connection to Switch closed by foreign host]
    Native_IOS#

运行 Cisco IOS 系统软件的 Catalyst 4500/4000 交换机

本部分的命令展示了如何打开生成树 PortFast 和关闭中继协商(DISL、DTP)。使用此操作系统,只有在向 EtherChannel 中添加端口之后,PAgP 才会激活,因此无需关闭 PAgP。您可发出 interface range 命令,以便将这些命令一次性应用到一组端口中。通过该示例中的命令可将这些命令同时应用到端口 3/2 至 3/4:

注意: 在 interface range fastethernet 3/2 -4 命令中,2 和 - 之间有一个空格。必须加入此空格,以免发生语法错误。

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#interface range fastethernet 3/2 -4
Switch(config-if-range)#

这些示例使用一个端口。运行 Cisco IOS 系统软件的 Catalyst 4000 交换机中的端口默认为交换机端口 (L2)。这些是运行 L2 协议(spanning tree 和 DTP)的端口,易受启动延迟的影响。

配置

从处于默认 (L2) 状态的端口开始,并完成这些步骤:

  1. 要将 DTP 设置为 off,请将端口配置为接入端口(仅可如此)。

  2. 将生成树 PortFast 功能设置为 on。

  3. 保存配置。

该示例中的 show run interface fastethernet 5/4 命令显示了此端口的当前配置:

SwitchB#show run interface fastethernet 5/4
Building configuration...

Current configuration : 59 bytes
!
interface FastEthernet5/4
 no snmp trap link-status
end

SwitchB#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
SwitchB(config)#interface fastethernet 5/4
SwitchB(config-if)#switchport mode access
SwitchB(config-if)#spanning-tree portfast
%Warning: PortFast should only be enabled on ports connected to a single host.
 Connecting hubs, concentrators, switches,  bridges, etc.to this interface
 when PortFast is enabled, can cause temporary spanning tree loops.
 Use with CAUTION

%PortFast has been configured on FastEthernet5/4 but will only
 have effect when the interface is in a non-trunking mode.
SwitchB(config-if)#^Z
SwitchB#
SwitchB#copy run start

验证

本文档中使用的交换机软件版本是 Cisco IOS 软件版本 12.1(11b)EW。有关 show version 命令和 show module 命令的完整输出,请参阅本文档中在运行 Cisco IOS 系统软件的 Catalyst 4500/4000 上进行的计时测试部分。

Switch#show version
Cisco Internetwork Operating System Software 
IOS (tm) Catalyst 4000 L3 Switch Software (cat4000-IS-M), Version 12.1(11b)EW,

在您进行更改后,配置情况将如下所示:

SwitchB#show run interface fastethernet 5/4
Building configuration...
 
Current configuration : 107 bytes
!
interface FastEthernet5/4
 switchport mode access
 no snmp trap link-status
 spanning-tree portfast
end
 
SwitchB#show interfaces fastethernet 5/4 switchport 
Name: Fa5/4
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: none
Appliance trust: none
Administrative private-vlan host-association: none 
Administrative private-vlan mapping: none 
Operational private-vlan: none 
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
 
SwitchB#show spanning-tree interface fastethernet 5/4
 Port 260 (FastEthernet5/4) of VLAN1 is forwarding
   Port path cost 19, Port priority 128, Port Identifier 129.4.
   Designated root has priority 1, address 0060.8355.7b00
   Designated bridge has priority 32768, address 0001.96d9.f300
   Designated port id is 129.4, designated path cost 38
   Timers: message age 0, forward delay 0, hold 0
   Number of transitions to forwarding state: 109
   BPDU: sent 148, received 0
   The port is in the PortFast mode

在运行 Cisco IOS 系统软件的 Catalyst 4500/4000 上进行的计时测试

本部分的测试说明了在应用各种命令后交换机端口初始化计时所发生的情况。为提供一种基准衡量,开始时采用了端口的默认设置。这些设置是:

  • 禁用 PortFast。

  • 中继模式 (DTP) 设置为 auto。

    注意: 如果请求端口形成中继,端口就会形成中继。

注意: 默认情况下,在该操作系统中 PAgP 处于非活动状态。

然后将按以下方式进行测试:

  1. 将 PortFast 设置为 on 并计时。

  2. 将中继模式设置为 off 并计时。

  3. 将自动协商设置为 off 并计时。

注意: 如本文档中的生成树部分所述,将 PortFast 设置为 on 并不等同于将 STP 设置为 off。PortFast 设置为 on 时,STP 仍然在端口上运行。端口会跳过 blocking、侦听和学习状态,立即进入转发状态。请勿将 STP 设置为 off,因为这样会影响整个 VLAN,使网络易受物理拓扑环路的影响。由此会造成严重的网络问题。

完成这些步骤:

  1. 发出 show version 命令和 show module 命令,以便显示交换机软件版本和配置。

    示例如下:

    SwitchB#show version
    Cisco Internetwork Operating System Software 
    IOS (tm) Catalyst 4000 L3 Switch Software (cat4000-IS-M), Version 12.1(11b)EW,
       EARLY DEPLOYMENT RELEASE SOFTWARE (fc2)
    TAC Support: http://www.cisco.com/tac
    Copyright (c) 1986-2002 by cisco Systems, Inc.
    Compiled Tue 14-May-02 13:31 by hqluong
    Image text-base: 0x00000000, data-base: 0x00B1C1F8
     
    ROM: 12.1(11br)EW
    SwitchB uptime is 4 minutes
    System returned to ROM by reload
    System image file is "bootflash:cat4000-is-mz.121-11b.EW"
    
    cisco WS-C4006 (MPC8245) processor (revision 5) with 262144K bytes of memory.
    Processor board ID FOX04169082
    Last reset from Reload
    32 FastEthernet/IEEE 802.3 interface(s)
    4 Gigabit Ethernet/IEEE 802.3 interface(s)
    467K bytes of non-volatile configuration memory.
    
    Configuration register is 0x2102
    
    SwitchB#show module
    
    Mod  Ports Card Type                              Model             Serial No.
    ----+-----+--------------------------------------+-----------------+-----------
     1      2  1000BaseX (GBIC) Supervisor Module WS-X4014 JAB054109FE 
     5     34  10/100BaseTX (RJ45), 1000BaseX (GBIC)  WS-X4232          JAB0253010D 
    
     M MAC addresses                    Hw  Fw           Sw               Status
    --+--------------------------------+---+------------+----------------+---------
     1 0001.96d9.f300 to 0001.96d9.f6ff 0.5 12.1(11br)EW 12.1(11b)EW, EAR Ok       
     5 0050.730a.da18 to 0050.730a.da39 1.0                               Ok
  2. 打开调试,以便查看各种生成树状态并确定端口何时可以收发数据;打开时间戳,以便查看出现的消息中包含的计时信息。

    发出 debug interface fastethernet 5/4 命令,以便仅显示相关端口的调试信息。交换机默认将调试输出发送到控制台。

    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#service timestamps debug datetime msec
    SwitchB(config)#service timestamps log datetime msec
    SwitchB(config)#end
    
    !--- If you turn on timestamps, the time displays whenever debug and/or
    !--- log messages are produced. This allows you to measure the time
    !--- between various messages.
    
    
    SwitchB#debug interface fastethernet 5/4
    Condition 1 set
    SwitchB#debug spanning-tree events 
    Spanning Tree event debugging is on
  3. 发出这些命令,以便关闭端口:

    SwitchB#configure terminal           
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4
    SwitchB(config-if)#shutdown 
    SwitchB(config-if)#end
    SwitchB#
  4. 检查时间并启用端口,以便确定交换机在每个状态中持续的时长。

    该示例使用 show clock 命令、configure terminal 命令、interface fastethernet 5/4 命令和 no shut 命令。为获取最准确的计时信息,请尽快发出命令。您可以在文本文件中分行输入各个命令,再将这些命令复制到剪贴板,然后粘贴到交换机中。

    SwitchB#show running-config interface fastethernet 5/4
    Building configuration...
    
    Current configuration : 69 bytes
    !
    interface FastEthernet5/4
     shutdown
     no snmp trap link-status
    end
    
    SwitchB#show clock
    21:31:34.027 UTC Thu Jul 25 2002
     
    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4
    SwitchB(config-if)#no shut
    Jul 25 21:31:38.187: set portid: VLAN1 Fa5/4: new port id 8104
    Jul 25 21:31:38.187: STP: VLAN1 Fa5/4 -> listening
    Jul 25 21:31:53.187: STP: VLAN1 Fa5/4 -> learning
    Jul 25 21:32:08.187: STP: VLAN1 sent Topology Change Notice on Fa5/34
    Jul 25 21:32:08.187: STP: VLAN1 Fa5/4 -> forwarding

    在本示例中,大约经过 4.2 秒(从 34.02 到 38.18)后端口开始 STP 侦听阶段。在这段时间内,端口加入了网桥组并完成了 DTP 协商。listening state 用时 15 秒(从 38.18 到 53.18)。learning state(直到转发状态开始)用时 15 秒(从 53.18 到 08:18)。在端口允许数据流通过之前所花费的总时间约为 34 秒(从 34:02 到 08.18)。

  5. 发出 show interfaces fastethernet 5/4 switchport 命令。

    STP 在此端口上处于活动状态。随着端口到达 forwarding state,会有其他因素减缓端口的速度。show interfaces fastethernet 5/4 switchport 命令显示,此端口处于被动协商状态,如果链路的另一侧发起协商,此端口将成为中继。管理模式为 dynamic auto。当前的操作模式是 static access,这意味着另一侧不愿形成中继。

    请注意,中继协商已设置为 on,而且在此测试过程中应保持这种状态:

    SwitchB#show interfaces fastethernet 5/4 switchport
    Name: Fa5/4
    Switchport: Enabled
    Administrative Mode: dynamic auto
    Operational Mode: static access
    Administrative Trunking Encapsulation: negotiate
    Operational Trunking Encapsulation: native
    Negotiation of Trunking: On
    Access Mode VLAN: 1 (default)
    Trunking Native Mode VLAN: 1 (default)
    Voice VLAN: none
    Appliance trust: none
    Administrative private-vlan host-association: none 
    Administrative private-vlan mapping: none 
    Operational private-vlan: none 
    Trunking VLANs Enabled: ALL
    Pruning VLANs Enabled: 2-1001
  6. 在端口上启用 PortFast。

    中继协商 (DTP) 仍然处于 auto mode。

    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4
    SwitchB(config-if)#spanning-tree portfast
    %Warning: PortFast should only be enabled on ports connected to a single host
     Connecting hubs, concentrators, switches,  bridges, etc.to this interface
     when PortFast is enabled, can cause temporary spanning tree loops.
     Use with CAUTION
    
    %PortFast has been configured on FastEthernet5/4 but will only
     have effect when the interface is in a non-trunking mode.
    SwitchB(config-if)#shutdown 
    SwitchB(config-if)#^Z
    SwitchB#

    总时间约为 4.7 秒(从 16.41 到 21:15)。如果启用 PortFast,就会节省大约 30 秒的时间。请尝试进一步缩短延迟时间。

  7. 将中继模式设置为 off(而非 auto),然后确定这会如何影响端口到达转发状态所需的时间。

    将端口设置为 off and on,并记录时间。要在 Cisco IOS 系统软件中将中继模式设置为 off,请发出 switchport mode access 命令。

    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4
    SwitchB(config-if)#switchport mode access
    SwitchB(config-if)#shutdown
    SwitchB(config-if)#^Z
    SwitchB#

    开始测试前将中继模式设置为 off(而非 auto)。示例如下:

    SwitchB#show clock
    22:06:11.947 UTC Thu Jul 25 2002
    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4
    SwitchB(config-if)#no shut
    Jul 25 22:06:16.143: set portid: VLAN1 Fa5/4: new port id 8104
    Jul 25 22:06:16.143: STP: VLAN1 Fa5/4 ->jump to forwarding from blocking

    开始时您节省了少量时间,因为在端口达到 STP 转发状态前用时仅 4 秒(从 12.00 到 16.10)。如果将中继模式从 auto 更改为 off,则会节省大约 0.5 秒的时间。

    如果交换机端口初始化时间有问题,您应该在此时解决。如果需要将时间再缩短几秒,请执行步骤 8。

  8. ((可选)手动设置端口速度和双工而不使用自动协商,以便将时间再缩短几秒。

    注意: 要解决启动延迟问题,该步骤通常并非必要。如果不在链路另一侧禁用自动协商并对其手动配置相同的设置,此步骤就会引发性能问题。

    如果在这一侧手动设置了速度和双工,必须也在另一侧设置速度和双工。设置端口速度和双工时,您禁用了端口上的自动协商,这样连接设备不会看到自动协商参数。连接设备仅以半双工模式连接。这种双工不匹配会导致性能低下,并引发端口错误。请记住在两侧都要设置速度和双工,以免发生这些问题。

    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4       
    SwitchB(config-if)#speed 100
    SwitchB(config-if)#duplex full
    SwitchB(config-if)#shutdown
    SwitchB(config-if)#^Z
    SwitchB#

    该示例显示的计时结果如下:

    SwitchB#show clock
    22:14:49.219 UTC Thu Jul 25 2002
    SwitchB#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    SwitchB(config)#interface fastethernet 5/4
    SwitchB(config-if)#no shut
    Jul 25 22:14:53.135: set portid: VLAN1 Fa5/4: new port id 8104
    Jul 25 22:14:53.135: STP: VLAN1 Fa5/4 ->jump to forwarding 
    from blocking

    最终结果显示的时间大约为 3.9 秒(从 49.21 到 53.13)。

  9. 要关闭 SP 上的调试(之前打开过),请发出这一系列命令:

    SwitchB#undebug all
    All possible debugging has been turned off
    SwitchB#exit
    

Catalyst 2948G-L3/4908G-L3/4840G 交换机

2948G-L3/4908G-L3/4840G 系列交换机是另一组运行 Cisco IOS 软件的交换机。与 Catalyst 6500/6000 上的 Cisco IOS 软件不同,这些交换机并不具备将端口转换为交换机端口的能力。以下是有关这些交换机的注意事项:

  • 从配置的角度来看,Catalyst 2948G-L3 是一种路由器。此交换机使用 Cisco IOS 配置接口,并且所有接口在默认情况下均为路由接口。

  • Catalyst 2948G-L3 并不对 VLAN 进行扩展。此交换机在路由接口上把它们终止。但是,使用桥接命令可以在某种程度上模拟 VLAN 的功能。

  • Catalyst 2948G-L3 不支持其他 Catalyst 交换机所使用的某些面向 L2 的协议,例如 VLAN Trunk Protocol (VTP)、DTP 及 PAgP。

如果决定在这些设备上配置桥接端口,则这些端口上的生成树将处于活动状态,并且当端口经历 blocking、侦听和学习阶段时会有正常的 30 秒启动延迟。如果确信只有终端站要连接到这些端口,则可以将这些端口上的生成树设置为 off 以降低启动延迟。此操作与使用 PortFast 不同,且更具危险。但 PortFast 在这些设备中并不可用。

注意: 在桥接路由器接口上禁用生成树不同于在交换机端口上启用生成树 PortFast。如果从交换机处接收到了网桥协议数据单元 (BPDU) 或网桥错误地连接到该接口上,路由器不会阻塞该端口。请当心:仅可将工作站或其他终端主机连接到禁用了生成树的接口上。请勿禁用连接集线器或交换机的端口上的生成树。

此输出显示了如何配置 Catalyst 2948G-L3 以进行桥接。此配置将所有快速以太网接口分配给单个网桥组并禁用了生成树,以防发生各种终端站启动问题:

2948G-L3#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
2948G-L3(config)#bridge irb
2948G-L3(config)#bridge 1 protocol ieee
2948G-L3(config)#bridge 1 route ip
2948G-L3(config)#interface bvi 1 
2948G-L3(config-if)#ip add 10.1.1.1 255.255.255.0
2948G-L3(config-if)#exit
2948G-L3(config)#interface fastethernet 1
2948G-L3(config-if)#no shutdown
2948G-L3(config-if)#bridge-group 1
2948G-L3(config-if)#bridge-group 1 spanning-disabled
2948G-L3(config-if)#exit
2948G-L3(config)#interface fastethernet 2
2948G-L3(config-if)#no shutdown
2948G-L3(config-if)#bridge-group 1
2948G-L3(config-if)#bridge-group 1 spanning-disabled
. . .

有关如何配置 2948G-L3 交换机的详细信息,请参阅 Catalyst 2948G-L3 示例配置 - 连接到网络核心的单个 VLAN、多个 VLAN 及多 VLAN 分布层

Catalyst 2900XL/3500XL/2950/3550 交换机

可以使用 Simple Network Management Protocol (SNMP) 或 CLI 从 Web 浏览器中对 Catalyst 2900XL/3500XL 及 Catalyst 2950/3550 交换机进行配置。建议使用 CLI。本部分提供了查看端口 STP 状态、打开 PortFast 并验证 PortFast 处于打开状态的示例。2900XL/3500XL 支持 EtherChannel 和中继,但该交换机不支持动态 EtherChannel 创建 (PAgP) 或 DTP。此测试中不必关闭这些协议。此外,打开 PortFast 之后,端口进入数据转发状态所需的时间小于 1 秒。因此,不必设法更改速度/双工协商设置以加快速度。默认情况下,交换机端口上的 PortFast 处于关闭状态。2950/3550 同时支持 PAgP 和 DTP。默认情况下,这些交换机中的 PAgP 未被激活,但 DTP 处于活动状态。如果 2950 运行 Cisco IOS 软件版本 12.0,则其不支持 DTP 或 PAgP。配置部分提供了用于打开 PortFast 的命令。

配置

2900XL#configure terminal
2900XL(config)#interface fastethernet 0/1
2900XL(config-if)#spanning-tree portfast
2900XL(config-if)#exit
2900XL(config)#exit
2900XL#copy run start

注意: Catalyst 2950 和 3550 支持 DTP。另请发出 switchport mode access 命令。此命令将关闭 DTP。

该平台类似于 Cisco IOS 路由器。必须发出 copy run start 命令才能永久保存配置。

验证

要验证 PortFast 是否已启用,请发出此命令:

2900XL#show spanning-tree interface fastethernet 0/1
Interface Fa0/1 (port 13) in Spanning tree 1 is FORWARDING
   Port path cost 19, Port priority 128
   Designated root has priority 8192, address 0010.0db1.7800
   Designated bridge has priority 32768, address 0050.8039.ec40
   Designated port is 13, path cost 19
   Timers: message age 0, forward delay 0, hold 0
   BPDU: sent 2105, received 1
   The port is in the PortFast mode

也可发出此命令以查看交换机配置:

2900XL#show running-config
Building configuration...

Current configuration:
!
version 11.2

!--- Output suppressed.

!
interface VLAN1
 ip address 172.16.84.5 255.255.255.0
 no ip route-cache
!
interface FastEthernet0/1
 spanning-tree portfast
!
interface FastEthernet0/2
!

!--- Output suppressed.

Catalyst 2900XL 上的计时测试

执行下列步骤以在 Catalyst 2900XL 上执行计时测试:

  1. 发出 show version 命令以显示软件版本。

    此示例中,2900XL 上使用的是 Cisco IOS 软件版本 11.2(8.2)SA6:

    Switch#show version
    Cisco Internetwork Operating System Software
    IOS (tm) C2900XL Software (C2900XL-C3H2S-M), Version 11.2(8.2)SA6, 
    MAINTENANCE INTERIM SOFTWARE
    Copyright (c) 1986-1999 by cisco Systems, Inc.
    Compiled Wed 23-Jun-99 16:25 by boba
    Image text-base: 0x00003000, data-base: 0x00259AEC
    
    ROM: Bootstrap program is C2900XL boot loader
    
    Switch uptime is 1 week, 4 days, 22 hours, 5 minutes
    System restarted by power-on
    System image file is "flash:c2900XL-c3h2s-mz-112.8.2-SA6.bin", 
    booted via console
    
    cisco WS-C2924-XL (PowerPC403GA) processor (revision 0x11) with
    8192K/1024K bytes of memory.
    Processor board ID 0x0E, with hardware revision 0x01
    Last reset from power-on
    
    Processor is running Enterprise Edition Software
    Cluster command switch capable
    Cluster member switch capable
    24 Ethernet/IEEE 802.3 interface(s)
    
    32K bytes of flash-simulated non-volatile configuration memory.
    Base ethernet MAC Address: 00:50:80:39:EC:40
    Motherboard assembly number: 73-3382-04
    Power supply part number: 34-0834-01
    Motherboard serial number: FAA02499G7X
    Model number: WS-C2924-XL-EN
    System serial number: FAA0250U03P
    Configuration register is 0xF
  2. 发出下列命令以确定交换机上发生的情况:

    2900XL(config)#service timestamps debug uptime
    2900XL(config)#service timestamps log uptime
    2900XL#debug spantree events
    Spanning Tree event debugging is on
    2900XL#show debug
    General spanning tree:
      Spanning Tree event debugging is on
  3. 关闭相关端口。

    2900XL#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    2900XL(config)#interface fastethernet 0/1
    2900XL(config-if)#shut
    2900XL(config-if)#
    00:31:28: ST: sent Topology Change Notice on FastEthernet0/6
    00:31:28: ST: FastEthernet0/1 -> blocking
    00:31:28: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to 
    administratively down
    00:31:28: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, 
    changed state to down
    2900XL(config-if)#exit
    2900XL(config)#exit
    2900XL#
  4. 检查时间、再次打开端口并确定交换机处于各状态的时间长度。

    为获取最准确的计时信息,在此步骤中请尽可能快地发出命令。您可以在文本文件中分行输入各个命令,再将这些命令复制到剪贴板,然后粘贴到交换机中。

    show clock
    configure terminal
    interface fastethernet 0/1
    no shut
    
  5. 确认 PortFast 是否处于关闭状态。

    注意: 默认情况下,PortFast 处于关闭状态。

    可以用下列两种方法之一来确认 PortFast 是否处于关闭状态:

    • 发出 show spanning-tree interface 命令。如果 PortFast 处于关闭状态,则该命令的输出不会提及 PortFast。

      2900XL#show spanning-tree interface fastethernet 0/1
      Interface Fa0/1 (port 13) in Spanning tree 1 is FORWARDING
         Port path cost 19, Port priority 128
         Designated root has priority 8192, address 0010.0db1.7800
         Designated bridge has priority 32768, address 0050.8039.ec40
         Designated port is 13, path cost 19
         Timers: message age 0, forward delay 0, hold 0
         BPDU: sent 887, received 1

      注意: 此处不会有消息说明您处于 PortFast 模式中。

    • 请查看运行配置。如果 PortFast 处于关闭状态,则在接口下看不到 spanning-tree portfast 命令。

      2900XL#show running-config
      Building configuration...
      
      !--- Output suppressed.
      
      !
      interface FastEthernet0/1
      
      !--- There is no spanning-tree portfast command under this interface.
      
      !
      
      !--- Output suppressed.
      
      
  6. 在 PortFast 关闭的情况下进行第一次计时测试。

    2900XL#show clock
    *00:27:27.632 UTC Mon Mar 1 1993
    2900XL#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    2900XL(config)#interface fastethernet 0/1
    2900XL(config-if)#no shut
    2900XL(config-if)#
    00:27:27: ST: FastEthernet0/1 -> listening
    00:27:27: %LINK-3-UPDOWN: Interface FastEthernet0/1, 
    changed state to up
    00:27:28: %LINEPROTO-5-UPDOWN: Line protocol on Interface 
    FastEthernet0/1, changed state to up
    00:27:42: ST: FastEthernet0/1 -> learning
    00:27:57: ST: sent Topology Change Notice on FastEthernet0/6
    00:27:57: ST: FastEthernet0/1 -> forwarding
    

    从关闭到端口开始转发的总时间为 30 秒(从 27:27 到 27:57)。

  7. 要打开 PortFast,请发出下列命令:

    2900XL#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    2900XL(config)#interface fastethernet 0/1
    2900XL(config-if)#spanning-tree portfast
    2900XL(config-if)#exit
    2900XL(config)#exit
    2900XL#

    要验证 PortFast 已启用,请发出 show spanning-tree interface 命令。在该命令输出的末端会说明 PortFast 已启用。

    2900XL#show spanning tree interface fastethernet 0/1
    Interface Fa0/1 (port 13) in Spanning tree 1 is FORWARDING
       Port path cost 19, Port priority 128
       Designated root has priority 8192, address 0010.0db1.7800
       Designated bridge has priority 32768, address 0050.8039.ec40
       Designated port is 13, path cost 19
       Timers: message age 0, forward delay 0, hold 0
       BPDU: sent 1001, received 1
       The port is in the PortFast mode.
    

    也可在以下配置输出中查看 PortFast 是否已启用:

    2900XL#show run
    Building configuration...
    
    !--- Output suppressed.
    
    interface FastEthernet0/1
     spanning-tree portfast
    
    !--- Output suppressed.
    
    
  8. 在 PortFast 启用的情况下执行计时测试。

    2900XL#show clock
    *00:23:45.139 UTC Mon Mar 1 1993
    2900XL#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    2900XL(config)#interface fastethernet 0/1
    2900XL(config-if)#no shut
    2900XL(config-if)#
    00:23:45: ST: FastEthernet0/1 ->jump to forwarding from blocking
    00:23:45: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
    00:23:45: %LINEPROTO-5-UPDOWN: 
       Line protocol on Interface FastEthernet0/1, changed state to up

    在此例中,总时间小于 1 秒。如果交换机上的端口初始化延迟产生问题,PortFast 应能解决此问题。切记,交换机当前不支持中继协商或 PAgP,因此不必将其关闭。交换机支持速度和双工自动协商。但是,由于延迟时间很短,无需因为延迟的原因而将其关闭。

  9. 执行从工作站到交换机的 ping 测试。

    注意: 有关 ping 测试的信息,请参阅本文档中 Catalyst 5500 上使用和不使用 DTP、PAgP 和 PortFast 的计时测试部分的步骤 11。

    从交换机获得响应所需的时间约为 5 到 6 秒。无论速度和双工自动协商处于 on or off 状态,此时间都不变。

Catalyst 1900/2800 交换机

Catalyst 1900 和 Catalyst 2820 将 PortFast 称为“spantree start-forwarding”。对于 8.01.05 版本的软件,交换机默认设置为:以太网 (10-Mbps) 端口启用 PortFast,FastEthernet(上行链路)端口禁用 PortFast。发出 show run 命令查看配置时,若以太网端口不指示 PortFast,则 PortFast 处于启用状态。如果端口在配置中报告 no spantree start-forwarding,则 PortFast 处于禁用状态。快速以太网 (100-Mbps) 端口的报告与此相反。对于快速以太网端口而言,仅当端口在配置中显示 spantree start-forwarding 时,PortFast 才处于打开状态。

本部分提供了在快速以太网端口上设置 PortFast 的示例。此示例使用 Enterprise Edition 软件版本 8。对 NVRAM 做出更改后,Catalyst 1900 将自动保存配置。切记,不要在连接到另一台交换机或集线器的任何端口上启用 PortFast。只应在连接到终端站的端口上启用 PortFast。

配置

1900#show version
Cisco Catalyst 1900/2820 Enterprise Edition Software
Version V8.01.05    
Copyright (c) Cisco Systems, Inc.  1993-1998
1900 uptime is 0day(s) 01hour(s) 10minute(s) 42second(s) 
cisco Catalyst 1900 (486sxl) processor with 2048K/1024K bytes of memory
Hardware board revision is 5
Upgrade Status: No upgrade currently in progress. 
Config File Status: No configuration upload/download is in progress 
27 Fixed Ethernet/IEEE 802.3 interface(s)
Base Ethernet Address: 00-50-50-E1-A4-80
1900#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z
1900(config)#interface fastethernet 0/26
1900(config-if)#spantree start-forwarding 
1900(config-if)#exit
1900(config)#exit
1900#

验证

查看配置是验证 PortFast 是否处于打开状态的一种方法。切记,只有在快速以太网端口指示 PortFast 处于打开状态时,其 PortFast 才处于打开状态。相反,除非配置显示 PortFast 处于关闭状态,否则以太网端口的 PortFast 处于打开状态。示例如下:

1900#show running-config 
Building configuration...

!--- Output suppressed.

!
interface Ethernet 0/1

  no spantree start-forwarding
!
interface Ethernet 0/2

!

!--- Output suppressed.

!
interface FastEthernet 0/26
  spantree start-forwarding
!

在此配置中,可以看到:

  • 以太网 0/1 接口的 PortFast 处于关闭状态。可以看到将其关闭的命令。

  • 以太网 0/2 接口的 PortFast 处于打开状态。看不到关于 PortFast 的说明,这表示它处于打开状态。

  • 快速以太网 0/26 接口(菜单系统中的 A 端口)的 PortFast 处于打开状态。可以看到将其打开的命令。

通过菜单系统查看 PortFast 状态是最简便的方法。如果在主菜单中选择用于查看端口配置的菜单项 (P) 并选择一个端口,则输出将表明 PortFast 模式是否处于 enabled 状态。此输出示例针对的是快速以太网 0/26 端口(此交换机上的 A 端口):

Catalyst 1900 - Port A Configuration

        Built-in 100Base-FX
        802.1d STP State:  Blocking     Forward Transitions:  0

    ----------------------- Settings ---------------------------------------
     [D] Description/name of port                                        
     [S] Status of port                              Suspended-no-linkbeat
     [I] Port priority (spanning tree)               128 (80 hex)
     [C] Path cost (spanning tree)                   10
     [H] Port fast mode (spanning tree)              Enabled 
     [E] Enhanced congestion control                 Disabled             
     [F] Full duplex / Flow control                  Half duplex             

    ----------------------- Related Menus ----------------------------------
     [A] Port addressing           [V] View port statistics
     [N] Next port                 [G] Goto port
     [P] Previous port             [X] Exit to Main Menu

Enter Selection:

Catalyst 1900 上的计时测试

由于缺乏调试工具,难以验证 Catalyst 1900/2820 上的计时值。完成这些步骤:

  1. 在连接到交换机的 PC 上,启动指向交换机的 ping。

  2. 将电缆与交换机断开。

  3. 重新连接电缆,记录交换机对 ping 做出响应之前所经历的时间长度。

分别在 PortFast 处于打开和关闭状态的情况下执行此程序。对于 PortFast 处于打开状态(默认状态)的以太网端口,PC 将在 5 到 6 秒内收到响应。如果 PortFast 处于关闭状态,则 PC 需要 34 到 35 秒才能收到响应。

PortFast 的其他优点

在网络中使用 PortFast 还有另外一个与 STP 相关的优点。每当链路被激活并进入 STP 中的转发状态时,交换机将发送名为拓扑更改通知 (TCN) 的特殊 STP 数据包。TCN 将被传送至生成树的根部,并从该处传播给 VLAN 中的所有交换机。这将导致所有交换机使用转发延迟参数(通常设为 15 秒)来使其 MAC 地址表过期。因此,每当工作站加入网桥组时,所有交换机上的 MAC 地址在 15 秒(正常情况下为 300 秒)后即过期。

工作站进入活动状态时,不会大幅更改拓扑。不必使 VLAN 中的所有交换机都经历快速过期 TCN 周期。如果 PortFast 处于打开状态,则端口被激活时交换机将不会发送 TCN 数据包。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 10553