本文档说明了路由器在show interface atm命令输出中增加忽略错误的条件。它还说明了如何对此问题进行故障排除。
当信元到达时,它首先存储在成帧器信元的先入先出(FIFO)中。 然后,它移到ATM分段和重组(SAR)信元缓冲区,并使用主机分组缓冲器跨外围组件互连(PCI)总线进行重组。数据包完成后,会通知主机驱动程序并处理它。虽然中止和超限表明在成帧和SAR芯片上分别没有接收FIFO缓冲区,但忽略的错误表明缺少数据包内存缓冲区。通常,当一个或多个相对较慢的输出接口保留分配给PA-A3的所有输入缓冲区时,会发生忽略错误。当CPU利用率非常高且没有任何可用周期来补充接口的数据包缓冲区接收环时,忽略的错误也会增加。
在具有PA-A3端口适配器的Cisco 7500系列路由器上捕获了show interface ATM命令的以下输出示例,也称为增强型ATM PA:
router#show interface atm1/0/0 ATM1/0/0 is up, line protocol is up Hardware is cyBus ENHANCED ATM PA MTU 4470 bytes, sub MTU 4470, BW 44209 Kbit, DLY 190 usec, rely 255/255, load 1/255 Encapsulation ATM, loopback not set, keepalive not set Encapsulation(s): AAL5 AAL3/4 4096 maximum active VCs, 1 current VCCs VC idle disconnect time: 300 seconds Last input never, output 00:03:14, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 588 packets input, 7430 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 45 ignored, 0 abort 5 packets output, 560 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffers copied, 0 interrupts, 0 failures
本文档没有任何特定的要求。
本文档中的信息基于Cisco 7200和7500系列路由器。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
在Cisco 7200系列路由器上,传输缓冲区源自其他端口适配器拥有的接收缓冲区。此设计也适用于7500系列路由器,当数据包在本地交换到同一通用接口处理器(VIP)上的另一个PA时。
Cisco IOS®软件限制每个接口的接收主机缓冲区数量。最初,当与具有1 MB SRAM的NPE-150一起使用时,PA-A3分配了400个主机缓冲区。使用show controller atm命令显示接口主机缓冲区的数量。
7200#show controller atm 3/0 Interface ATM3/0 is up Hardware is ENHANCED ATM PA - DS3 (45Mbps ) Lane client mac address is 0030.7b1e.9054 Framer is PMC PM7345 S/UNI-PDH, SAR is LSI ATMIZER II Firmware rev: G119, Framer rev: 1, ATMIZER II rev: 3 idb=0x61499630, ds=0x6149E9C0, vc=0x614BE940 slot 3, unit 2, subunit 0, fci_type 0x005B, ticks 73495 400 rx buffers: size=512, encap=64, trailer=28, magic=4 Curr Stats: rx_cell_lost=0, rx_no_buffer=0, rx_crc_10=0 rx_cell_len=0, rx_no_vcd=0, rx_cell_throttle=0, tx_aci_err=0 [output omitted]
7200系列通常将数据包存储在私有粒子缓冲区中,这些数据包从I/O内存池分配。专用粒子缓冲区将对缓冲区资源的争用降至最低。专用池是静态的,在Cisco IOS软件初始化时分配固定数量的缓冲区。新的缓冲不可能为这些池被创建在要求时。PA-A3被视为7200的高带宽端口适配器。安装模块时,请参阅Cisco 7200系列端口适配器硬件配置指南。
如果数据包在中断时无法完全处理,接口驱动程序会将数据包“合并”到公共池中DRAM中的连续缓冲区中,并准备数据包进行进程交换。
show buffers命令可同时显示公有池和专用池。
7200#show buffers Buffer elements: 499 in free list (500 max allowed) 886005 hits, 0 misses, 0 created [output omitted] Private particle pools: ATM2/0 buffers, 512 bytes (total 400, permanent 400): 0 in free list (0 min, 400 max allowed) 400 hits, 0 fallbacks 400 max cache size, 0 in cache 14 buffer threshold, 1 threshold transitions
除了公有和专用接口池外,Cisco IOS还在I/O内存中创建特殊的缓冲区控制结构,称为环。IOS和接口驱动程序使用这些环来控制哪些缓冲区用于接收数据包并将数据包传输到介质。环实际上是许多类型的媒体控制器用来管理接收或等待传输的数据包的内存的一种常见控制结构。环本身是指向粒子的指针的循环链接列表。IOS代表介质控制器创建这些环,然后与接口驱动程序一起管理这些环。
每个界面有一个对环形:
接收数据包的接收环。
用于传输数据包的传输环。
这些环的大小由多种因素决定,有时还取决于用户配置。
在7200系列平台上,传输环数据包缓冲区来自交换数据包的始发接口的接收环,或来自公共池(如果数据包是由IOS发起)。它们从传输环中取消分配,并在负载数据传输后返回到其原始池。
在Cisco 7500系列路由器上,传入数据包可以在VIP本地交换,也可以通过路由交换处理器(RSP)交换。 VIP在SRAM的PCI内存中将数据包存储在粒子中。PCI内存大小因VIP型号而异。例如,具有512 kB PCI内存的VIP可以支持单个PA-A3,该PA-A3具有少量虚电路(VC),这些虚电路偶尔会出现突发。PCI内存越多,PA-A3就能维持更长的数据包突发。有关详细信息,请参阅通用接口处理器配置指南。
忽略错误表示PA-A3正在用完接口主机数据包缓冲区。这些缓冲区显示在show buffers命令的输出中。
通常,当PA-A3馈送相对较慢的出口接口或VC时,会耗尽接口主机缓冲区。在此配置中,PA-A3可以通过接口速率不匹配使出口接口过载。由于速度较慢的出口接口无法像PA-A3将缓冲区取消排队到输出保持队列一样快速返回缓冲区,因此缓冲区返回的延迟会导致入口PA-A3耗尽输入缓冲区。出现此情况时,PA-A3忽略的计数器将递增。此问题在较旧的网络处理引擎(NPE)(如NPE-150)上更为明显。
换句话说,较慢的出口接口会减慢入口ATM接口的接收信用补充的速率。此数据包流打破了出站接口以缓冲区管理时间速率返回缓冲区的假设。
但是,即使有可用的主机缓冲区,忽略的计数器也会增加。当端口适配器的驱动程序开始限制一个或多个虚电路并停止接受新数据包时,此类错误会增加。此类丢弃的目的是防止一个“主动”虚电路分配过多的数据包缓冲区,并最终使其他虚电路失去缓冲资源。
使用show controllers atm命令确定限制条件是否处于活动状态。show controllers atm显示两个重要值:
rx_ threshold — 定义PA-A3可以容纳的接收粒子的最大数量,在此之后,微码开始调节VC中的接收粒子使用。
rx_count — 定义PA-A3驱动程序保持的接收粒子的当前数量。
在show controllers atm的此示例输出中,rx_threshold等于rx_count。
Control data: rx_max_spins=73, max_tx_count=35, tx_count=8 rx_threshold=1600, rx_count=1600, tx_threshold=4608 tx bfd write indx=0x349, rx_pool_info=0x609EE860
当rx_count超过rx_threshold时,会检查PA-A3接收的下一个数据包,以查看一个VC是否占用了太多的数据包缓冲区。如果是,PA-A3会丢弃此传入数据包,直到此违规VC保留的接收粒子总数低于其配额。默认情况下,为每条虚电路分配一个接收信用限制,该信用限制源自为64字节数据包或至少两个MTU大小的数据包支持高达10毫秒的突发。接收限制也被调整为支持来自发射侧的最大突发大小(MBS)值。使用show atm pvc命令查看计算值。
在排除递增忽略的错误时,请在联系思科技术支持之前收集此信息:
路由器中还有哪些其它接口?这些接口是高速接口还是低速接口?
安装了哪种类型的网络处理引擎或网络服务引擎?
通过接口的流量模式是什么?快速ATM接口是否提供慢速出口接口?
当忽略的计数器增加时,向路由器显示的流量(和数据包数)是多少?
除忽略的计数器外,其他输入错误计数器是否还在增加?
确定路由器是否有足够的内存来支持已配置的端口适配器和功能。多次执行这些命令并查找模式:
show process cpu
show memory summary
通过调整出口接口或VC或入口PA-A3接口上的值,可以解决忽略的错误。
此列表介绍出口接口的调整技术:
使用队列大小有限的FIFO队列,限制出口接口可以保留的缓冲区数。使用串行接口参阅本示例:
interface Serial1/0 no fair-queue hold-queue x out
默认情况下,输出保持队列设置为40。如果增加了保持队列,请将值重置为40,但避免配置低于默认值的值。要执行基本的缓冲区调整,请参阅所有Cisco路由器的缓冲区调整。
使用tx-ring-limit命令可减小出站接口上的传输环的大小。传输环的大小需要足够小,以避免因排队而引入延迟,而且需要足够大,以避免丢包和对基于TCP的流造成的影响。有关指南,请参阅了解和调整tx环限制值。
如果PA-A3正在馈送出口VC,请增加出口VC的信元速率。有关场景和指南,请参阅PA-A3 ATM端口适配器上的输入和输出错误故障排除。
实施输出ATM流量整形,以减少出口接口上的缓冲量。请参阅了解ATM VC的VBR-nrt服务类别和ATM流量整形。
如果由于CPU使用率较高而导致忽略计数器增加,请参阅Cisco路由器上CPU使用率较高的故障排除。
考虑升级到PA-A6,通过PA-A3 ATM端口适配器提高性能。PA-A6在使用NPE-400和NSE-1处理引擎的Cisco 7200系列路由器上使用128字节数据包大小提供线速性能。
Cisco Bug ID CSCdp96197(仅注册客户)引入了使用rx-limit命令调整接收环限制的功能。仅当问题是由一个或多个虚电路违反各自缓冲区分配而导致时,此技术才有效。
rx-limit命令允许您指定分配给特定VC的总接收缓冲区的百分比。rx-limit值越大,VC(作为输入逻辑接口)就能有效地存储更多缓冲区,等待在较慢接口或较慢出口VC的出口队列中。
使用show atm vc <vcd>或show atm pvc <vpi>/<vci>命令验证您的配置,如下所示:
7200#show atm pvc 1/100 ATM1/0.1: VCD: 14, VPI: 1, VCI: 100 UBR, PeakRate: 149760 AAL5-LLC/SNAP, etype:0x0, Flags: 0xC20, VCmode: 0x0 OAM frequency: 0 second(s), OAM retry frequency: 1 second(s), OAM retry frequency: 1 second(s) OAM up retry count: 3, OAM down retry count: 5 OAM Loopback status: OAM Disabled OAM VC state: Not Managed ILMI VC state: Not Managed Rx Limit: 25 percent InARP frequency: 15 minutes(s) Transmit priority 4 InPkts: 0, OutPkts: 0, InBytes: 0, OutBytes: 0 InPRoc: 0, OutPRoc: 0 InFast: 0, OutFast: 0, InAS: 0, OutAS: 0 InPktDrops: 0, OutPktDrops: 0 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0, LengthViolation: 0, CPIErrors: 0 Out CLP=1 Pkts: 0 OAM cells received: 0 F5 InEndloop: 0, F5 InSegloop: 0, F5 InAIS: 0, F5 InRDI: 0 F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0 OAM cells sent: 0 F5 OutEndloop: 0, F5 OutSegloop: 0, F5 OutRDI: 0 F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0 OAM cell drops: 0 Status: UP
根据7200系列路由器中安装的网络处理引擎或网络服务引擎,增加分配给PA-A3的主机缓冲区数。Cisco Bug ID CSCdt74722(仅限注册客户)增加了PA-A3可用于接收传入数据的主机缓冲区数量。其他主机缓冲区是静态分配。这意味着Cisco IOS软件不会根据添加或移除端口适配器执行任何动态恢复。
与PA-A3 ATM端口适配器的4096条VC相比,新一代ATM端口适配器PA-A6 ATM最多支持8191条VC。PA-A6 ATM端口适配器还提供PA-A3 ATM端口适配器的性能改进。PA-A6在使用NPE-400和NSE-1处理引擎的Cisco 7200系列路由器上使用128字节数据包大小提供线速性能。
注:Cisco 7500系列路由器当前不支持PA-A6 ATM端口适配器。目前Cisco 7600 FlexWAN上也不提供此功能。
此表为PA-A3和PA-A6 ATM端口适配器提供专用接口池中的默认粒子数。
网络处理或服务引擎 | 粒度 | 默认粒子(输入缓冲区值) |
---|---|---|
NPE-225及以下 | 512 | 1200 |
NPE-300和NSE-1 | 512 | 2400 |
NPE-400 | 512 | 4000 |
NPE-G1 | 512 | 4000 |
使用show controller atm命令和show buffer命令查看分配给PA-A3的接收缓冲区的数量。
router#show controller atm 5/0 Interface ATM5/0 is up Hardware is ENHANCED ATM PA - OC3 (155000Kbps) Framer is PMC PM5346 S/UNI-155-LITE, SAR is LSI ATMIZER II Firmware rev: G127, Framer rev: 0, ATMIZER II rev: 3 idb=0x62948598, ds=0x6294FEA0, vc=0x6297F940 slot 5, unit 2, subunit 0, fci_type 0x0056, ticks 120012 1200 rx buffers: size=512, encap=64, trailer=28, magic=4 [output omitted] router# show buffer [output omitted] Private particle pools: Serial4/0 buffers, 512 bytes (total 192, permanent 192): 0 in free list (0 min, 192 max allowed) 192 hits, 0 fallbacks 192 max cache size, 128 in cache 10 buffer threshold, 0 threshold transitions Serial4/1 buffers, 512 bytes (total 192, permanent 192): 0 in free list (0 min, 192 max allowed) 192 hits, 0 fallbacks 192 max cache size, 128 in cache 10 buffer threshold, 0 threshold transitions Serial4/2 buffers, 512 bytes (total 192, permanent 192): 0 in free list (0 min, 192 max allowed) 192 hits, 0 fallbacks 192 max cache size, 128 in cache 10 buffer threshold, 0 threshold transitions Serial4/3 buffers, 512 bytes (total 192, permanent 192): 0 in free list (0 min, 192 max allowed) 192 hits, 0 fallbacks 192 max cache size, 128 in cache 10 buffer threshold, 0 threshold transitions ATM5/0 buffers, 512 bytes (total 1200, permanent 1200): 0 in free list (0 min, 1200 max allowed) 1200 hits, 1 misses
在show buffers命令输出中,空闲列表中的0表示接口驱动程序保留了所有专用粒子池缓冲区。使用show interface输出中的数据包和丢弃计数器来衡量您的PA-A3或PA-A6是否具有足够的数据包内存。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
05-Jun-2005 |
初始版本 |