内容

概要

背景説明

問題：インターフェイスでのフラッシュ廃棄

概要

このドキュメントでは、show interfacesコマンドの出力がルータで行われる場合の、インターフェイスのフラッシュのトラブルシューティング方法について説明します。

背景説明

フラッシュは、選択的パケット廃棄(SPD)のカウントに使用されます。これは、高優先度パケットの処理能力を節約するために、CPUが過負荷の場合に低優先度パケットを迅速に廃棄するメカニズムです。show interface コマンド出力では、Selective Packet Discard（SPD）の一環で flushes カウンタが増加しており、その場合、ルータの IP プロセス キューで選択的パケット廃棄ポリシーが実行されています。したがって、これはプロセス交換トラフィックだけに適用されます。

SPD の目的は、IP 入力キューがいっぱいになったときにもルーティング更新やキープアライブなどの重要な制御パケットが廃棄されないことを保証することです。IP 入力キューのサイズが最小しきい値と最大しきい値の間に収まっている場合、通常の IP パケットは特定の廃棄確率に基づいて廃棄されます。このランダムな廃棄は SPD フラッシュと呼ばれます。

問題：インターフェイスでのフラッシュ廃棄

フラッシュ廃棄により、リンクの到達不能、速度低下、品質低下の問題が発生する可能性があります。flushesカウンタは、ルータ上のこのコマンドで確認できます。

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

これらのフラッシュは、リンクに輻輳がない場合にも発生します。保留キューの増分によっても、このような場合に問題が解決しない場合があります。フラッシュは、優先順位の低いトラフィックを優先順位の高いトラフィックよりもドロップするため、実際には良好な場合があります。インターフェイスで断続的なフラッシュが発生する場合は、このスクリプトを使用して、インターフェイスのバッファでスタックしているトラフィックに関する情報を取得できます。この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 packetの出力には、キュー内にあるトラフィック情報が表示されます。

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のプロセスキューは、次の2つの部分に分けられます。一般的なパケットキューとプライオリティキュー。一般パケット キューに入れられたパケットは SPD 状態チェックを受け、プライオリティ キューに入れられたパケットはこのチェックを受けません。プライオリティパケットキューに該当するパケットは、IP precedence 6やIGPパケットなどの高優先度パケットであり、廃棄されることはありません。しかし、プライオリティ パケット キューに入る資格のないパケットは、SPD 状態によっては、一般パケット キューの長さに応じてここで廃棄できます。一般的なパケットキューは3つの状態に設定できます。したがって、低優先度パケットの処理は異なる場合があります。

- NORMAL：キューサイズ<=分

- RANDOM DROP：最小<=キューサイズ<=最大

- FULL DROP:最大<=キューサイズ

NORMAL状態では、整形式および不正なパケットは廃棄されません。RANDOM DROP状態では、整形式のパケットはランダムに廃棄されます。アグレッシブモードが設定されている場合は、すべての不正なパケットが廃棄されます。それ以外の場合は、整形式のパケットと同様に扱います。FULL DROP状態では、整形式および不正なパケットがすべて廃棄されます。これらの最小値（デフォルト73）と最大（デフォルト74）は、シャーシの最小の待機キューから導出されますが、グローバルコマンドip spd queue min-thresholdおよびip spd queue max-thresholdで上書きできます。