サービス品質(QoS) : QoS 輻輳回避

show policy-map interface 出力内のパケット カウンタについて

2004 年 9 月 22 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2008 年 2 月 15 日) | フィードバック

概要
前提条件
      要件
      使用するコンポーネント
      表記法
輻輳とは
「パケット」と「一致したパケット」の違い
カンバセーション番号の割り当て方法
サービス ポリシーの確認
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

この文書では、show policy-map interface コマンドの出力の解釈方法について説明します。このコマンドの出力は、Cisco modular Quality of Service(QoS)Command Line Interface(CLI; コマンドライン インターフェイス)(MQC)で作成されたサービス ポリシーの結果を監視する場合に利用できます。

前提条件

要件

この文書に関する特別な要件はありません。

使用するコンポーネント

この文書は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

この文書で紹介する情報は、特定のラボ環境にあるデバイスを使用して作成されました。この文書内で使用されているデバイスはすべて、クリアな状態(デフォルト)から設定作業を始めています。実稼動中のネットワークで作業する場合は、コマンドの実行によって生じる影響について、事前に理解しておいてください。

注: Cisco IOS(R) ソフトウェア リリース 12.1T では、この文書にリストされているコマンドの出力内のパケットには、特定のクラスに一致するパケットがすべて含まれています。ただし、Cisco IOS ソフトウェア リリース 12.1 では、輻輳中にキューイングされたパケットだけがカウントされ、これらのコマンドの出力に表示されます。

表記法

文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

輻輳とは

show policy-map interface コマンドの解釈方法を理解するためには、まず輻輳の概念を理解する必要があります。

概念的には、輻輳の定義は、Cisco IOS ソフトウェア設定ガイドによると「発信インターフェイスにおける送信輻輳中、インターフェイスが送信可能な速度より速くパケットが到達すること」です。

つまり、輻輳は通常、高速な入力側インターフェイスが相対的に低速な出力側インターフェイスに供給する場合に発生します。一般的な輻輳ポイントは、LAN に面したイーサネット ポートおよび WAN に面したシリアル ポートを持つブランチオフィス ルータです。LAN セグメントのユーザが 10 Mbps のトラフィックを生成すると、それが 1.5 Mbps の帯域幅を持つ T1 に入力されます。

機能的には、輻輳の定義は、インターフェイス上で送信リングをいっぱいにすることです。A リングとは、特殊なバッファ制御構造のことです。それぞれのインターフェイスは、1 対のリング、つまりパケット受信用の受信リングとパケット送信用の送信リングをサポートしています。リングのサイズは、インターフェイス コントローラやインターフェイスまたは Virtual Circuit(VC; 仮想回線)の帯域幅によって異なります。たとえば、show atm vc {vcd} コマンドを使用して、PA-A3 ATM ポート アダプタ上の送信リングの値を表示します。詳細については、「tx-ring-limit 値の理解と調整方法」を参照してください。

7200-1# show atm vc 3 
  ATM5/0.2: VCD: 3, VPI: 2, VCI: 2 
  VBR-NRT, PeakRate: 30000, Average Rate: 20000, Burst Cells: 94 
  AAL5-LLC/SNAP, etype:0x0, Flags: 0x20, VCmode: 0x0 
  OAM frequency: 0 second(s) 
  PA TxRingLimit: 10 
  InARP frequency: 15 minutes(s) 
  Transmit priority 2 
  InPkts: 0, OutPkts: 0, InBytes: 0, OutBytes: 0 
  InPRoc: 0, OutPRoc: 0 
  InFast: 0, OutFast: 0, InAS: 0, OutAS: 0 
  InPktDrops: 0, OutPktDrops: 0 
  CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0 
  OAM cells received: 0 
  OAM cells sent: 0 
  Status: UP 

Cisco IOS(レイヤ 3(L3)プロセッサとも呼ばれる)およびインターフェイス ドライバは、パケットを物理メディアに移動する際に送信リングを使用します。これら 2 つのプロセッサは、次のように連携します。

  • インターフェイスは、インターフェイス レートまたはシェーピング レートに応じてパケットを送信します。

  • インターフェイスは、物理ワイヤへの送信を待機するパケットの格納場所であるハードウェア キューまたは送信リングを維持します。

  • ハードウェア キューまたは送信リングがいっぱいになると、インターフェイスは L3 プロセッサ システムへの明示的なバック プレッシャを提供します。インターフェイスは、送信リングがいっぱいになっているためインターフェイスの送信リングへのパケットのデキューを停止するよう L3 プロセッサに通知します。L3 プロセッサは、超過パケットを L3 キューに格納するようになります。

  • インターフェイスが送信リング上のパケットを送信してリングを空にすると、パケットを格納するために十分なバッファが再び利用可能になります。インターフェイスはバック プレッシャを解放し、L3 プロセッサはインターフェイスへの新しいパケットをデキューします。

この通信システムの最も重要な側面は、インターフェイスが送信リングがいっぱいであることを認識し、L3 プロセッサ システムからの新しいパケットの受信を制限するということです。したがって、インターフェイスが輻輳状態になった場合、廃棄の決定は、送信リングの first in, first out(FIFO; 先入れ先出し)キュー内のランダムな後入れ先廃棄決定から、L3 プロセッサによって実装される IP レベルのサービス ポリシーに基づいた差別化サービスに移行されます。

「パケット」と「一致したパケット」の違い

次に、ルータが L3 キューを使用するタイミングについて理解する必要があります。サービス ポリシーは、レイヤ 3 キューに格納されているパケットにだけ適用されるためです。

次の表に、パケットが L3 キューに入れられるタイミングを示します。ローカルに生成されたパケットは常にプロセス交換され、インターフェイス ドライバに渡される前にまず L3 キューに配送されます。ファースト スイッチングおよび Cisco Express Forwarding(CEF; Cisco エクスプレス転送)スイッチングされたパケットは、送信リングに直接配送され、送信リングがいっぱいになったときにだけ L3 キューに入れられます。

パケット タイプ

輻輳

非輻輳

ローカルに生成されたパケット(Telnet パケットおよび PING を含む)

プロセス交換された他のパケット

CEF またはファースト スイッチングされたパケット

不可

次の例では、これらのガイドラインが show policy-map interface の出力に適用された場合を示しています(4 つのキー カウンタは太字で示されています)。

7206# show policy-map interface atm 1/0.1 
   ATM1/0.1: VC 0/100 - 
    Service-policy output: cbwfq (1283) 
      Class-map: A (match-all) (1285/2) 
        28621 packets, 7098008 bytes 
        5 minute offered rate 10000 bps, drop rate 0 bps 
        Match: access-group 101 (1289) 
        Weighted Fair Queueing 
          Output Queue: Conversation 73 
          Bandwidth 500 (kbps) Max Threshold 64 (packets) 
          (pkts matched/bytes matched) 28621/7098008 
          (depth/total drops/no-buffer drops) 0/0/0 
      Class-map: B (match-all) (1301/4) 
        2058 packets, 148176 bytes 
        5 minute offered rate 0 bps, drop rate 0 bps 
        Match: access-group 103 (1305) 
        Weighted Fair Queueing 
          Output Queue: Conversation 75 
          Bandwidth 50 (kbps) Max Threshold 64 (packets) 
          (pkts matched/bytes matched) 0/0 
          (depth/total drops/no-buffer drops) 0/0/0 
      Class-map: class-default (match-any) (1309/0) 
        19 packets, 968 bytes 
        5 minute offered rate 0 bps, drop rate 0 bps 
        Match: any  (1313)

次の表に、太字で示されたカウンタを定義します。

カウンタ

説明

28621 packets, 7098008 bytes

クラスの基準に一致するパケットの数。このカウンタは、インターフェイスで輻輳が発生してしなくても増加します。

(pkts matched/bytes matched) 28621/7098008

インターフェイスが輻輳した際の、クラスの基準に一致したパケットの数。つまり、インターフェイスの送信リングがいっぱいになり、ドライバと L3 プロセッサ システムが連携して、サービス ポリシーが適用される L3 キューに超過パケットを入れました。プロセス交換されたパケットは常に L3 キューイング システムを通過するため、「一致したパケット」カウンタが増分することになります。

Class-map: B (match-all) (1301/4)

これらの番号は、CISCO-CLASS-BASED-QOS-MIB Management Information Base(MIB; 管理情報ベース)で使用される内部 ID を定義します。Cisco IOS の現在のリリースでは、これらは show policy-map の出力に表示されなくなりました。

5 minute offered rate 0 bps, drop rate 0 bps

load-interval コマンドを使用してこの値を変更して、より瞬間的な値にします。最小値は 30 秒です。ただし、show policy-map interface の出力に表示される統計情報は、10 秒おきに更新されます。コマンドは特定の瞬間におけるスナップショットを効率的に提供するため、統計情報にはキュー サイズの一時的な増大は反映されないことがあります。

輻輳がない場合、超過パケットをキューイングする必要はありません。輻輳がある場合、パケット(CEF およびファースト スイッチング パケットを含む)は L3 キューに入れられる可能性があります。Cisco IOS 設定ガイドによる輻輳の定義、「輻輳管理機能を使用する場合、インターフェイスに累積されるパケットは、インターフェイスがそれらのパケットを送信するように解放されるまでキューイングされます。その後、割り当てられた優先順位およびインターフェイスに対して設定されたキューイング メカニズムに従ってスケジュールされます。」を参照してください。

通常、「packets」カウンタは「pkts matched」カウンタよりもはるかに大きい値です。2 つのカウンタの値がほぼ等しい場合、インターフェイスは現在大量のプロセス交換されたパケットを受信しているか、または重度の輻輳が発生しています。これらの条件の両方を調査して、確実に最適なパケット転送を行う必要があります。

カンバセーション番号の割り当て方法

この項では、サービス ポリシーが適用された場合に作成されるキューに対してルータがカンバセーション番号を割り当てる方法を説明します。

Router# show policy-map interface s1/0.1 dlci 100 
   Serial1/0.1: DLCI 100 - 
   output : mypolicy 
    Class voice 
     Weighted Fair Queueing 
         Strict Priority 
         Output Queue: Conversation 72 
           Bandwidth 16 (kbps) Packets Matched 0 
          (pkts discards/bytes discards) 0/0 
    Class immediate-data 
     Weighted Fair Queueing 
         Output Queue: Conversation 73 
           Bandwidth 60 (%) Packets Matched 0 
           (pkts discards/bytes discards/tail drops) 0/0/0 
           mean queue depth: 0 
           drops: class  random   tail     min-th   max-th   mark-prob 
                  0      0        0        64       128      1/10 
                  1      0        0        71       128      1/10 
                  2      0        0        78       128      1/10 
                  3      0        0        85       128      1/10 
                  4      0        0        92       128      1/10 
                  5      0        0        99       128      1/10 
                  6      0        0        106      128      1/10 
                  7      0        0        113      128      1/10 
                  rsvp   0        0        120      128      1/10 
    Class priority-data 
     Weighted Fair Queueing 
         Output Queue: Conversation 74 
           Bandwidth 40 (%) Packets Matched 0 Max Threshold 64 (packets) 
           (pkts discards/bytes discards/tail drops) 0/0/0 
    Class class-default 
     Weighted Fair Queueing 
         Flow Based Fair Queueing 
         Maximum Number of Hashed Queues 64  Max Threshold 20 (packets)

ポリシー マップで定義済みのポリシーを持つ他のクラスの一致基準をトラフィックが満たしていない場合は、class-default クラスがそのトラフィックの宛先のデフォルト クラスになります。fair-queue コマンドを使用すると、IP フローを格納および分類するダイナミック キューの数を指定できます。また、ルータはインターフェイスまたは VC 上の帯域幅から算出したデフォルトのキュー数を割り当てます。いずれの場合も、サポートされている値は、2 の累乗(16 〜 4096 の範囲)です。

次の表に、インターフェイスおよび ATM Permanent Virtual Circuit(PVC; 相手先固定接続)のデフォルト値を示します。

インターフェイス帯域幅の関数としてのデフォルトのダイナミック キュー数

帯域幅範囲

ダイナミック キューの数

64 kbps 以下

16

64 kbps より大きく、128 kbps 以下

32

128 kbps より大きく、256 kbps 以下

64

256 kbps より大きく、512 kbps 以下

128

512 kbps より大きい

256

ATM PVC 帯域幅の関数としてのデフォルトのダイナミック キュー数

帯域幅範囲

ダイナミック キューの数

128 kbps 以下

16

128 kbps より大きく、512 kbps 以下

32

512 kbps より大きく、2000 kbps 以下

64

2000 kbps より大きく、8000 kbps 以下

128

8000 kbps より大きい

256

Weighted Fair Queuing(WFQ; 均等化キューイング)用に予約されているキューの数に基づいて、Cisco IOS は、次の表に示すように、カンバセーションまたはキュー番号を割り当てます。

カンバセーション/
キュー番号

トラフィック タイプ

1 - 256

一般的なフローベースのトラフィック キュー。ユーザが作成したクラスに一致しないトラフィックは、class-default およびフローベースのキューの 1 つに一致します。

257 - 263

Cisco Discovery Protocol(CDP)用および内部の高優先順位フラグでマークされているパケット用に予約されています。

264

プライオリティ クラス(priority コマンドで設定されたクラス)用に予約されている
キュー。show policy-map interface の出力でクラスの「Strict Priority」値を探してください。プライオリティ キューでは、ダイナミック キューの数に 8 を加算した値に等しいカンバセーション ID を使用します。

265 以上

ユーザが作成したクラスのキュー。

サービス ポリシーの確認

「pkts matched」カウンタおよびサービス ポリシーをテストする必要がある場合、これらの手順を完了してください。

  1. 大きいサイズの PING および多数の PING を使用した拡張 PING で輻輳をシミュレートします。また、File Transfer Protocol(FTP; ファイル転送プロトコル)サーバから大きいサイズのファイルをダウンロードしてみます。そのファイルは「障害となる」データであり、インターフェイス帯域幅をいっぱいにします。

  2. tx-ring-limit コマンドを使用して、インターフェイスの送信リングのサイズを小さくします。この値を小さくすると、Cisco IOS ソフトウェアでの QoS の使用が促進されます。

    interface ATMx/y.z point-to-point 
      ip address a.b.c.d M.M.M.M 
      PVC A/B 
      tx-ring-limit <size>
      service-policy output test
  3. サイズを、パケットの数(2600 および 3600 シリーズ ルータの場合)またはメモリ パーティクルの数(7200 および 7500 シリーズ ルータの場合)として指定します。

  4. トラフィック フローがポリシーの入力または出力パラメータに一致することを確認します。たとえば、FTP サーバからファイルをダウンロードすると、受信方向に輻輳が発生します。これは、サーバが大きい MTU サイズのフレームを送信し、クライアント PC が小さい acknowledgment(ACK; 確認応答)を返すためです。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 10107