목차

소개

배경 정보

문제/장애:인터페이스에서 삭제 플러시

소개

이 문서에서는 라우터에서 show interfaces 명령 출력을 가져올 때 인터페이스에서 플러시를 트러블슈팅하는 방법에 대해 설명합니다.

배경 정보

플러시는 SPD(Selective Packet Discard)를 계산하는 데 사용됩니다. 높은 우선순위 패킷에 대한 일부 처리 용량을 저장하기 위해 CPU가 오버로드될 때 우선 순위가 낮은 패킷을 신속하게 삭제하는 메커니즘입니다.show interface 명령의 플러쉬 카운터는 SPD(selective packet discard)의 일부로 증가하며, 이는 라우터의 IP 프로세스 큐에 선택적 패킷 삭제 정책을 구현합니다.따라서 유일한 프로세스 스위치드 트래픽에 적용됩니다.

SPD의 목적은 라우팅 업데이트 및 keepalive와 같은 중요한 제어 패킷이 IP 입력 대기열이 꽉 차더라도 삭제되지 않도록 하는 것입니다.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

이러한 플러시는 링크에 혼잡이 없는 경우에도 확인할 수 있습니다.보류 대기열의 증가도 이러한 경우 문제를 해결하지 못할 수 있습니다.Flush는 우선 순위 트래픽이 낮은 트래픽을 우선 순위 트래픽보다 먼저 삭제하므로 실제로 좋은 경우가 있습니다.인터페이스에 일시적인 플러시가 표시되는 경우 이 스크립트를 사용하여 인터페이스의 버퍼에 걸린 트래픽에 대한 정보를 얻을 수 있습니다.여기서 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 packet 명령은 때때로 출력을 한 번에 제공하지 않으므로 명령을 두 번 실행해야 할 수 있습니다.

RP의 프로세스 대기열은 두 부분으로 나누어집니다.일반 패킷 큐 및 우선 순위 대기열입니다.일반 패킷 큐에 있는 패킷은 SPD 상태 검사를 받으며, 우선 순위 대기열에 있는 패킷은 그렇지 않습니다.우선 순위 패킷 큐에 적합한 패킷은 IP 우선 순위 6 또는 IGP 패킷과 같은 우선 순위가 높은 패킷이며 절대 삭제되지 않습니다.그러나 비한정자는 SPD 상태에 따라 일반 패킷 대기열의 길이에 따라 여기에서 삭제할 수 있습니다.일반 패킷 큐는 세 가지 상태이며 낮은 우선 순위 패킷은 다르게 서비스될 수 있습니다.

- 일반:큐 크기 <= 분

- 임의 삭제:최소 <= 큐 크기 <= 최대

- 전체 삭제:최대 <= 큐 크기

NORMAL 상태에서는 형식이 올바르고 형식이 잘못된 패킷은 삭제되지 않습니다.RANDOM DROP 상태에서는 잘 구성된 패킷이 임의로 삭제됩니다.적극적인 모드가 구성된 경우 형식이 잘못된 모든 패킷이 삭제됩니다. 그렇지 않으면 올바른 형식의 패킷으로 처리합니다.FULL DROP 상태에서는 모든 형식이 올바르고 형식이 잘못된 패킷이 삭제됩니다.이러한 최소(기본값 73) 및 최대(기본값 74) 값은 섀시의 가장 작은 보류 대기열에서 파생되지만 전역 명령 ip spd queue min-threshold 및 ip spd queue max-threshold로 재정의할 수 있습니다.