本文解释如何排除故障在输出出现show interface命令中在Cisco 12000SERIES互联网路由器输入丢弃的数量的一增加。
本文档的读者应掌握以下这些主题的相关知识:
Cisco 12000SERIES互联网路由器体系结构
本文档中的信息基于以下软件和硬件版本:
支持Cisco 12000SERIES互联网路由器的任何Cisco IOS软件版本。例如, Cisco IOS软件版本12.0S和12.0ST。
所有Cisco 12000平台,包括12008, 12012, 12016, 12404, 12410和12416。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
多数常见的症状是在输入丢弃数量的一增加。您在输出能看到输入丢弃数量show interfaces命令中在Cisco 12000SERIES互联网路由器。这是输出示例: show interfaces命令:
Router#show interface Gig2/0GigabitEthernet2/0 is up, line protocol is up Hardware is GigMac 3 Port GigabitEthernet, address is 0003.fd1a.9040(bia 0003.fd1a.9040) Internet address is 203.177.3.21/24 MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex mode, link type is force-up, media type is SX output flow-control is unsupported, input flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters 00:55:39 Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 27/75, 954 drops !--- Here are the input drops. 5 minute input rate 3000 bits/sec, 5 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 7167 packets input, 601879 bytes, 0 no buffer Received 2877 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 3638 multicast, 0 pause input 992 packets output, 104698 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 babbles, 0 late collision, 0 deferred 1 lost carrier, 21992 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out
执行show interfaces命令每10秒证实丢弃计数器是否为Input queue增加。
当数据包输入路由器时,路由器尝试转发数据包在中断级别。如果路由器在一个适当的缓存表里找不到一匹配,路由器排队在流入接口的Input queue的数据包处理后的数据包。路由器总是处理一些数据包。然而,速率处理的信息包用相应的配置从未拥塞在稳定网络的Input queue。如果Input queue满,路由器丢弃数据包。
在输出示例:中,数据包路由器丢弃的您不能正确地识别。为了排除故障输入队列丢弃,数据包填装Input queue的您需要发现。输出示例:表明27数据包在接口GigabitEthernet2/0 Input queue等候。队列深度是75数据包,并且有954丢包,在您最后清除了接口计数器后。
在清除很大数量的路由的网络中,输入队列丢弃能导致:
Layer2 Keepalive失败
热备件路由协议/virtual路由器冗余协议(HSRP/VRRP)
接口飘荡
默认值为支持很大数量的接口或路由的系统是不适于的,特别是在更加大的服务提供商网络。边界网关协议(BGP)单个清洁能经常导致千位在同一个接口的输入队列丢弃。大输入丢弃能严重地阻碍收敛时间。
完成这些步骤为了避免这样情况:
请使用spd空间1000 global命令增加选择性数据包丢弃(SPD)空间。
SPD空间的默认值是100。spd headroom命令指定多少高优先次序数据包您能在正常输入保留队列限制排列。高优先次序数据包包括路由协议更新和其他重要控制流量,例如, Layer2 Keepalive和IS-IS hello。当您指定此值时,您保留流入高优先数据包的空间。在Cisco IOS软件版本12.0(22)S和以后,默认值为SPD空间是1000 Cisco 12000SERIES互联网路由器的。请使用show ip spd命令检查值。
请使用hold-queue 1500每个接口增加接口保持队列值。默认值是75。
如被提及前在本文,仅数据包被注定对路由器到达Input queue。千兆路由处理器(GRP)必须确定如何处理数据包。所有数据包被过程交换。所以,数据包采取慢路径。通常, Cisco 12000路由器通过线卡交换使用Distributed Cisco Express Forwarding (DCEF)的所有信息包。仅此平台支持dCEF作为交换方法。
有时,如果路由器有很大数量的对等体,丢包发生在边界网关协议(BGP)收敛期间。然而,有大量理由GRP为什么必须查看一些数据包。列出得某些原因此处:
GRP接收路由更新。
GRP处理互联网控制消息协议(ICMP)数据包。
GRP建立并且保持BGP对等体会话。
请使用show interfaces stat命令证实是否有任何程序交换数据包。
如果Cisco 12000路由器不在制作,您能启用一些调试指令。调试enable命令您获取关于GRP收到数据包的种类的更多信息。调试ip数据包输出是非常有用的。然而,因为此命令能通过暂停、失败或者相似的问题,影响路由器的行为对此命令请是非常谨慎的。禁用控制台日志避免消息突发流量到控制台端口。使日志缓冲区重定向输出debug命令到缓冲区您能参见以后。请使用show logging命令查看缓冲区。您能也指定access-list缩小debug输出。为了指定access-list,请使用此配置:
no logging consolelogging buffer 128000debug ip packet <ACL #> !--- Warning: !--- Be aware that this configuration on a production router can damage the box.undebug all (after 5-10 seconds)
此debug命令使您发现GRP收到的所有程序交换数据包。或者,您能使用show buffers input-interface [interface type] [interface number] header命令识别填满Input queue数据包的种类。
注意: 只有当Input queue包含很多数据包时,此命令是有用的。
Router#show buffers input-interface serial 0/0 Buffer information for Small buffer at 0x612EAF3C data_area 0x7896E84, refcount 1, next 0x0, flags 0x0 linktype 7 (IP), enctype 0 (None), encsize 46, rxtype 0 if_input 0x6159D340 (FastEthernet3/2), if_output 0x0 (None) inputtime 0x0, outputtime 0x0, oqnumber 65535 datagramstart 0x7896ED8, datagramsize 728, maximum size 65436 mac_start 0x7896ED8, addr_start 0x7896ED8, info_start 0x0 network_start 0x7896ED8, transport_start 0x0 source: 212.176.72.138, destination: 212.111.64.174, id: 0xAAB8, ttl: 118, prot: 1 Buffer information for Small buffer at 0x612EB1D8 data_area 0x78A6E64, refcount 1, next 0x0, flags 0x0 linktype 7 (IP), enctype 0 (None), encsize 46, rxtype 0 if_input 0x6159D340 (FastEthernet3/2), if_output 0x0 (None) inputtime 0x0, outputtime 0x0, oqnumber 65535 datagramstart 0x78A6EB8, datagramsize 728, maximum size 65436 mac_start 0x78A6EB8, addr_start 0x78A6EB8, info_start 0x0 network_start 0x78A6EB8, transport_start 0x0 source: 212.176.72.138, destination: 212.111.64.174, id: 0xA5B8, ttl: 118, prot: 1
通常,同一种数据包大量地存在。例如,输出示例:指示很大数量的ICMP数据包(IP协议1)。
注意: 如果无法识别一个模式在调试或show buffers input-interface命令的输出中,问题是很可能一个不正确路由器配置。
注意: 欲知更多信息,参考故障排除输入队列丢弃和输出队列丢弃。
进行根据输出的适当行为debug ip packet detail命令,或者如故障排除输入队列丢弃和输出队列丢弃所述。关于详细示例,请参阅案例分析部分。
有时,当您检查您的Cisco 12000路由器时接口,您注意接口丢弃流入数据包。结果,输入丢弃计数器值有规律地增加。例如,请考虑此输出示例: :
Router#show interface Gig2/0GigabitEthernet2/0 is up, line protocol is up Hardware is GigMac 3 Port GigabitEthernet, address is 0003.fd1a.9040(bia 0003.fd1a.9040) Internet address is 203.177.3.21/24 MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex mode, link type is force-up, media type is SX output flow-control is unsupported, input flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters 00:55:39 Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 27/75, 954 drops !--- This is the input drops counter value. 5 minute input rate 3000 bits/sec, 5 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 7167 packets input, 601879 bytes, 0 no buffer Received 2877 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 3638 multicast, 0 pause input 992 packets output, 104698 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 babbles, 0 late collision, 0 deferred 1 lost carrier, 21992 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out
一些输入丢弃在show interfaces命令输出中出现。如果发出此命令每10秒,您能证实丢弃计数器是否为Input queue增加。
请使用show interface stat命令检查程序交换数据包出现:
Router#show interfaces stat.....GIG2/0 Switching path Pkts In Chars In Pkts Out Chars Out Processor 45354 1088496 0 0 !--- Here are the packets that are process-switched (sent to the GRP) Route cache 0 0 0 0 Distributed cef 0 0 8575 207958 Total 45354 1088496 8575 207958....
如果Cisco 12000路由器不在制作,您能启用一些调试指令获取关于GRP收到数据包的种类的更多信息。输出debug ip packet命令是有趣的。用此debug命令,您能看到GRP收到的所有程序交换数据包。在一些时间以后发出show logging命令:
Router#show log Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns) Console logging: disabled Monitor logging: level debugging, 1110 messages logged Logging to: vty2(572) vty3(538) Buffer logging: level debugging, 107 messages logged Trap logging: level informational, 162 message lines logged Log Buffer (10000 bytes): *Jan 13 08:03:51.550: %SYS-5-CONFIG_I: Configured from console by vty2 (144.254.2.215) 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 79, sending 1w5d: IP: s=203.177.3.62 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=0.0.0.0 (GigabitEthernet2/0), d=255.255.255.255, len 328, rcvd 2 1w5d: IP: s=203.177.3.15 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), len 40, rcvd 3 1w5d: IP: s=203.177.3.1 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.2 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.10 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.6 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.62 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.1 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.15 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 69, unroutable 1w5d: IP: s=203.177.3.2 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.10 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 89, unroutable 1w5d: IP: s=203.177.3.6 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.62 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.15 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.1 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), len 41, rcvd 3 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41, sending 1w5d: IP: s=203.177.3.2 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.10 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), len 41, rcvd 3 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41, sending 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=203.177.3.6 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), len 43, rcvd 3 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41, sending 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41, sending
在本例中, GigabitEthernet2/0接口收到很多增强的内部网关路由选择协议(EIGRP)数据包。EIGRP使用组播地址224.0.0.10,但是您未配置路由器处理这样数据包。所以,路由器发送这些数据包对GRP。因为GRP不能处理足够,快速这些的数据包GRP做出决定丢弃数据包。
为了保证GRP不收到这些EIGRP数据包,您可进行这些操作之一:
指定接口作为在其他路由器的被动。
指定不同的邻接路由器。
有时,输入丢弃数量增加由于Cisco IOS软件缺陷。例如,在Cisco IOS软件版本12.0(11)S, Cisco 12000SERIES互联网路由器不正确地增加输入丢弃抵抗由于核算问题。输出不在拥塞时正确地反射丢弃的数据包数量。所有接口能指示此问题,但是问题不影响接口的服务或功能。没有已知应急方案。
保证您运行在您的系列的最新的可用的Cisco IOS软件版本排除修复的Bug。如果之后仍然看到丢包,请通过打开服务请求。