此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍在路由器上执行show interfaces命令输出时如何排除接口上的刷新故障。
刷新用于计数选择性数据包丢弃(SPD)。这是一种在CPU过载时快速丢弃低优先级数据包的机制,以便为高优先级数据包节省一些处理能力。选择性数据包丢弃 (SPD) 可对路由器的 IP 进程队列实施一种选择性数据包丢弃策略,作为 SPD 的一部分,show interface 命令输出中的清除计数器将会增加。因此,它适用于唯一的进程交换流量。
SPD 的作用是保证当 IP 输入队列已满时,重要的控制数据包(例如路由更新和 Keepalive)不会被丢弃。当 IP 输入队列的大小介于最小和最大阈值之间时,将根据某种丢弃概率来丢弃正常的 IP 数据包。这些随机数据包丢弃称为 SPD 清除。
刷新丢弃会导致链路上出现不可达性、速度慢、质量降低问题。您可以在路由器上使用此命令检查刷新计数器。
Router# Show interface GigabitEthernet 0/0 GigabitEthernet0/0/0 is administratively down, line protocol is down Hardware is BUILT-IN-2T+6X1GE, address is 0035.1a53.7302 (bia 0035.1a53.7302) MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive not supported Full Duplex, 1000Mbps, link type is auto, media type is T output flow-control is on, input flow-control is on ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/14323 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 packets output, 0 bytes, 0 underruns 0 output errors, 0 collisions, 3 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions
当链路上没有拥塞时,甚至可以看到这些刷新。在此类情况下,保持队列的增量也可能无法解决问题。Flushes有时确实很好,因为它们会丢弃优先级较低的流量而不是优先级流量。如果您看到接口上的刷新间歇性,则此脚本可用于获取有关滞留在接口缓冲区中的流量的信息。此处的EEM脚本是以GigabitEthernet0/0作为受影响接口创建的。可根据要排除故障的接口和最大队列大小设置进行修改。除此之外,当队列大小指定为75时,值74是默认的最大值,即开始完全丢弃。您可以使用文档末尾提到的命令以及这些丢弃的详细信息手动设置最小和最大阈值。
event manager applet input_queue_watch event timer watchdog time 5 action 1.0 cli command "enable" action 2.0 cli command "show interface GigabitEthernet0/0 | inc Input queue" action 3.0 regexp "Input queue: ([0-9]+)/75/" $_cli_result match qsize action 4.0 if $_regexp_result eq 1 action 4.1 if $qsize ge 74 action 4.2 cli command "term exec prompt time" action 4.3 cli command "show ip traffic | append flash:queue_log.log" action 4.4 cli command "show ip cef not | append flash:queue_log.log" action 4.5 cli command "show ip cef switching state | append flash:queue_log.log" action 4.6 cli command "show buffer input-interface GigabitEthernet0/0 packet |append flash:queue_log.log" action 4.7 cli command "show buffer input-interface GigabitEthernet0/0 header |append flash:queue_log.log" action 4.8 end
Show buffer input-interface GigabitEthernet0/0和Show buffer input-interface GigabitEthernet0/0数据包的输出为您提供了队列中的流量信息。
Router# Show buffer input-interface fa0/0 Header DataArea Pool Rcnt Size Link Enc Flags Input Output 64C22054 DA00084 Small 1 62 7 1 200 Fa0/0 None 64C238B8 DA00944 Small 1 62 7 1 200 Fa0/0 None 64C24A24 DA00F84 Small 1 62 7 1 200 Fa0/0 None 64C2511C DA01204 Small 1 62 7 1 200 Fa0/0 None 64C25814 DA01484 Small 1 62 7 1 200 Fa0/0 None 64C26288 DA01844 Small 1 62 7 1 200 Fa0/0 None 64C26CFC DA01C04 Small 1 91 7 1 280 Fa0/0 None 64C27078 DA01D44 Small 1 62 7 1 200 Fa0/0 None 64C273F4 DA01E84 Small 1 62 7 1 200 Fa0/0 None 65251C34 DD1F024 Small 1 62 7 1 200 Fa0/0 None 653A54B8 DD1FF24 Small 1 62 7 1 200 Fa0/0 None 653A5834 DD20064 Small 1 62 7 1 200 Fa0/0 None 653A69A0 DD206A4 Small 1 62 7 1 200 Fa0/0 None 6542C338 DD1FB64 Small 1 62 7 1 200 Fa0/0 None
Router# Show buffer input-interface GigabitEthernet0/0 packet Buffer information for Small buffer at 0x64C25498 data_area 0xDA01344, refcount 1, next 0x0, flags 0x200 linktype 7 (IP), enctype 1 (ARPA), encsize 14, rxtype 1 if_input 0x64F2391C (FastEthernet0/0), if_output 0x0 (None) inputtime 15:45:44.284 (elapsed 00:00:02.956) outputtime 00:00:00.000 (elapsed never), oqnumber 65535 datagramstart 0xDA0138A, datagramsize 62, maximum size 260 mac_start 0xDA0138A, addr_start 0xDA0138A, info_start 0x0 network_start 0xDA01398, transport_start 0xDA013AC, caller_pc 0x6072308C source: 172.18.162.125, destination: 172.18.13.175, id: 0x47C6, ttl: 1, TOS: 0 prot: 6, source port 1433, destination port 1390: .... 4: 62800030 85142082 08004500 003037AA b..0.. ...E..07* 20: 40000106 409FAC12 A56DAC12 03ED044F @...@.,.%m,..m.O 36: 008B9D84 24630000 00007002 80003ADE ....$c....p...:^ 52: 00000204 05B40101 040200 .....4..... Buffer information for Small buffer at 0x64C24DA0 data_area 0xDA010C4, refcount 1, next 0x65246DC0, flags 0x200 linktype 7 (IP), enctype 1 (ARPA), encsize 14, rxtype 1 if_input 0x64F2391C (FastEthernet0/0), if_output 0x0 (None) inputtime 15:45:41.944 (elapsed 00:00:00.056) outputtime 00:00:00.000 (elapsed never), oqnumber 65535 datagramstart 0xDA0110A, datagramsize 62, maximum size 260 mac_start 0xDA0110A, addr_start 0xDA0110A, info_start 0x0 network_start 0xDA01118, transport_start 0xDA0112C, caller_pc 0x6072308C source: 172.18.162.115, destination: 172.18.71.102, id: 0xC58F, ttl: 1, TOS: 0 prot: 6, source port 4952, destination port 139 0: 00078509 62800030 ....b..0 8: 85142082 08004500 0030C58F 40000106 .. ...E..0E.@... 24: 723AAC12 A273AC12 47661358 008B013D r:,."s,.Gf.X...= 40: 71660000 00007002 80003A9A 00000204 qf....p...:..... 56: 05B40101 040200 Buffer information for Small buffer at 0x64C22054 data_area 0xDA00084, refcount 1, next 0x653A62A8, flags 0x200 linktype 7 (IP), enctype 1 (ARPA), encsize 14, rxtype 1 if_input 0x64F2391C (FastEthernet0/0), if_output 0x0 (None) inputtime 15:45:34.756 (elapsed 00:00:05.348) outputtime 00:00:00.000 (elapsed never), oqnumber 65535 datagramstart 0xDA000CA, datagramsize 62, maximum size 260 mac_start 0xDA000CA, addr_start 0xDA000CA, info_start 0x0 network_start 0xDA000D8, transport_start 0xDA000EC, caller_pc 0x6072308C source: 172.18.100.7, destination: 172.18.101.147, id: 0x684A, ttl: 255, prot: 1 0: 00078509 62800030 85142082 08004500 ....b..0.. ...E. 16: 0030C32E 40000106 2589AC12 A273AC12 .0C.@...%.,."s,. 32: 967811E6 01BD1253 53C40000 00007002 .x.f.=.SSD....p. 48: 8000F853 00000204 05B40101 040200 ..xS.....4..... Buffer information for Small buffer at 0x64B7C588 data_area 0xDDA5484, refcount 1, next 0x65DC5D8C, flags 0x200 linktype 7 (IP), enctype 1 (ARPA), encsize 14, rxtype 1 if_input 0x64F2391C (FastEthernet0/0), if_output 0x0 (None) inputtime 15:45:21.408 (elapsed 00:00:00.300) outputtime 00:00:00.000 (elapsed never), oqnumber 65535 datagramstart 0xDDA54CA, datagramsize 62, maximum size 260 mac_start 0xDDA54CA, addr_start 0xDDA54CA, info_start 0x0 network_start 0xDDA54D8, transport_start 0xDDA54EC, caller_pc 0x6072308C source: 172.18.101.147, destination: 172.18.246.99, id: 0x3BE6, ttl: 1, TOS: 0 prot: 6, source port 3096, destination port 139 0: 00078509 62800030 ....b..0 8: 85142082 08004500 00303BE6 40000106 .. ...E..0;f@... 24: 89C6AC12 6593AC12 F6630C18 008BBEB1 .F,.e.,.vc....>1 40: 4A500000 00007002 8000395E 00000204 JP....p...9^.... 56: 05B40101 040200 .4..... Buffer information for Small buffer at 0x64C24DA0 data_area 0xDA010C4, refcount 1, next 0x653A6D1C, flags 0x200 linktype 7 (IP), enctype 1 (ARPA), encsize 14, rxtype 1 if_input 0x64F2391C (FastEthernet0/0), if_output 0x0 (None) inputtime 15:45:17.192 (elapsed 00:00:00.028) outputtime 00:00:00.000 (elapsed never), oqnumber 65535 datagramstart 0xDA0110A, datagramsize 62, maximum size 260 mac_start 0xDA0110A, addr_start 0xDA0110A, info_start 0x0 network_start 0xDA01118, transport_start 0xDA0112C, caller_pc 0x6072308C source: 172.18.165.109, destination: 172.18.149.166, id: 0x28BC, ttl: 1, TOS: 0 prot: 6, source port 4086, destination port 445 0: 00078509 .... 4: 62800030 85142082 08004500 003028BC b..0.. ...E..0(< 20: 40000106 BDD3AC12 A56DAC12 95A60FF6 @...=S,.%m,..&.v 36: 01BD9A3D 72370000 00007002 800051BE .=.=r7....p...Q> 52: 00000204 05B40101 040200 .....4..... Buffer information for Small buffer at 0x653A6624 data_area 0xDD20564, refcount 1, next 0x65343F50, flags 0x200 linktype 7 (IP), enctype 1 (ARPA), encsize 14, rxtype 1 if_input 0x64F2391C (FastEthernet0/0), if_output 0x0 (None) inputtime 15:46:12.888 (elapsed 00:00:00.012) outputtime 00:00:00.000 (elapsed never), oqnumber 65535 datagramstart 0xDD205AA, datagramsize 62, maximum size 260 mac_start 0xDD205AA, addr_start 0xDD205AA, info_start 0x0 network_start 0xDD205B8, transport_start 0xDD205CC, caller_pc 0x6072308C source: 172.18.165.109, destination: 172.18.159.108, id: 0x4902, ttl: 1, TOS: 0 prot: 6, source port 2391, destination port 445 0: 00078509 62800030 85142082 08004500 ....b..0.. ...E. 16: 00304902 40000106 93C7AC12 A56DAC12 .0I.@....G,.%m,. 32: 9F6C0957 01BDA1C0 C57C0000 00007002 .l.W.=!@E|....p. 48: 8000F3CE 00000204 05B40101 040200 ..sN.....4.....
一旦您确定正在排队的流量,您就可以对其采取必要的操作。它可能会限制流量的速率,或者如果流量不合法,则可以应用ACL来阻止流量。
如果计数器在故障排除时增加,则您也可以手动运行命令。请注意,Show buffer input-interface GigabitEthernet0/0和Show buffer input-interface GigabitEthernet0/0 命令有时不会同时提供输出,因此您可能需要运行几次命令。
RP上的进程队列分为两部分:常规数据包队列和优先级队列。常规数据包队列中放置的数据包要进行 SPD 状态检查,而优先级队列中放置的数据包不进行该检查。符合优先级数据包队列的数据包是高优先级数据包,例如IP优先级6或IGP数据包的数据包,且不应丢弃。不过,可基于 SPD 状态根据常规数据包队列的长度丢弃不符合要求的数据包。一般数据包队列可以处于三种状态,因此低优先级数据包的服务方式可能不同:
在NORMAL状态下,格式正确且格式错误的数据包永远不会被丢弃。在RANDOM DROP状态下,格式良好的数据包会随机丢弃。如果配置主动模式,则所有格式错误的数据包都会被丢弃,否则,我们会将它们视为格式良好的数据包。在FULL DROP状态下,所有格式正确且格式错误的数据包都会被丢弃。这些最小(默认73)和最大(默认74)值从机箱上最小保持队列派生,但可以使用全局命令ip spd queue min-threshold和ip spd queue max-threshold覆盖。