このドキュメントでは、IP-ATM 間サービス クラス(CoS)をサポートする ATM ルータ インターフェイスで VC 単位のキューイング機能がイネーブルになっている場合に、ルータがキュー サイズの制限を計算する方法について説明します。 Cisco のモジュラ Quality of Service(QoS)CLI(MQC と呼ばれる)は、論理インターフェイスに適用するサービス ポリシーを設定するために使用します。これはメイン インターフェイス、サブインターフェイス、または仮想回線である必要があります。これらのサービス ポリシーは、ポリシングとシェーピングからマーキングとキューイングに一部の QoS アクションを実装します。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
このドキュメントに関しては個別の前提条件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このマニュアルの情報は、特定のラボ環境に置かれたデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。実稼動中のネットワークで作業をしている場合、実際にコマンドを使用する前に、その潜在的な影響について理解しておく必要があります。
VC単位のキューイング機能を有効にしたCiscoルータインターフェイスは、VCの輻輳レベルに応じて、次の2つのキューセットのいずれかにATM VCのパケットを保存します。
キュー | 場所 | キューイング方式 | サービス ポリシーの適用 | 調整用コマンド |
---|---|---|---|---|
ハードウェア キューまたは送信リング | ポート アダプタまたはネットワーク モジュール | FIFO のみ | No | tx-ring-limit |
レイヤ3キュー | レイヤ 3 プロセッサ システムまたはインターフェイス バッファ | なし | Yes | キューイング方式によって異なる。-vc-hold-limit - queue-limit |
輻輳は、送信リング(tx-ring-limit)を満たすものとして定義されます。 「tx-ring-limit値の理解と調整」を参照してください。
サービスポリシーはレイヤ3キューに格納されたパケットだけに適用されるため、ルータがレイヤ3キューを使用するタイミングを理解することが重要です。ATMポートアダプタまたはネットワークモジュールとレイヤ3プロセッサシステムは、次のように連携します。
ATMインターフェイスは、ATMシェーピングレートに従って、各ATM相手先固定接続(PVC)上のセルを送信します。
ATMインターフェイスはVC単位のハードウェアキューまたは送信リングを維持し、そこでVCへの送信を待機しているパケットを格納します。
ハードウェアキューまたは送信リングがいっぱいになると、ATMインターフェイスはレイヤ3プロセッサシステムに明示的なバックプレッシャを提供します。VC単位のバックプレッシャは、単一のATM PVCによるバッファの不必要な過剰な消費を防止します。レイヤ3プロセッサに、VC単位のキューが特定の占有レベルに達したため、特定のVCからATMインターフェイスの送信リングに向かうパケットのデキューを停止するように通知します。レイヤ3プロセッサは、超過パケットをレイヤ3キューに格納するようになりました。この間、レイヤ3プロセッサは、他の非輻輳PVC宛てのパケットの転送を継続します。
ATMインターフェイスが送信リング上でパケットを送信し、リングを空にすると、パケットを保存するのに十分なバッファが再び確保されます。バックプレッシャが解放され、レイヤ3プロセッサが新しいパケットをATMインターフェイスにデキューします。
ATMインターフェイスにバッファリングされたすべてのPVCのパケットの総数が、使用可能なバッファリングスペースの合計と比較して一定のレベルに達すると、ATMインターフェイスは全VC集約レベルでバックプレッシャを提供します。このバックプレッシャーは、レイヤ3プロセッサに対して、ATMインターフェイスへのパケットの送信を停止するように通知します。
重要な点として、この通信システムでは、ATMインターフェイスが特定のVCに対して送信リングがいっぱいであることを認識し、レイヤ3プロセッサシステムからの新しいパケットの受信を抑制します。したがって、VCが輻輳している場合、廃棄の決定は、レイヤ3プロセッサによって実装されたIPレベルのサービスポリシーに基づいて、送信リングの先入れ先出し(FIFO)キューのランダムな、先入れ/先落ち決定から差別化された決定にされます。
レイヤ3キューには常にキュー制限があります。この値は、キュー内のパケット数を定義します。このキューがいっぱいになると、ルータはドロップポリシーを開始します。このポリシーは、テールドロップまたは重み付けランダム早期検出(WRED)です。 つまり、キュー制限は、廃棄が発生し始める前にレイヤ3キューに格納できるパケットの数を定義します。
ルータは自動的にデフォルトのキュー制限値を割り当てます。計算値は、キューイング方式とプラットフォームによって異なります。重要なのは、キューの制限は、キューイングによる遅延の発生を回避するのに十分な小ささを持つ必要があるのに対し、ドロップとTCPベースのフローへの影響を回避するのに十分な大きさである必要があります。
Cisco 7500シリーズやFlexWANなどの分散プラットフォームでは、デフォルト値はシステムのインターフェイス数によって異なります。したがって、インターフェイスが2つしかないシステム内のクラスは、数百のサブインターフェイスとVCがあるシステムよりも多くのバッファを受信する可能性があります。ルータは、各クラスに最小の値を与えて、回線レートでインターフェイスに供給できる十分なバッファを確保します。キュー制限は、インターフェイスのクレジット制限を表します。つまり、ルータは、インターフェイス、PVC、およびクラスの帯域幅に比例して、これらのインターフェイス、PVC、およびクラス間でバッファを割り当てます。デフォルトでは、キュー制限値は使用可能なバッファをオーバーサブスクライブしません。
次の項では、キュー制限について詳しく説明します。
非分散プラットフォームのATM VCでは、Cisco IOS®ソフトウェアリリースをサポートしている場合、VC単位のキューイングとレイヤ3キューがデフォルトで有効になっています。FIFOは、特定のキューイングメカニズムが設定されていない場合に、レイヤ3キューに適用されるデフォルトのキューイング方式です。ATMインターフェイスのデフォルトキューイングアルゴリズムもFIFOであるため、レイヤ3キューはデフォルトでFIFOを使用します。元々、これらのキューは40のキュー制限のみをサポートしていました。これは次の出力で確認できます。
router#show queueing interface atm 2/0.10 Interface ATM2/0.10 VC 10/32 Queueing strategy: FIFO Output queue 0/40, 244 drops per VC
Cisco IOSソフトウェアリリース12.1(5)T以降では、vc-hold-queueコマンドを使用して、VC単位のFIFOキューのサイズを5 ~ 1024の値に調整できます。
queue-limitコマンドは、bandwidthコマンドを使用してクラスベースの重み付け均等化キューイング(CBWFQ)を設定したクラスにのみ適用されます。queue-limitコマンドは、廃棄が発生し始める前にレイヤ3キューが格納するパケットの数を定義します。つまり、これはレイヤ3キューの深さです。
デフォルトのキュー制限の値は、プラットフォームによって異なります。
Cisco 2600、3600、7200シリーズルータおよびMC3810:デフォルト値は64です。次の出力例は、2600シリーズのATMネットワークモジュールでキャプチャしたものです。
router#show queueing interface atm 2/0.10 Interface ATM2/0.10 VC 10/32 Queueing strategy: weighted fair Total output drops per VC: 1539 Output queue: 0/512/64/1539 (size/max total/threshold/drops) Conversations 0/37/128 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated)
Cisco 7500シリーズおよびFlexWAN:デフォルト値は、各クラスに親バッファの比例配分を与えることによって計算されます。比率は、親の帯域幅と比較して、クラスに割り当てられた帯域幅に基づきます。具体的には、キュー制限は、平均パケットサイズが250バイトの最大遅延500ミリ秒によって決定されます。たとえば、1 MBの帯域幅を持つクラスには、キュー制限1000000 / (250 x 8 x 2) = 250が与えられます。重要なのは、次の条件にも基づいています。
使用可能なSRAMまたはパケットメモリの量。
使用可能なSRAMをインターフェイス間で分割する必要があるため、インターフェイスの量。
interface ATM9/1/0.100 point-to-point ip address 1.1.1.1 255.255.255.0 pvc 1/100 ubr 1000 service-policy out pmap flexwan#show policy-map interface atm 9/1/0.100 ATM9/1/0.100: VC 1/100 service-policy output: pmap queue stats for all priority classes: queue size 0, queue limit 75 packets output 0, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0 class-map: e1 (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: ip dscp 10 Priority: kbps 300, burst bytes 7500, b/w exceed drops: 0 class-map: e2 (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: ip dscp 20 queue size 0, queue limit 75 packets output 0, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0 bandwidth: kbps 300, weight 42 class-map: class-default (match-any) 0 packets, 0 bytes 5 minute offered rate 0 bps, drop rate 0 bps match: any 0 packets, 0 bytes 5 minute rate 0 bps queue size 0, queue limit 33 packets output 2, packet drops 0 tail/random drops 0, no buffer drops 0, other drops 0
注:Versatile Interface Processor(VIP)とFlexWANは、デフォルトのキュー制限値を選択し、最初のパケットカウント統計セットとともにメインプロセッサ(7500シリーズのルートスイッチプロセッサ(RSP)など)に送信します。したがって、ATM VCがトラフィックを伝送するまで、show policy-map interfaceの出力に誤った値が表示される場合があります。
Low Latency Queueing(LLQ;低遅延キューイング)は、priorityコマンドで設定する最小帯域幅と最大帯域幅の両方を保証します。LLQは、ルーティングパケットやその他のデータなどの非優先トラフィックが不足しないように、輻輳時に割り当てられた帯域幅に優先トラフィックを制限するデバイスを実装します。ポリシングはパケットの廃棄に使用され、キュー制限は課されていないため、queue-limitコマンドはpriorityコマンドでは使用できません。
WREDは、レイヤ3キューのパケットに対するオプションの廃棄ポリシーとして設定できます。CBWFQや低遅延キューイング(LLQ)などのWREDと高度なキューイングメカニズムの両方を設定できます。
VIPおよびFlexWANでは、デフォルトのWREDパラメータはデフォルトのキュー制限から直接取得されます。具体的には、max-threshold値はデフォルトのqueue-limitの半分に設定され、min-threshold値は比例して縮小されます。
さらに、デフォルトのWREDしきい値には、VCに関連付けられたATMシェーピングパラメータが考慮されます。高いレートで現れる大きなバーストに対応するために、VCシェーピングレートが高いほど、デフォルトの最小しきい値と最大しきい値が大きくなります。たとえば、10 kbps ATMでは、特定のルータのVCに適用されるデフォルトのWREDパラメータを次に示します。
nf-7505-1# show running-config interface ATM1/1/0.47 point-to-point atm pvc 47 0 47 aal5snap 10 10 1 random-detect wredgroup1 nf-7505-1# show queueing red VC 0/47 - random-detect group default: exponential weight 9 precedence min-threshold max-threshold mark-probability --------------------------------------------------------------- 0: 20 40 1/10 1: 22 40 1/10 2: 24 40 1/10 3: 26 40 1/10 4: 28 40 1/10 5: 30 40 1/10 6: 32 40 1/10 7: 34 40 1/10
これに対して、同じルータがVCに適用するデフォルトのWREDパラメータは、平均セルレート(SCR)が9 Mbps、ピークセルレート(PCR)が10 Mbpsです。
nf-7505-1#show running-config interface ATM1/1/0.49 point-to-point atm pvc 49 0 49 aal5snap 10000 9000 100 random-detect wredgroup3 nf-7505-1#show queueing red VC 0/49 - random-detect group default: exponential weight 9 precedence min-threshold max-threshold mark-probablity --------------------------------------------------------------- 0: 72 144 1/10 1: 81 144 1/10 2: 90 144 1/10 3: 99 144 1/10 4: 108 144 1/10 5: 117 144 1/10 6: 126 144 1/10 7: 135 144 1/10
queue-limitは、レイヤ3キューが任意の時点で保存できるパケットの最大数を定義します。max-thresholdは、キューの最大平均の深さを定義します。キュー制限を変更する場合は、WREDしきい値も調整し、設定されているキュー制限がWRED最大しきい値よりも大きいことを確認します。
WREDが設定されたVCでも、平均キューサイズがキュー制限を超えたときにVCに到着するすべてのパケットはテールドロップされます。したがって、次の設定では、キュー制限が400で、DiffServコードポイント(DSCP)32の最小しきい値が460である場合、400パケットの平均キューサイズでテールドロップが実装され、WREDが有効になるのを効果的にに防できます。
policy-map ppwe class voip priority 64 class bus bandwidth 168 random-detect dscp-based random-detect exponential-weighting-constant 10 random-detect dscp 8 11 66 1 random-detect dscp 32 460 550 1 queue-limit 400
注:デフォルトのしきい値を調整する場合は、『IP to ATM Class of Service Phase 1設計ガイド』の「WREDの微調整に関する考慮事項」も参照してください。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
15-Nov-2007 |
初版 |