内容

はじめに

要件

使用するコンポーネント

背景説明

入力ドロップ

インターフェイスでの出力廃棄

Quality of Service(QoS)が確立されない場合の出力ドロップ

Quantum Flow Processor(QFP)ドロップ

テールドロップ

パケットドロップのトラブルシューティングに関するその他のヒント

インターフェイス上のカウンタ

履歴ビット/秒CLIベースのグラフ

clear counters

時間の経過に伴うドロップの割合

読み込み間隔

QoSポリシーを一時的に削除する

関連記事およびドキュメント

はじめに

このドキュメントでは、Cisco IOS® XEルータでのインターフェイスのパケットドロップをトラブルシューティングする方法について説明します。

要件

パケットフローとCisco IOS XEに関する基礎知識

使用するコンポーネント

このドキュメントは、ISR 4000ルータやASR 1000ルータなどのCisco IOS XEルータプラットフォームに基づいています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

Cisco IOS XEルータでは、次のようなさまざまなコンポーネントでパケットドロップが発生する可能性があります。

- 共有ポートアダプタ(SPA)インターフェイス

- Quantum Flow Processor(QFP):PPE（パケットプロセッサエンジン）を保持するデータプレーンプロセッサ。

この廃棄は、インターフェイス上の入力方向または出力方向のいずれかで観察できます。QFPを分析する際、主に出力廃棄に注目します。

Cisco IOS XEデバイスのコントロールプレーンに影響するパケットドロップについては、「ガイド：ポリサーがしきい値を超えた場合のトラブルシューティング」に記載されているパントドロップを参照してください。

入力ドロップ

インターフェイスでは、入力キューでの入力廃棄が発生する可能性があります。このカウンタは、入力キューフィールドのドロップ数カウンタのセクションでコマンドshow interfacesを使用して調べることができます。

---- show interfaces  ----

GigabitEthernet0/0/0 is up, line protocol is up

Input queue: 0/375/71966/0 (size/max/drops/flushes); Total output drops: 47009277

インターフェイスの入力廃棄カウンタは、show interface summaryコマンドのIQD 列にも表示されます。この列は入力キューから廃棄されたパケットを表しています。

---- show interface summary  ----

Interface                   IHQ       IQD       OHQ       OQD      RXBS      RXPS      TXBS      TXPS      TRTL

-----------------------------------------------------------------------------------------------------------------

* Te0/0/0                       0         0         0         0  29544000      2830   1957000      1446         0

* Te0/0/1                       0         0         0         0  23476000      2555  16655000      3346         0

* GigabitEthernet0/0/0          0     71966         0  47019440  18852000      5321  59947000      6064         0

通常、インターフェイスでの入力廃棄は、入力キューがいっぱいになり、時間内に処理できない場合に発生します。その結果、使用されているキューイングアルゴリズムに基づいてパケットを選択的に廃棄できます。

入力ドロップの考えられる原因には次のものがあります。

- 送信側デバイスが受信側デバイスの処理能力を超えるレートでパケットを送信しているため、入力キューが使い果たされています

- トラフィックパターンのバーストまたはマイクロバースト

- プラットフォームの制限

インターフェイスレベルでhold-queue コマンドを使用し、入力キューサイズを増やしてみてください。

Router(config-if)#hold-queue ?

<0-240000>  Queue length

注：一部のプラットフォームでは、hold-queueコマンドを有効にできません。プラットフォームの仕様を確認するか、TACにケースを提出します。

注：フロー制御メカニズムを使用して、受信側デバイスから送信側デバイスにポーズフレームを送信することもできます。フロー制御の詳細については、各プラットフォームの『インターフェイスおよびハードウェアコンポーネント設定ガイド』を参照してください。

インターフェイスでの出力廃棄

インターフェイスでの出力廃棄は出力キューで発生し、show interfacesコマンドで確認できます。

---- show int gi 1/0/46  ----

GigabitEthernet1/0/46 is up, line protocol is up (connected)

Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 154786

Total Output Dropsカウンタは、該当するインターフェイスの出力キューの飽和状態を示します。この状態は、輻輳を管理するためにパケットを選択的に廃棄できるQuality of Service(QoS)などのメカニズムによって悪化する可能性があります。

QoSによってトラフィックの優先順位が変更されるので、トラブルシューティングのもう1つの手順は、コマンドservice-policyの出力を使用して、出力方向で設定されたポリシーマップを介して、インターフェイスがデフォルト以外のキューイング方式を使用しているかどうかを確認することです。

interface GigabitEthernet0/1

service-policy output PRIORITIZE-VOICE

出力廃棄が、実装されているサービス品質(QoS)メカニズムによって発生したものであるかどうかを確認するには、show policy-map interface <interface-name> outコマンドを使用します。次に例を示します。

---- show policy-map interface gi0/0/0 output  ----

GigabitEthernet0/0/0

Service-policy output: PRIORITIZE-VOICE

queue stats for all priority classes:

Queueing

queue limit 512 packets

(queue depth/total drops/no-buffer drops) 0/0/0

(pkts output/bytes output) 0/0

Class-map: VOICE (match-any)

0 packets, 0 bytes

5 minute offered rate 0000 bps, drop rate 0000 bps

Match:  dscp ef (46)

Priority: Strict, b/w exceed drops: 0

Class-map: class-default (match-any)

0 packets, 0 bytes

5 minute offered rate 0000 bps, drop rate 0000 bps

Match: any

queue limit 4166 packets

(queue depth/total drops/no-buffer drops) 0/0/0

(pkts output/bytes output) 0/0

Router#

このコマンドは、設定されたクラス間のQuality of Service(QoS)メカニズムによる廃棄を表示します。

注：インターフェイスでの出力廃棄が、ポリシーマップで確認される廃棄と相関する場合、廃棄は一般に、設定されているQuality of Service(QoS)によって予測されます。必要に応じてTACに連絡し、使用するQoSメカニズムを詳しく調べ、この機能に対応するガイドを参照してください。

QoSの動作と実装方法の詳細については、『Quality of Service(QoS)設定ガイド、Cisco IOS XE 17.x』を参照してください。

キューイング方式を表示するには、show interfacesコマンドを使用してキューイング方式の値を確認します。デフォルトでは、発信パケットの処理方式は先入れ先出し(FIFO)です。

---- show interfaces gigabitEthernet 0/0/0  ----

Queueing strategy: Class-based queueing

Quality of Service(QoS)が確立されない場合の出力ドロップ

インターフェイスのquality of service(QoS)の出力方向にポリシーマップが関連付けられていない場合、他の原因によって出力ドロップが発生する可能性があります。

Quality of Service(QoS)が設定されていないインターフェイスで出力廃棄が発生する理由には、次のようなものがあります。

- ポートチャネルを形成し、1つの出力インターフェイスでオーバーサブスクライブしている着信インターフェイス

- Quantum Flow Processor(QFP)バックプレッシャ

- ライセンススループットの制限

- プラットフォームの制限

この状態をさらにトラブルシューティングするには、このドキュメントの「Quantum Flow Processor(QFP)ドロップ」セクションを参照してください。

Quantum Flow Processor(QFP)ドロップ

QFPドロップの理由を検証するには、以下に示すように、show platform hardware qfp active statistics drop コマンドを使用します。

---- show platform hardware qfp active statistics drop  ----

Last clearing of QFP drops statistics : never

-------------------------------------------------------------------------

Global Drop Stats                         Packets                  Octets

-------------------------------------------------------------------------

BFDoffload                               23944858              1904416850

IpTtlExceeded                              184211                28644972

IpsecIkeIndicate                              175                   26744

IpsecInput                                 686112               171458640

IpsecInvalidSa                                  1                      80

Ipv4Martian                                     4                     392

Ipv4NoAdj                                   19776                 6587643

Ipv4NoRoute                                    75                   10950

Ipv6NoRoute                                 27068                 1515808

ReassDrop                                 3489529               450382594

ReassNoFragInfo                           4561070              6387610348

ReassOverlap                                    3                     198

ReassTimeout                              7408271              2631950860

TailDrop                                193769387            157113756882

このコマンドは、QFPドロップのさまざまな原因と、各カテゴリの関連するパケットカウンタを示します。

注：ほとんどのQFPドロップカテゴリの理由は、その名前で説明がつきます。reasonカテゴリは、トラブルシューティングフローを示します。一般的ではないパケットドロップカテゴリの場合は、必要に応じてCisco TACにケースを提出してください。

テールドロップ

最も頻繁に見られるドロップタイプの1つにTailDropカウンタがあります。このカウンタは通常、次の理由で増加します。

- ライセンススループット制限。

- QoSドロップ

生成されたログの種類：

%BW_LICENSE-4-THROUGHPUT_MAX_LEVEL: F0/0: cpp_ha_top_level_server：最後の<period>時間の<sampling-number>サンプリング期間中に、平均スループットレートがライセンスされた帯域幅<mbps> Mbpsに近づきました。サンプリング期間は<sampling-period>秒です

確認コマンド:

- show platform hardware qfp active infrastructure bqs queue output default interface <インターフェイス>

- show plat hardware qfp active infrastructure bqs queue output default all

- show platform hardware qfp active feature lic-bw oversubscription

- show platform hardware throughput level（プラットフォームのハードウェアスループットレベル）

- show platform hardware throughput crypto（プラットフォームのハードウェアのスループットを表示）

- 過度使用（プラットフォームの制限）

影響を受けるトラフィックがドロップされているかどうか、およびQFPによる詳細なパケット処理のビュー（パケットトレース機能）を理解するには、パケットトレース機能を使用します。「Cisco IOS XEデータパスパケットトレース機能のトラブルシューティング」を参照してください。

生成されたログの種類：

%IOSXE_QFP-2-LOAD_EXCEED: Slot: 0, QFP:0, Load <load-percentage>%が設定しきい値を超えています。

注：プラットフォーム制限のスループット数とデータシートのスケーリングを参照してください。スループットは、デバイスの設定に含まれる機能の数と用途によって異なります。また、QFPに挿入される集約ビット/秒(bps)によっても異なります。

コマンドshow platform hardware qfp active datapath utilization summaryを使用すると、直前の5秒、1分、5分、または60分でQFP使用率を確認できます。

---- show platform hardware qfp active datapath utilization summary  ----

CPP 0:                     5 secs        1 min        5 min       60 min

Input:     Total (pps)            1            2            2            2

(bps)          320         1032         1032         1032

Output:    Total (pps)            0            1            1            1

(bps)            0         8560         8560         8576

Processing: Load (pct)            0            0            0            0

Crypto/IO

Crypto: Load (pct)            0            0            0            0

RX: Load (pct)            0            0            0            0

TX: Load (pct)            2            2            2            2

Idle (pct)           97           97           97           97

QFPでの追加のドロップ検証については、show drops { bqs | crypto| firewall| interface| ip-all| nat| punt| qfp| qos|history}コマンドを使用します。詳細については、『Cisco Catalyst 8500 and 8500Lシリーズエッジプラットフォームソフトウェアコンフィギュレーションガイド』を参照してください。

パケットドロップのトラブルシューティングに関するその他のヒント

インターフェイス上のカウンタ

show interfaces [interface]コマンドを介したさまざまなカウンタが表示されます。各カウンタの意味については、『イーサネットのトラブルシューティング』のドキュメントで説明されています。

履歴ビット/秒CLIベースのグラフ

インターフェイスレベルでhistory bpsコマンドを使用すると、インターフェイスからの着信方向と発信方向のCLI内で1秒あたりの履歴ビットのグラフビューを有効にできます。この設定により、インターフェイス上のbpsの履歴のグラフが生成されます。

Router(config)#interface gigabitEthernet 0/0/0

Router(config-if)#history bps

history bps output-dropsや他のカウンタの履歴を有効にすることもできます。

時間の経過に伴う履歴カウンタの結果を表示するには、show interfaces <interface> history コマンドを使用します。

---- show interfaces gigabitEthernet 0/0/0 history ?  ----

60min   Display 60 minute histograms only

60sec   Display 60 second histograms only

72hour  Display 72 hour histograms only

all     Display all three histogram intervals

both    Display both input and output histograms

input   Display input histograms only

output  Display output histograms only

|       Output modifiers

#show int gi1 history 60sec

90100                                                          *

82100                                                          *

74100                                                     ******

66100                                                ***********

58100                                                ***********

50100                                           ****************

42100                                      *********************

34100                            *******************************

26100                       ************************************

18100        ***************************************************

10100 **********************************************************

0....5....1....1....2....2....3....3....4....4....5....5....6

0    5    0    5    0    5    0    5    0    5    0

GigabitEthernet1 output rate(mbits/sec) (last 60 seconds)

clear counters

次のコマンドは、さまざまなカウンタ統計情報をクリアするために使用されます。

- clear counters：インターフェイスレベルのカウンタデータをクリアします。

- show platform hardware qfp active statistics drop clear:QFP(Quantum Flow Processor)の廃棄カウンタをリセットします。

時間の経過に伴うドロップの割合

インターフェイスレベルでhistory bps output-dropsコマンドを使用して経時的なドロップを理解する以外に、出力ドロップ数が影響を与えるかどうかを確認するには、他のカウンタ値を使用して最後にカウンタがクリアされてからの出力ドロップの全体的な割合を取得します。

最後のブート以降もカウンタがクリアされていない場合は、show versionコマンドを使用してシステムの稼働時間を取得するか、show interfacesコマンドを使用してshow interface countersの最後のクリアの値を参照します。

カウンタが最後にクリアされた時点、またはデバイスの稼働時間を特定した後に、その期間中に発生した出力廃棄の割合を計算します。

これは、出力ドロップの合計値に100を掛けてから、show interfaces <interface>コマンドからのパケット出力カウンタ値を結果を除算することで実行できます。この操作の結果から、その時間枠におけるそのインターフェイスの出力廃棄の割合がわかります。

注：show interfacesおよびshow platform hardware qfp active statistics dropのカウンタは履歴であり、最後にクリアされてからの累積であることに注意してください。カウンタは、リロードが実行されるとクリアされます。

次の出力例を参照してください。

---- show version  ----

Hostname uptime is 51 weeks, 1 day, 14 hours, 17 minutes

---- show interface GigabitEthernet0/0/1  ----

GigabitEthernet0/0/1 is up, line protocol is up

Last clearing of "show interface" counters never

Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 1351

219128599 packets output, 84085726336 bytes, 0 underruns

この出力例は、インターフェイスのカウンタが一度もクリアされなかったことを示しています。つまり、デバイスの稼働時間の最後の51週間の合計出力廃棄の割合は、( 1351 x 100 ) / 219128599 = .0006%です。

この割合を解釈すると、このインターフェイスでの合計出力ドロップ数は有意ではなく、このカウンタは履歴および累積カウンタで、長時間のアップタイムを考慮すると、ドロップ数は影響を与えないことがわかります。

読み込み間隔

負荷間隔はインターフェイスレベルの設定パラメータで、負荷統計の計算に使用されるデータの時間の長さを示します。

Router#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#interface gigabitEthernet 0/0/0

Router(config-if)#load-interval ?

<30-600>  Load interval delay in seconds

load-intervalパラメータの結果は、入力および出力レート値の下のコマンドshow interfacesに反映されます。

---- show interfaces gigabitEthernet 0/0/0  ----

GigabitEthernet0/0/0 is administratively down, line protocol is down

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 0 bits/sec, 0 packets/sec

これは、show interfacesコマンドを実行する際の1秒あたりのビット数を確認する際に重要になります。

入力レートと出力レートの値は、インターフェイスで入出力される1秒あたりのビット数を理解するのに役立ちます。

すべてのインターフェイスでの入力および出力レート値の大まかな概要を確認するには、show interface summaryコマンドを使用し、物理インターフェイスから集約された出力レートを取得します。これは、特定の時点での1秒当たりの合計集約ビット数を理解するのに役立ちます。  次の出力例のRXBSカウンタとTXBSカウンタを参照してください。

---- show interfaces summary  ----

*: interface is up

IHQ: pkts in input hold queue     IQD: pkts dropped from input queue

OHQ: pkts in output hold queue    OQD: pkts dropped from output queue

RXBS: rx rate (bits/sec)          RXPS: rx rate (pkts/sec)

TXBS: tx rate (bits/sec)          TXPS: tx rate (pkts/sec)

TRTL: throttle count

Interface                   IHQ       IQD       OHQ       OQD      RXBS      RXPS      TXBS      TXPS      TRTL

-----------------------------------------------------------------------------------------------------------------

* GigabitEthernet0/0/0          1         0         0         0      9000        19         0         0         0

GigabitEthernet0/0/1          0         0         0         0         0         0         0         0         0

GigabitEthernet0/0/2          0         0         0         0         0         0         0         0         0

* GigabitEthernet0/0/3          0         0         0         0      9000        19         0         0         0

QoSポリシーを一時的に削除する

トラブルシューティングを行うには、影響を受けるインターフェイスからQoSポリシーを一時的に削除します。インターフェイス設定レベルで、コマンドno service-policy output <policy-name>を使用します。

- QoSポリシーを適用せずにドロップが続く場合、問題はQoSとは無関係です。

- QoSポリシーを削除した後にドロップが停止する場合は、ポリシーが原因である可能性があります。

注:TACのサポートが必要な場合は、ドロップがサービス品質に起因するものかどうかを判断する分離が重要です。この分離は初期段階で適切なエキスパートにケースを転送します。

注：ドロップはIPSec機能が原因である可能性もあります。Ipsecドロップは一般に、トンネル送信元として使用される物理インターフェイスに集約されます。トンネルの使用時にのみドロップが発生する場合は、サポートが必要かどうかをTACに知らせることが重要です。これにより、初期段階で対応するチームにケースをルーティングできます

関連記事およびドキュメント

- ASR 1000シリーズサービスルータでのパケットドロップのトラブルシューティング