目录

简介

背景信息

问题：在接口上刷新丢弃

简介

本文档介绍在路由器上执行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 状态根据常规数据包队列的长度丢弃不符合要求的数据包。一般数据包队列可以处于三种状态，因此低优先级数据包的服务方式可能不同：

- 正常:队列大小 <= 最小值

- RANDOM DROP：最小值 <= 队列大小 <= 最大值

- FULL DROP：最大值 <= 队列大小

在NORMAL状态下，格式正确且格式错误的数据包永远不会被丢弃。在RANDOM DROP状态下，格式良好的数据包会随机丢弃。如果配置主动模式，则所有格式错误的数据包都会被丢弃，否则，我们会将它们视为格式良好的数据包。在FULL DROP状态下，所有格式正确且格式错误的数据包都会被丢弃。这些最小（默认73）和最大（默认74）值从机箱上最小保持队列派生，但可以使用全局命令ip spd queue min-threshold和ip spd queue max-threshold覆盖。