ML シリーズの QoS
ML シリーズの QoS は、入力インターフェイス、ブリッジ グループ(VLAN)、イーサネット CoS、IP 優先順位、IP DSCP、または RPR-CoS に基づいて、ネットワーク内の各パケットを分類します。パケットがクラス フローに分類された後、パケットがカードを経由する際に各パケットに QoS 機能をさらに適用できます。図 13-3 は、ML シリーズの QoS フローを示しています。
図 13-3 ML シリーズの QoS フロー
ML シリーズ カードが提供するポリシングによって、接続装置は事前定義された帯域幅量(レート制限)を超えてネットワークに送信しないことが保証されます。ポリシング機能を使用すると、インターフェイスでカスタマーに対して Committed Information Rate(CIR;認定情報レート)と Peak Information Rate(PIR;最大情報レート)を適用することができます。また、ポリシングは、ネットワークに許容されている情報の統計的特性を把握するのに役立ちます。これに基づきトラフィック エンジニアリングの観点から、ネットワークでコミット済み帯域幅量を使用可能にしたり、ネットワークに適切な比率で最大帯域幅をオーバーサブスクライブすることが、より効果的に保証できるようになります。ポリシング アクションは分類別に適用されます。
プライオリティ マーキングは、イーサネット IEEE 802.1p CoS ビットまたは RPR-CoS ビットを ML シリーズ カードから送出するときに設定できます。マーキング機能は、外側の IEEE 802.1p タグで動作し、QinQ パケットの着信時にパケットにタグ付けするメカニズムを提供します。このサービスプロバイダーで作成された QoS インディケータだけに基づいて、ネットワーク要素は順次 QoS を提供できます。
クラス別フロー キューイングによって、超過ネットワーク帯域幅へのアクセスを適正化し、帯域幅を割り当てて SLA をサポートできるほか、高度なネットワーク リソース要件のアプリケーションにも十分に対応できます。バッファは、共有リソース プールからキューに動的に割り当てられます。割り当てプロセスには、迅速なシステム ロードと各キューへの帯域幅の割り当てが含まれています。このプロセスによって、バッファ割り当てが最適化されます。ML シリーズの輻輳管理は、出力スケジューラの破棄可能性に加え、テール ドロップ メカニズムを通じて行われます。
ML シリーズでは、Weighted Deficit Round Robin(WDRR)スケジューリング プロセスを使用して、超過帯域幅へのアクセスを適正化するとともに、各クラス フローのスループットを保証します。
アドミッション制御は、ML シリーズ カードでサービスが設定されるたびに呼び出されるプロセスで、QoS リソースが過度にコミットされていないかどうかを確認します。特に、アドミッション制御は、インターフェイス上でコミットされる帯域幅の合計がインターフェイスの総帯域幅を上回る場合、設定を受け入れないようにします。
分類
分類は、単一のパケット分類基準または分類基準の組み合わせ(論理 AND と OR)に基づいて行うことができます。カードに定義できるクラスの総数は 254 個です(デフォルト クラスは含まれません)。パケットの分類は、モジュラ CLI の class-map コマンドを使用して設定します。Resilient Packet Ring(RPR;レジリアント パケット リング)を経由するトラフィックに対して、入力インターフェイスと RPR-CoS のいずれかまたは両方を分類基準として使用できます。
ポリシング
デュアル漏出バケット ポリシング機能は、既知のレート(CIR)で 1 つ目のバケット(CIR バケット)がトークンで満杯になった場合のプロセスです。CIR はオペレータが設定できるパラメータです。図 13-4 は、デュアル漏出バケット ポリシング機能モデルを示しています。トークンは最大レベル(ポリシング機能での Burstable Committed[BC;バースト可能認定]トラフィック量)までバケットを満たします。1 つ目のバケットの非適合パケットは、オーバーフロー パケットです。これらのパケットは、2 つ目の漏出バケット(PIR バケット)に渡されます。既知のレート(PIR)で 2 つ目の漏出バケットがこれらのトークンで満杯になります。PIR は、オペレータが設定できるパラメータです。トークンは最大レベル(BP)まで PIR バケットを満たします。BP は、ポリシング機能での最大バースト可能トラフィック量です。2 つ目のバケットの非適合パケットは、オーバーフロー パケットです。これらのパケットはポリシング機能の定義によってドロップまたはマーキングできます。
デュアル漏出バケット ポリシング機能では、CIR に適合するパケットは適合パケットであり、CIR に適合せず PIR に適合するパケットは超過パケットです。また、PIR と CIR のどちらにも適合しないパケットは違反パケットです。
図 13-4 デュアル漏出バケット ポリシング機能モデル
マーキングおよび破棄
ML シリーズ カードのポリシング機能では、適合パケットを送信することも、マーキングして送信することもできます。超過パケットは、送信、マーキングして送信、またはドロップすることができます。違反パケットは、送信、マーキングして送信、またはドロップすることができます。デュアルレート ポリシング機能または 3 種ポリシング機能の主な用途は、CoS ビット 2l を持つ適合パケットのマーキング、CoS ビット 1 を持つ超過パケットのマーキング、および違反パケットの破棄です。そのため、連続するすべてのネットワーク デバイスは、各 SLA を知らなくても、これらのプライオリティ マーキングに基づいてフレームまたはパケット単位で適切な QoS 処理を実装できます。
送信前に、マーキングされたパケットにプロバイダー提供の Q タグが挿入されている場合、マーキングはプロバイダー Q タグだけに影響します。Q タグを受信すると、その Q タグは再度マーキングされます。マーキングされたパケットが RPR リング上で転送されると、マーキングは RPR-CoS ビットにも影響を与えます。
Q タグが挿入されると(QinQ)、マーキングは追加された Q タグに影響を与えます。Q タグが含まれる着信パケットが透過的にスイッチングされると、既存の Q タグがマーキングされます。パケットに Q タグが含まれていない場合は、マーキングは特に意味を持ちません。
ローカル スケジューラは、CoS 設定やグローバル CoS コミット定義には関係なく、すべての非適合パケットを廃棄可能として処理します。RPR 実装の場合、Discard Eligible(DE;廃棄適性)パケットは、RPR ヘッダーの DE ビットを使用してマーキングされます。CoS コミットまたはポリシング アクションに基づく廃棄適性は、ML シリーズ カード スケジューラに対してローカルですが、RPR リングに対してはグローバルです。
キューイング
ML シリーズ カードのキューイングでは、共有バッファ プールを使用してさまざまなトラフィック キューにメモリを動的に割り当てます。ML シリーズ カードが使用するバッファ プールの総量は 12 MB メモリです。イーサネット ポートが 6 MB のメモリを共有し、Packet-over-SONET/SDH(POS)ポートが残りの 6 MB を共有します。メモリ空間の割り当ては、1500 バイトずつ増加します。
各キューには、キューのクラス帯域幅割り当ておよび設定されているキューの数に基づいて、割り当てられるバッファ数に上限があります。通常、この上限は共有バッファ容量の 30 ~ 50 % です。各キューへの動的バッファ割り当ては、追加のバッファリングを必要とするキューの数に基づいて減らすことができます。動的割り当てメカニズムは、サービス コミットメントに応じて適正化を図るとともに、システム トラフィック負荷の範囲全体でシステム スループットを最適化します。
Low Latency Queue(LLQ; 低遅延キュー)は、重みを無限大に設定するか、または 100 % 帯域幅をコミットして定義されます。LLQ を定義するときには、その特定クラスの入力についてポリシング機能を定義し、LLQ が使用する最大帯域幅を制限する必要があります。そうしないと、LLQ が帯域幅全体を占有し、他のユニキャスト キューが帯域幅を使用できなくなる恐れがあります。
ML シリーズでは、ユーザ定義可能な 400 個のキューをサポートしています。これらのキューは、分類および帯域幅割り当て定義に従って割り当てられます。スケジューリングに使用する分類では、ポリシング アクションの後にフレーム/パケットを分類するので、ポリシング機能を着信フレーム/パケットの CoS ビットのマーキングや変更に使用する場合、新しい値をキューイングおよびスケジューリング用のトラフィックの分類に適用できます。ML シリーズでは、4000 個のパケットのバッファリングが可能です。
スケジューリング
スケジューリングは、WDRR を実行する一連のスケジューラと、各出力ポートに関連付けられているキューに入れられたトラフィックのプライオリティ スケジューリング メカニズムによって行われます。
キューの通常のラウンド ロビン サービスは定期的に実行できますが、異なるキューでさまざまパケット サイズを使用すると不均等が生じます。この問題は、Deficit Round Robin(DRR)スケジューリングによって解決されます。パケット サイズが大きすぎたために、前回のラウンドでキューがパケットを送信できなかった場合、各ラウンドでキューに入る前回のクレジット量の剰余(量子)は、次のラウンドの量子に追加されます。
WDRR は、DRR の量子の概念を拡張し、各キューのスループットに重み付けします。キューごとに異なる重みが設定されており、ラウンドの各キューに割り当てられた量子 は、そのスケジューラがサービスするすべてのキューにおいて、キューの相対重みに比例します。
サービス プロビジョニング プロセスの結果として、重みが各キューに割り当てられます。ポリシングとポリシー マッピング プロビジョニングを組み合わせると、このような重みと WDRR スケジューリング プロセスによって、QoS コミットメントが各サービス フローに確実に提供されるようになります。
図 13-5 は、ML シリーズ カードのキューイングとスケジューリングを示しています。
図 13-5 キューイングおよびスケジューリング モデル
重み付け構造によって、トラフィックを 1/2048 のポート レートでスケジューリングできます。これは、GigabitEthernet ポートを出るトラフィックでは約 488 KBps、OC-12c ポートを出るトラフィックでは約 293 KBps、FastEthernet ポートを出るトラフィックでは約 49 KBps に相当します。
マルチキャスト/ブロードキャスト キューは、10 % の帯域幅がコミットされている ML シリーズ カードのすべての出力ポートで自動的に作成されます。このキューは、マルチキャスト/ブロードキャスト データ トラフィック、制御トラフィック、レイヤ 2 プロトコル トンネリング、および MAC 学習時の未知の MAC のフラッディング トラフィックに使用されます。出力ポートでマルチキャスト/ブロードキャスト トラフィックの集約が帯域幅の 10 % を超えると、帯域幅の 10 % を超えたフレームは、スケジューラによってベスト エフォートとして処理されます。
ユニキャスト キューは、出力ポートの出力サービス ポリシー実装として作成されます。各ユニキャスト キューには、コミット済み帯域幅が割り当てられ、キューの重みはそのポート用に定義されているすべてのユニキャスト キューのコミット済み帯域幅の正規化によって決定されます。どのキューでもコミット済み帯域幅を超えるトラフィックは、キューの相対重みに従ってスケジューラで処理されます。
LLQ は、出力ポートの出力サービス ポリシー実装として作成されます。各 LLQ キューは、100 % のコミット済み帯域幅が割り当てられ、低遅延で供給されます。LLQ による帯域幅の使用を制限するには、LLQ トラフィック クラスの入力に厳格なポリシング機能を実装する必要があります。
DE を使用すると、あるパケットはコミット済みとして処理し、別のパケットはスケジューラで破棄可能として処理することができます。イーサネット フレームでは、RPR-CoS および DE ビットが RPR トラフィックに使用される場合に、CoS(IEEE 802.1p)ビットがコミット済みパケットと破棄可能なパケットの識別に使用されます。輻輳が発生し、キューが満杯になり始めると、DE パケットはコミット済みパケットよりも低いテールドロップしきい値を当てます。コミット済みパケットは、コミット済み負荷総量がインターフェイス出力を超えるまではドロップされません。あらゆる状況で公平さを保証しながら共有バッファ プールを最大限に使用できるように、カードのテールドロップしきい値は動的に調整されます。
マルチキャスト QoS
ML シリーズ カードでは、ラインレートでマルチキャスト(IP マルチキャストを含む)およびブロードキャスト トラフィック転送がサポートされています。ただし、マルチキャスト トラフィックでの QoS 実装は、ユニキャスト QoS とは異なります。その違いは、スケジューラでのマルチキャスト トラフィックのプライオリティ処理にあります。
ユニキャスト パケットの場合、プライオリティは bandwidth コマンドで定義されます。このコマンドは、特定のクラスのユニキャスト パケットの CIR を作成します。
マルチキャスト パケットのプライオリティ処理は、bandwidth コマンドには基づいていません。代わりに、マルチキャスト フレームは、ポート帯域幅の 10 % がコミットされたキューに割り当てられます。マルチキャストおよびブロードキャスト トラフィックがポート帯域幅の 10 % を上回ると、10 % を超えたフレームには、低いプライオリティが与えられます(ベスト エフォート)。マルチキャストの 10 % のコミット済み帯域幅は、集約トラフィックに適用されます。そのため、ユニキャスト トラフィックの QoS モデルとは異なり、あるカスタマーのマルチキャスト トラフィックに別のカスタマーよりも高いプライオリティを与えることはできません。
スケジューラは、マルチキャストおよびブロードキャスト トラフィックに対して帯域幅の 10 % を割り当てます。すべてのマルチキャスト/ブロードキャスト トラフィックに対する 10 % 帯域幅割り当てを除き、他の QoS 実装をマルチキャストおよびブロードキャスト トラフィックに適用することはできません。バッファは、共有リソース プールからキューに動的に割り当てられます。
制御パケットとレベル 2 トンネリング プロトコル
ML シリーズ カードで生成される制御パケットは、データ パケットよりも高いプライオリティが割り当てられます。外部レイヤ 2 およびレイヤ 3 制御パケットはデータ パケットとして処理され、ブロードキャスト キューに割り当てられます。ML シリーズ カードの Bridge Protocol Data Unit(BPDU;ブリッジ プロトコル データ ユニット)の優先順位付けでは、マルチキャスト/ブロードキャスト キューに送信するトンネリングされたレイヤ 2 BPDU に、より高い破棄値が与えられます。したがって、マルチキャスト/ブロードキャスト キューの他のパケットよりもプライオリティは高くなります。レイヤ 2 トンネリング プロトコルのイーサネット CoS(IEEE 802.1p)は、ML シリーズ カードによって割り当てることができます。
プライオリティ マーキング
プライオリティ マーキングを使用すると、オペレータはカードを出るパケットの IEEE 802.1p CoS ビットを割り当てることができます。このマーキングにより、オペレータは、パケットに対して行う必要のある QoS 処理をダウンストリーム ノードにシグナリングするメカニズムとして、CoS ビットを使用することが可能になります。この機能は、最も外側の IEEE 802.1p CoS フィールドで動作します。プライオリティ マーキングを QinQ 機能と共に使用すると、マーキングによってユーザ トラフィック(内側の Q タグ)はネットワークを透過的に経由できるようになります。さらに、ネットワークがレイヤ 2 で QoS 処理を内部的にシグナリングすることもできます。
プライオリティ マーキングは、分類プロセスの後に行われます。したがって、以前に識別された分類条件のいずれかを基準として使用して、発信 IEEE 802.1p CoS フィールドを設定できます。たとえば、特定の CoS 値を特定のブリッジ グループにマップできます。
プライオリティ マーキングは、MQC set-cos コマンドを使用して設定します。IEEE 802.1q タグのないパケットが何らかの方法でカードを出たとすると、 set-cos コマンドはそのパケットでは有効でなくなります。IEEE 802.1q タグ(通常タグまたは QinQ タグ)がパケットに挿入されると、その挿入されたタグには set-cos プライオリティが設定されます。着信パケットに IEEE 802.1q タグが存在し、出力パケットで保持されている場合、そのタグのプライオリティは変更されます。入力インターフェイスが QinQ アクセス ポートであり、set-cos ポリシーマップが着信タグのプライオリティに基づいて分類を行う場合、これはユーザ プライオリティに基づく分類となります。これは、ユーザタグのプライオリティによって、SP タグのプライオリティを決める一つの方法です。 パケットが set-cos ポリシーマップに一致しないときには、保持されているタグのプライオリティは変更されず、挿入された IEEE 802.1q タグのプライオリティが 0 に設定されます。
出力サービス ポリシーの set-cos コマンドは、ユニキャスト トラフィックにだけ適用されます。マルチキャスト/ブロードキャスト トラフィックのプライオリティ マーキングは、入力サービス ポリシーに対するポリシング プロセスの set-cos アクション以外ではできません。
QinQ 実装
階層型 VLAN または IEEE 802.1Q トンネリング機能により、サービス プロバイダーは特定のポート(UNI)から受信するカスタマー VLAN を透過的に伝送し、サービス プロバイダー ネットワーク上で転送することができます。この機能は QinQ とも呼ばれ、すべてのカスタマー フレームに IEEE 802.1Q タグを追加することによって実行されます。
QinQ 機能を使用すると、サービス プロバイダーは複数の VLAN を設定しているカスタマーを 1 つの VLAN でサポートできます。QinQ はカスタマー VLAN ID を保存するため、別のカスタマーからのトラフィックが元は同じ VLAN ID を共有していた場合でも、サービスプロバイダー インフラストラクチャ内でさまざまなカスタマーからのトラフィックを分離します。また、QinQ は、VLAN 内 VLAN 階層を使用してタグ付きパケットに再度タグ付けすることによって、VLAN スペースを拡張します。Service Provider(SP;サービス プロバイダー)タグが追加されると、QinQ ネットワークでは通常、QinQ カプセル化フレームの IP ヘッダーまたはカスタマー イーサネット IEEE 802.1Q タグに対する可視性が失われます。
ML シリーズ カードでは、QinQ アクセス ポート(IEEE 802.1Q トンネル ポートまたは QinQ UNI ポート)は、カスタマー CoS および IP 優先順位または IP DSCP 値に対して可視性を持ちます。したがって、SP タグにカスタマーの IP 優先順位、IP DSCP または CoS ビットを反映する適切な CoS ビットを割り当てることができます。QinQ ネットワークでは、QoS は SP タグの IEEE 802.1p ビットに基づいて実装されます。ML シリーズ カードは、パケットが二重にタグ付けされると、カスタマーの CoS、IP 優先順位、または DSCP 値に対して可視性を持ちません(パケットが QinQ サービスの送信ポイントを離れているためです)。
図 13-6 は ML シリーズ カードの QinQ 実装を示しています。
図 13-6 QinQ
ML シリーズ カードは、QinQ ネットワークの IEEE 802.1Q トンネリング デバイスとして使用できます。また、追加された QinQ タグの CoS ビットにカスタマー フレームの CoS ビットをコピーするオプションも用意されています。このようにして、サービス プロバイダー QinQ ネットワークは、個々のカスタマー フレームに必要な QoS 処理を完全に認識できます。
フロー制御ポーズと QoS
インターフェイスのフロー制御とポートベース ポリシングが両方ともイネーブルの場合、フロー制御は帯域幅を処理します。ポリシング機能が不適合フローを検知すると、ポリシング機能はインターフェイスのポリシング機能定義を使用して、パケットをドロップまたはマーク解除をします。
(注) リンク集約を使用している場合は、ML シリーズ カード インターフェイスで QoS およびポリシングはサポートされません。
(注) 出力シェーピングは ML シリーズ カードではサポートされていません。
QoS の設定
この項では、MQC を使用して、ML シリーズ カードの QoS 機能を設定するタスクについて説明します。ML シリーズ カードは、フル セットの MQC 機能をサポートしていません。
クラスベースの QoS 機能を設定してイネーブルにするには、次の項で説明する手順を実行します。
• 「トラフィック クラスの作成」
• 「トラフィック ポリシーの作成」
• 「インターフェイスへのトラフィック ポリシーの適用」
• 「CoS ベース QoS の設定」
• 「QoS 設定のモニタリングおよび確認」(オプション)
QoS の設定例については、「QoS の設定例」を参照してください。
トラフィック クラスの作成
トラフィック クラスを作成するには、 class-map グローバル設定コマンドを使用します。 class-map コマンドの構文は次のとおりです。
class-map [ match-any | match-all ] class-map-name
no class-map [ match-any | match-all ] class-map-name
match-all および match-any オプションは、トラフィック クラスに複数の一致条件が設定されている場合にのみ指定する必要があります。 class-map match-all コマンドは、パケットが指定のトラフィック クラスに適合するためには、トラフィック クラスのすべての一致条件が満たされる必要がある場合に使用します。 class-map match-any コマンドは、パケットが指定のトラフィック クラスに適合するためには、トラフィック クラスの一致条件のうち 1 つだけが満たされる必要がある場合に使用します。 match-all または match-any キーワードのどちらも指定されていない場合、トラフィック クラスは class-map match-all コマンドと同様に動作します。
一致条件を含むトラフィック クラスを作成するには、 class-map グローバル設定コマンドを使用して、トラフィック クラス名を指定し、クラスマップ設定モードで、必要に応じて次の match コマンドを使用します。
|
|
Router(config)# class-map class-map-name |
トラフィック クラスのユーザ定義名を指定します。名前には、最大 40 文字の英数字を指定できます。 match-all または match-any を指定しない場合、トラフィック クラスのメンバーとして分類するには、トラフィックがすべての一致条件を満たす必要があります。 デフォルトの一致条件はありません。 複数の一致条件がサポートされます。 class-map コマンドの match-all および match-any サブコマンドによって制御されているときには、コマンドは条件のすべてまたはいずれかを照合します。 |
Router(config)# class-map match-all class-map-name |
トラフィック クラスに入るトラフィックを、トラフィック クラスのメンバーとして分類するには、すべての一致条件を満たす必要があることを指定します。 |
Router(config)# class-map match-any class-map-name |
トラフィック クラスに入るトラフィックを、トラフィック クラスのメンバーとして分類するには、一致条件のいずれか 1 つを満たす必要があることを指定します。 |
Router(config-cmap)# match any |
すべてのパケットを照合することを指定します。 |
Router(config-cmap)# match bridge-group bridge-group-number |
ブリッジグループ番号を指定します。パケットはこのブリッジグループ番号に対して照合され、そのクラスに属するかどうかが判別されます。 |
Router(config-cmap)# match cos cos-number |
CoS 値を指定します。パケットはこの CoS 値に対して照合され、そのクラスに属するかどうかが判別されます。 |
Router(config-cmap)# match input-interface interface-name |
一致条件として使用する入力インターフェイスの名前を指定します。パケットはこの一致条件に対して照合され、そのクラスに属するかどうかが判別されます。 RPR で使用する Shared Packet Ring(SPR;共有パケット リング)インターフェイスである SPR1 は、ML シリーズ カードの有効なインターフェイス名です。SPR インターフェイスの詳細については、 第16章「レジリアント パケット リングの設定」 を参照してください。 インターフェイスの INPUT(冗長)に適用する場合、 input-interface の選択は有効ではありません。 |
Router(config-cmap)# match ip dscp ip-dscp-value |
一致条件として使用する最大 8 つの DSCP 値を指定します。各サービス コード ポイントに指定できる値は、0 ~ 63 です。 |
Router (config-cmap)# match ip precedence ip-precedence-value |
一致条件として使用する最大 8 つの IP 優先順位値を指定します。 |
トラフィック ポリシーの作成
トラフィック ポリシーを設定するには、 policy-map グローバル設定コマンドを使用して、トラフィック ポリシー名を指定し、次の設定コマンドを使用してトラフィック クラスを関連付けます。このトラフィック クラスは、 class-map コマンドと 1 つ以上の QoS 機能で設定したものです。 class コマンドを使用すると、トラフィック クラスはトラフィック ポリシーに関連付けられます。 class コマンドは、ポリシーマップ設定モードを開始してから発行する必要があります。トラフィック ポリシーの QoS ポリシーが定義されている場合、 class コマンドを入力すると、自動的にポリシーマップ クラス設定モードになります。
ポリシー マップの任意のクラスで、帯域幅またはプライオリティ アクションを使用するときには、match-any コマンドで定義され、そのポリシー マップに帯域幅またはプライオリティ アクションが設定されているクラスが存在している必要があります。これは、ある帯域幅が割り当てられたデフォルト クラスに、すべてのトラフィックを確実に分類できるようにするためです。そのクラスを使用することを予定していない場合や、デフォルト トラフィックに対して帯域幅を予約する必要がない場合には、最小帯域幅を割り当てることができます。
次の例は、ポリシーマップ クラス設定モードのトラフィック ポリシーで適用できる QoS ポリシーの詳細です。
policy-map コマンドの構文は次のとおりです。
policy-map policy-name
no policy-map policy-name
class コマンドの構文は次のとおりです。
class class-map-name
no class class-map-name
一致条件を満たさないすべてのトラフィックは、デフォルト トラフィック クラスに属します。ユーザはデフォルト トラフィック クラスを設定できますが、削除することはできません。
トラフィック ポリシーを作成するには、グローバル設定モードで開始し、必要に応じて次のコマンドを使用します。
|
|
Router (config)# policy-map policy-name |
設定するトラフィック ポリシーの名前を指定します。名前には、最大 40 文字の英数字を指定できます。 |
Router (config-pmap)# class class-map-name |
事前定義されたトラフィック クラスの名前を指定します。このクラスは、 class-map コマンドで設定したクラスであり、トラフィックをトラフィック ポリシーに分類するために使用します。 |
Router (config-pmap)# class class-default |
トラフィック ポリシーの一部として作成するデフォルト クラスを指定します。 |
Router (config-pmap-c)# bandwidth { bandwidth-kbps | percent percent } |
輻輳時におけるトラフィック クラスへの最小帯域幅保証を指定します。最小帯域幅保証は、KBps または使用可能帯域幅全体のパーセンテージで指定できます。帯域幅コマンドは、着信ではなく出力でのみサポートされています。 ML シリーズ カードの有効な選択肢は次のとおりです。 • キロビット/秒で指定したレート(8 ~ 2000000) • 使用可能帯域幅全体のパーセンテージ(1 ~ 100) 1 つのポリシー マップに複数のクラスおよび帯域幅アクションが指定されている場合、帯域幅指定時に同じ選択肢を使用する必要があります (Kbit または %)。
(注) bandwidth コマンドを使用すると、超過トラフィック(設定したコミットを超えるトラフィック)には、他のトラフィック クラスと比較してそのトラフィック クラスの相対的な帯域幅コミットメントに応じて、使用可能帯域幅が割り当てられます。同じコミットが設定された 2 つのクラスの超過トラフィックは、使用可能帯域幅に同等にアクセスできます。最小コミットが設定されたクラスの超過トラフィックには、高いコミットが設定されたクラスの超過帯域幅と比較して最小限の使用可能帯域幅だけが割り当てられます。
|
Router (config-pmap-c)# police cir-rate-bps normal-burst-byte max-burst-byte pir pir-rate-bps conform-action action exceed-action action violate-action action |
ポリシー マップが入力に適用されているときに、現在選択されているクラスのポリシング機能を定義します。 ポリシングは、出力ではなく入力でのみサポートされています。 • cir-r ate-bps には、ビット/秒(Bps)で平均 CIR を指定します。指定できる範囲は 96000 ~ 800000000 です。 • normal-burst-byte には、CIR のバースト サイズをバイトで指定します。指定できる範囲は 8000 ~ 64000 です。 • maximum-burst-byte には、PIR のバーストをバイトで指定します。指定できる範囲は 8000 ~ 64000 です。 • pir-rate-bps には、平均 PIR トラフィック レートを Bps で指定します。指定できる範囲は 96000 ~ 800000000 です。 • 適合アクション オプションは次のとおりです。 –Set a CoS priority value and transmit (Cos 優先度値を設定して送信) –Transmit packet(パケットの送信、デフォルト) • 超過アクション オプションは次のとおりです。 –Set a CoS value and transmit (Cos 値を設定して送信) –Transmit packet(パケットの送信) –Drop packet(パケットのドロップ、デフォルト) • 違反アクション オプションは次のとおりです。 –Set a CoS value and transmit (Cos 値を設定して送信) –Transmit packet(パケットの送信) –Drop packet(パケットのドロップ、デフォルト) |
Router (config-pmap-c)# priority kbps |
現在選択しているクラスの低遅延キューイングを指定します。このコマンドは、出力にのみ適用できます。ポリシーマップを出力に適用している場合は、このクラスに対して厳密なプライオリティが設定された出力キューを作成します。有効なレート選択肢は、キロビット/秒だけです(8 ~ 2000000)。
(注) プライオリティ アクションを使用すると、プライオリティ レートとして指定されたレートに関係なく、そのクラスのトラフィックには 100 % の CIR が与えられます。CIR コミットメントをインターフェイスに確実に適合させるには、この出力クラスにトラフィックを配信する可能性があるすべてのインターフェイスの入力でポリシング機能を設定し、最大レートを指定したプライオリティ レートに制限する必要があります。
|
Router (config-pmap-c)# set-cos cos-value |
CoS 値またはパケットに関連付ける値を指定します。指定できる範囲は 0 ~ 7 です。 このコマンドは、出力に適用したポリシーマップでのみ使用できます。このコマンドは、現在選択しているクラスの送信パケットに設定する VLAN CoS プライオリティを指定します。QinQ を使用する場合、最上位の VLAN タグがマーキングされます。送信パケットに VLAN タグがない場合、アクションは無効になります。このアクションは、ポリシング機能によって set-cos アクションが実行された後に、パケットに適用されます。したがって、ポリシング機能のアクションによって設定された CoS は上書きされます。 パケットがポリシング機能によりマーキングされてインターフェイスから転送され、しかもインタフェースにトラフィック クラスの set-cos アクションが割り当てられている場合、ポリシング アクションで指定された値は、IEEE 802.1p CoS フィールドの設定に優先します。 このコマンドも、RPR インターフェイスで ML シリーズを出て行くパケットの RPR ヘッダーに CoS 値を設定します。 |
Router (config-pmap-c)# set-cos-transmit cos-value |
ポリシング レート以下または以上で、パケットに関連付けられた VLAN CoS プライオリティを設定(マーキング)します。 出力ポリシー マップのすべての分類は、(パケットが VLAN タグなしで出入りした場合でも)設定された新しい CoS 値に基づいて行われます。出力ポリシー マップは、パケットに設定された VLAN CoS プライオリティを上書きできます。パケットがインターフェイスから送信されるときに、関連付けられた VLAN CoS プライオリティが VLAN タグに書き込まれます。QinQ を使用する場合、送信時に最上位の VLAN タグがマーキングされます。VLAN タグなしでパケットが送信された場合、マーキングは行われません。 このコマンドも、RPR インターフェイスで ML シリーズを出て行くパケットの RPR ヘッダー内の CoS 値を設定します。 |
インターフェイスへのトラフィック ポリシーの適用
service-policy インターフェイス設定コマンドを使用して、トラフィック ポリシーをインターフェイスに適用し、ポリシーを適用する必要のある方向(インターフェイスへの着信パケット、またはインターフェイスからの送信パケット)を指定します。指定した方向でインターフェイスに適用できるトラフィック ポリシーは 1 つだけです。
インターフェイスからトラフィック ポリシーを削除する場合は、このコマンドに no を付けます。 service-policy コマンドの構文は次のとおりです。
service-policy { input | output } policy-map-name
no service-policy { input | output } policy-map-name
トラフィック ポリシーをインターフェイスに適用するには、グローバル設定モードで、必要に応じて次のコマンドを使用します。
|
|
Router(config)#
interface
interface-id
|
インターフェイス設定モードを開始し、ポリシー マップを適用するインターフェイスを指定します。 有効なインターフェイスは、物理イーサネットと POS インターフェイスに制限されています。
(注) ポリシー マップは、SPR インターフェイス、サブインターフェイス、ポート チャネル インターフェイス、または Bridge Group Virtual Interface(BVI;ブリッジ グループ仮想インターフェイス)には適用できません。
|
Router(config-if)# service-policy output policy-map-name |
インターフェイスの出力方向に適用するトラフィック ポリシーの名前を指定します。トラフィック ポリシーは、そのインターフェイスを出るすべてのトラフィックを評価します。 |
Router(config-if)# service-policy input policy-map-name |
インターフェイスの入力方向に適用するトラフィック ポリシーの名前を指定します。トラフィック ポリシーは、そのインターフェイスに入るすべてのトラフィックを評価します。 |
CoS ベース QoS の設定
cos commit cos-value グローバル コマンドを使用すると、ML シリーズ カードでネットワーク インターフェイスに着信するパケットの QoS 処理を、per-customer-queue ポリシング機能ではなく、添付されてくる CoS 値に従って行わせることができます。
CoS ベース QoS は、1 つの cos commit cos-value グローバル コマンドで実行できます。
|
|
Router(config)#
cos-commit
cos-value
|
CIR として cos value に等しいか、またはこの値よりも大きい CoS が設定された着信パケットと、DE としてこの値より小さい CoS が設定されたパケットにラベルを付けます。 |
QoS の設定例
この項では、特定のコマンドとネットワーク設定の例について説明します。
• トラフィック クラスの定義例
• トラフィック ポリシーの作成例
• class-map match-any および class-map match-all コマンドの例
• match spr1 インターフェイスの例
• ML シリーズ VoIP の例
• ML シリーズ ポリシングの例
• ML シリーズ CoS ベース QoS の例
トラフィック クラスの定義例
例13-2 は、インターフェイス fastethernet0 への着信トラフィックとマッチする class1 というクラス マップの作成方法を示しています。
例13-2 クラス インターフェイス コマンドの例
Router(config)# class-map class1
Router(config-cmap)# match input-interface fastethernet0
例13-3 は、IP 優先順位値 5、6、7 が設定された着信トラフィックとマッチする class2 というクラス マップの作成方法を示しています。
例13-3 クラス IP 優先順位コマンドの例
Router(config)# class-map match-any class2
Router(config-cmap)# match ip precedence 5 6 7
(注) この例の 5 6 7 のように、複数の値を指定する一致ルールが class-map に含まれている場合、class-map をデフォルトの match-all ではなく、match-any にする必要があります。match-any を指定しないと、エラー メッセージが表示され、そのクラスは無視されます。サポートされている複数の値を使用できるコマンドは、match cos、match ip precedence、および match ip dscp です。
この例は、ブリッジ グループ 1 に基づいた着信トラフィックとマッチする class3 というクラス マップの作成方法を示しています。
Router(config)# class-map class3
Router(config-cmap)# match bridge-group 1
トラフィック ポリシーの作成例
例13-4 では、policy1 というトラフィック ポリシーは、デフォルト クラスのポリシー仕様(帯域幅割り当て要求など)と、2 つの追加クラス(class1 および class2)を含むように定義されています。これらのクラスの一致条件は、トラフィック クラスで定義済みです。「トラフィック クラスの作成」を参照してください。
例13-4 トラフィック ポリシーの作成例
Router(config)# policy-map policy1
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth 1000
Router(config-pmap)# exit
Router(config-pmap)# class class1
Router(config-pmap-c)# bandwidth 3000
Router(config-pmap)# exit
Router(config-pmap)# class class2
Router(config-pmap-c)# bandwidth 2000
Router(config-pmap)# exit
class-map match-any および class-map match-all コマンドの例
この項では、 class-map match-any コマンドと class-map match-all コマンドの違いについて説明します。 match-any および match-all オプションは、複数の一致条件が存在するときに、パケットをどのように評価するかを決定します。パケットがトラフィック クラスのメンバーとみなされるためには、すべての一致条件( match-all )または一致条件のいずれか 1 つ( match-any )を満たす必要があります。
例13-5 は、 class-map match-all コマンドを使用して設定したトラフィック クラスを示しています。
例13-5 class-map match-all コマンドの例
Router(config)# class-map match-all cisco1
Router(config-cmap)# match cos 1
Router(config-cmap)# match bridge-group 10
インターフェイスで設定された cisco1 というトラフィック クラスにパケットが到着すると、そのパケットが評価され、cos 1 およびブリッジ グループ 10 と一致するかどうかが判別されます。この両方の一致条件を満たしている場合、パケットはトラフィック クラス cisco1 にマッチします。
例13-6 は、 class-map match-any コマンドで設定されたトラフィック クラスを示しています。
例13-6 class-map match-any コマンドの例
Router(config)# class-map match-any cisco2
Router(config-cmap)# match cos 1
Router(config-cmap)# match bridge-group 10
Router(config-cmap)# match ip dscp 5
cisco2 というトラフィック クラスでは、使用できる一致条件が見つかるまで、一致条件の評価が続けられます。パケットが評価され、まず cos 1 を一致条件として使用できるかどうかが判別されます。cos 1 が一致条件として使用できる場合、パケットはトラフィック クラス cisco2 と照合されます。cos 1 が一致条件として使用できない場合、次に bridge-group 10 が一致条件として評価されます。各一致条件が評価され、パケットがその条件と一致するかどうかが確認されます。一致に成功すると、パケットはトラフィック クラス cisco2 のメンバーとして分類されます。パケットが指定されたどの条件にも一致しない場合は、パケットはトラフィック クラスのメンバーとして分類されます。
class-map match-all コマンドでは、パケットが指定されたトラフィック クラスのメンバーとみなされるには、すべての一致条件を満たす必要あります(論理 AND 演算子)。この例では、cos 1 AND bridge group 10 という条件に一致する必要があります。ただし、 class-map match-any コマンドでパケットをトラフィック クラスのメンバーとして分類する場合は、1 つの一致条件だけが満たされる必要があります(論理 OR 演算子)。この例では、cos 1 OR bridge group 10 OR ip dscp 5 という条件に一致する必要があります。
match spr1 インターフェイスの例
例13-7 では、class-map を定義するとき、SPR インターフェイスは match input-interface CLI に対するパラメータとして指定します。
例13-7 class-map SPR インターフェイス コマンドの例
Router(config)# class-map spr1-cos1
Router(config-cmap)# match input-interface spr1
Router(config-cmap)# match cos 1
Router# sh class-map spr1-cos1
Class Map match-all spr1-cos1 (id 3)
Match input-interface SPR1
ML シリーズ VoIP の例
図 13-7 は、ML シリーズ QoS の例を示しています。関連するコマンドは、図の次に示しています。
図 13-7 ML シリーズ VoIP の例
class-map match-any default
ip address 1.1.1.1 255.255.255.0
ip address 2.1.1.1 255.255.255.0
service-policy output pos0
ML シリーズ ポリシングの例
図 13-8 は、ML シリーズ ポリシングの例を示しています。この例では、0 ~ 1,000,000 Bps の IP 優先順位でトラフィックを制限するポリシング機能の設定方法を示しています。関連するコードは、図の次に示しています。
図 13-8 ML シリーズ ポリシングの例
class-map match-all policer
police 1000000 10000 conform-action transmit exceed-action drop
service-policy input police_f0
ML シリーズ CoS ベース QoS の例
図 13-9 は、ML シリーズ CoS ベース QoS の例を示しています。関連するコードは、図の次に示しています。CoS の例は、ML シリーズ カードが RPR に設定され、ML シリーズ カードの POS ポートがポイントツーポイント SONET 回線によってリンクされていることを前提としています。RPR の設定方法の詳細については、 第16章「レジリアント パケット リングの設定」 を参照してください。
図 13-9 ML シリーズ CoS の例
例13-8 は、図 13-9 の ML シリーズ A の設定に使用したコードを示しています。
例13-8 ML シリーズ A の設定(カスタマー アクセス ポイント)
police 5000 8000 8000 pir 10000 conform-action
set-cos-transmit 2 exceed-action set-cos-transmit
例13-9 は、図 13-9 の ML シリーズ B の設定に使用したコードを示しています。
例13-9 ML シリーズ B の設定
例13-10 は、図 13-9 の ML シリーズ C の設定に使用したコードを示しています。
例13-10 ML シリーズ C の設定(カスタマー アクセス ポイント)
police 5000 8000 8000 pir 10000 conform-action
set-cos-transmit 2 exceed-action set-cos-transmit