目录

简介

先决条件

要求

规则

标准桥接体系结构

典型症状

故障排除

解决方法

相关信息

简介

本文档说明如何排除由于HyBridge输入进程导致的路由器CPU使用率过高的故障。ATM接口可支持大量永久虚电路(PVC)，这些永久虚电路(PVC)配置为使用请求注解(RFC)1483桥接格式协议数据单元(PDU)，并采用标准Cisco IOS®桥接和集成路由和桥接(IRB)。 此方法严重依赖广播来连接远程用户。随着远程用户和永久虚电路数量的增加，这些用户之间的广播数量也在增加。在某些情况下，这些广播会在路由器上产生高CPU利用率。

先决条件

要求

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

规则

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

标准桥接体系结构

TRFC 1483指定透明网桥（包括配置为桥接的思科路由器）必须能够泛洪、转发和过滤桥接帧。泛洪是将帧复制到所有可能的适当目的地的过程。当ATM网桥将帧显式复制到每个虚电路(VC)或使用点对多点VC时，ATM网桥会泛洪帧。

使用标准Cisco IOS桥接时，地址解析协议(ARP)、广播、组播和生成树数据包等帧必须经过此泛洪过程。Cisco IOS桥接逻辑处理每个此类数据包：

1. 通过在网桥组中配置的接口和子接口列表运行。

2. 运行在网桥组成员接口上配置的VC列表。

3. 将帧复制到每条虚电路。

处理复制的Cisco IOS软件例程需要在循环中运行，以在每条PVC上复制数据包。如果路由器支持大量桥接格式的PVC，则复制例程会运行一段较长的时间，从而提高CPU。show process cpu命令的捕获显示HyBridge输入的大“5秒”值，该输入负责转发使用数据包转发的进程交换方法的数据包。Cisco IOS需要处理交换数据包，例如生成树网桥协议数据单元(BPDU)、广播和组播，这些数据包不能进行组播快速交换。由于每次调用只处理有限数量的数据包，进程交换会消耗大量CPU时间。

当单个接口支持许多VC时，遍历VC列表会压垮CPU。Cisco Bug ID CSCdr11146解决了此问题。当桥接逻辑在循环中运行以复制广播时，它会间歇性地放弃CPU。放弃CPU也称为暂停CPU。

注意：在同一网桥组中配置许多子接口也会压垮CPU。

典型症状

如果桥接的PVC导致路由器的CPU使用率较高，则首先需要查找的是接口上的大量广播：

ATM_Router# show interface atm1/0

ATM1/0 is up, line protocol is up

Hardware is ENHANCED ATM PA

MTU 4470 bytes, sub MTU 4470, BW 44209 Kbit,    DLY 190 usec,

reliability 0/255, txload    1/255, rxload 1/255

Encapsulation ATM, loopback not set

Keepalive not supported

Encapsulation(s): AAL5

4096 maximum active VCs, 0 current VCCs

VC idle disconnect time: 300 seconds

77103 carrier transitions

Last input 01:06:21, output 01:06:21, output    hang never

Last clearing of "show interface" counters    never

Input queue: 0/75/0/702097 (size/max/drops/flushes);    Total output drops: 12201965

Queueing strategy: Per VC Queueing

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 0 bits/sec, 0 packets/sec

59193134 packets input,    3597838975 bytes, 1427069 no buffer

Received 463236 broadcasts,    0 runts, 0 giants, 0 throttles

46047 input errors, 46047    CRC, 0 frame, 0 overrun, 0 ignored, 0 abort

91435145 packets output,    2693542747 bytes, 0 underruns

0 output errors, 0 collisions,    4 interface resets

0 output buffer failures,    0 output buffers swapped out

作为副作用，您可以看到接口上出现大量丢包。在这种情况下，问题可能出在路由器响应缓慢或路由器完全无法访问的任何地方。如果关闭接口或断开ATM接口的电缆，应将路由器重新打开。

如果广播流量突发（仅导致CPU峰值短时间），则如果更改接口上的输入保持队列以适应突发，可以缓解此问题。默认保持队列大小为75个数据包，可以使用hold-queue <queue length> in|out命令进行更改。通常，保持队列的大小不能增加到150以上，因为这会导致CPU上的进程级负载增加。

故障排除

如果遇到HyBridge输入导致CPU使用率较高的问题，请在联系思科技术支持中心(TAC)时捕获此输出。 要捕获此输出，请使用以下命令：

- show process cpu — 如果您注意到CPU使用率较高，请使用show process CPU命令来查明哪个进程出现故障。请参阅排除Cisco路由器上CPU使用率过高的故障。

- show stacks {process ID} — 您还可以使用此命令查看哪些进程运行正常并查找潜在问题。将此命令的输出粘贴到输出解释程序工具(仅注册客户)。 解码进程后，您可以使用软件Bug工具包搜索可能的Bug。

注意：您需要注册CCO帐户并登录才能使用这两种工具。

- show bridge verbose — 使用此show命令可确定将多少个子接口放入同一网桥组中，并查看接口是否不堪重负。

router#show process cpu

CPU utilization for five seconds: 100%/26%; one minute: 94%; five minutes: 56%

PID   Runtime(ms)   Invoked   uSecs   5Sec   1Min   5Min   TTY   Process

1            44    38169     1       0.00%  0.00%  0.00%    0   Load Meter

2           288    733       392     0.00%  0.00%  0.00%    0   PPP auth

3         44948    19510     2303    0.00%  0.05%  0.03%    0   Check heaps

4             4    1         4000    0.00%  0.00%  0.00%    0   Chunk Manager

5          2500    6229      401     0.00%  0.00%  0.00%    0   Pool Manager

[output omitted]

86            4    1         4000    0.00%  0.00%  0.00%    0   CCSWVOFR

87      3390588    1347552   2516    72.72% 69.79% 41.31%   0   HyBridge Input

88          172    210559    0       0.00%  0.00%  0.00%    0   Tbridge Monitor

89      1139592    189881    6001    0.39%  0.42%  0.43%    0   SpanningTree

router#show stacks 87

Process 87: HyBridge Input Process

Stack segment 0x61D15C5C - 0x61D18B3C

FP: 0x61D18A18, RA: 0x60332608

FP: 0x61D18A58, RA: 0x608C5400

FP: 0x61D18B00, RA: 0x6031A6D4

FP: 0x61D18B18, RA: 0x6031A6C0

router#show bridge verbose

Total of 300 station blocks, 299 free

Codes: P - permanent, S - self

BG  Hash   Address          Action   Interface       VC Age   RX count   TX count

1 8C/0   0000.0cd5.f07c   forward  ATM4/0/0.1      9   0    1857       0

Flood ports (BG 1)      RX count TX count

ATM4/0/0.1                   0        0

此外，关闭网桥组虚拟接口(BVI)，并使用show process cpu命令的几次输出捕获来监控CPU利用率。

解决方法

思科建议您实施以下变通方法，作为标准桥接导致的CPU使用率较高的解决方案：

- 实施Cisco IOS x数字用户线路网桥支持功能，该功能将路由器配置为通过用户策略进行智能网桥泛洪。选择性地阻止ARP、广播、组播和生成树BPDU。

- 分隔多个多点接口上的VC，每个接口使用不同的IP网络。

- 将IP ARP和桥接表条目的老化计时器配置为相同的值。否则，您会看到链路中不必要的流量泛洪。默认ARP超时为四小时。默认网桥老化时间为10分钟。对于空闲了10分钟的远程用户，路由器仅清除用户的网桥表条目并保留ARP表条目。当路由器需要向远程用户发送下行流量时，它会检查ARP表并找到指向MAC地址的有效条目。当路由器检查网桥表中的此MAC地址并找不到它时，路由器会将流量从网桥组中的每条虚电路泛洪出去。使用这些命令设置ARP和网桥表老化时间。

router(config)#bridge 1 aging-time ?

<10-1000000> Seconds

router(config)#interface bvi1

router(config-if)#arp timeout ?

<0-2147483> Seconds

- 在头端ATM接口上，将标准桥接和IRB替换为路由桥接封装(RBE)或桥接式PVC。RBE支持思科快速转发(CEF)，并仅通过路由决策而非桥接决策运行IP数据包，因此提高了转发性能。在12.1(1)T系列中，数据包可以通过软件交换。如果是，您会看到以下错误消息：

%FIB-4-PUNTINTF: CEF punting packets switched to        ATM1/0.100 to next slower path

%FIB-4-PUNTINTF: CEF punting packets switched to ATM1/0.101        to next slower path

问题记录在CSCdr37618中，解决方法是升级到12.2 mainline。有关详细信息，请参阅GSR和7500系列中的ATM接口上的路由桥接封装基线架构和配置桥接式PVC，以了解GSR和7500系列中的ATM接口上的路由桥接封装基线架构和配置桥接式PVC。

相关信息

- 对 Cisco 路由器上的 CPU 使用率过高进行故障排除

- 技术支持和文档 - Cisco Systems

- 工具 和 实用程序－思科系统