QoS の概要
QoS は、サービス セットに対して重要度の低いサービスによる損害を受けないように、優先または特別な処理を行うネットワークの機能です。ML シリーズ カードでは、QoS を使用して、SONET/SDH 回線に多重化されている各サービスに対して動的に伝送帯域幅を割り当てています。QoS によって、ML シリーズ カードを設定して各サービスに個別の処理レベルを提供できます。各レベルは、損失や遅延を含めて、帯域幅のサービス要素によって定義されます。Service-Level Agreement(SLA; サービス レベル契約)は、これらのサービス要素の保証されたレベルのことです。
QoS メカニズムには、3 つの基本的なステップがあります。トラフィックのタイプを分類し、それぞれのタイプに対応して実行するアクションを指定し、さらに、アクションを実行する場所を指定します。以降では、ML シリーズ カードがユニキャスト トラフィックに対してこれらの手順をどのように実行するかを説明します。プライオリティ マルチキャスト トラフィックと宛先アドレスが不明なトラフィックに対する QoS は、「マルチキャスト QoS およびプライオリティ マルチキャスト キューイングの概要」で詳しく説明している別のメカニズムで処理します。
IP およびイーサネットのプライオリティ メカニズム
データに QoS を適用する場合、IP パケットまたはイーサネット フレームをマーキングまたは識別する方法が必要となります。識別ができると、特定のプライオリティを個々の IP パケットまたはイーサネット フレームに割り当てることができます。IP Precedence フィールドまたは IP Differentiated Services Code Point(DSCP; DiffServ コード ポイント)フィールドは、IP パケットに優先順位を付けます。また、イーサネット フレームには、イーサネット Class of Service(CoS; サービス クラス)(IEEE 802.1p で定義された CoS)が使用されます。以降で、IP precedence とイーサネット CoS の詳細について説明します。
IP precedence および DSCP
IP precedence は、IPv4 ヘッダーの Type of Service(ToS; サービス タイプ)フィールドの 3 ビットの優先順位ビットを使用して、各 IP パケットの CoS を指定します(IETF RFC 1122)。IPv4 ToS フィールドの最上位 3 ビットは、最大 8 つの別個のクラスを提供します。8 つのクラスのうち 6 つはサービスの分類に使用され、残りの 2 つは予約されています。ネットワーク エッジでは、クライアント装置またはルータによって IP precedence が割り当てられるため、後続の各ネットワーク要素は、順次、決定済みのポリシーまたは SLA に基づいてサービスを提供できます。
IP DSCP は IPv4 ヘッダーの 6 ビットを使用して、各 IP パケットの CoS を指定します(IETF RFC 2474)。図14-1 に、IP precedence と DSCP を示します。DSCP フィールドは、使用可能な 64 個のクラスのいずれかにパケットを分類します。ネットワーク エッジで、IP DSCP はクライアント装置またはルータによって割り当てられるため、後続の各ネットワーク要素は、決定済みのポリシーまたは SLA に基づいてサービスを提供できます。
図14-1 IP precedence と DSCP
イーサネット CoS
イーサネット CoS は、4 バイトの IEEE 802.1Q(VLAN [仮想 LAN])ヘッダー内の 3 ビットを参照して、イーサネット フレームがスイッチド ネットワークを通過する際にフレームのプライオリティを指示します。IEEE 802.1Q ヘッダーの CoS ビットは、一般に IEEE 802.1p ビットと呼ばれます。3 ビットの CoS ビットは、8 つのクラスを提供します。これは IP precedence によって提供される数と一致しています。実際に多くのネットワークでは、パケットはレイヤ 2 とレイヤ 3 の両方のドメインを経由する場合があります。ネットワークでの QoS を維持するために、IP ToS をイーサネット CoS にマップすることも、逆にイーサネット CoS を IP ToS にマップすることもできます(リニア マッピングや 1 対 1 マッピングなど)。これは、それぞれのメカニズムで 8 つのクラスをサポートしているためです。同様に、一連の DSCP 値(64 クラス)は、8 つの各イーサネット CoS 値にマップできます。図14-2 に、イーサネット プロトコル ヘッダーで 2 バイトの Ethertype と 2 バイトのタグ(IEEE 802.1Q タグ)で構成された IEEE 802.1Q イーサネット フレームを示します。
図14-2 イーサネット フレームと CoS ビット(IEEE 802.1p)
ML シリーズの QoS
ML シリーズの QoS は、入力インターフェイス、ブリッジ グループ(VLAN)、イーサネット CoS、IP precedence、IP DSCP、またはシスコ固有の Resilient Packet Ring(RPR; 復元パケット リング)-CoS に基づいて、ネットワーク内の各パケットを分類します。パケットがクラス フローに分類されたあと、パケットがカードを経由する際に各パケットに詳細な QoS 機能を適用できます。図14-3 に、ML シリーズの QoS フローを示します。
図14-3 ML シリーズの QoS フロー
ML シリーズ カードが提供するポリシングによって、接続装置は事前定義された帯域幅量(レート制限)を超えてネットワークに送信しないことが保証されます。ポリシング機能を使用すると、インターフェイスでカスタマーに使用可能な Committed Information Rate(CIR; 認定情報速度)と PIR(Peak Information Rate; 最大情報レート)を実行できます。また、ポリシングは、ネットワークに許容されている情報の統計的特性を把握するのに役立ちます。これに基づきトラフィック エンジニアリングの観点から、コミットされる帯域幅の量がネットワークで使用可能なこと、ネットワークに適切な比率で最大帯域幅をオーバーサブスクライブすることが、より効果的に保証できるようになります。ポリシング アクションは分類別に適用されます。
プライオリティ マーキングは、イーサネット 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 コマンドを使用して設定します。シスコ固有の RPR を経由するトラフィックに対して、入力インターフェイスと RPR-CoS のいずれかまたは両方を分類基準として使用できます。
ポリシング
デュアル漏出バケット ポリシング機能は、既知のレート(CIR)で 1 つめのバケット(CIR バケット)がトークンで満杯になった場合のプロセスです。CIR はオペレータが設定できるパラメータです。図14-4 に、デュアル漏出バケット ポリシング機能モデルを示します。トークンは最大レベル(ポリシング機能での Burstable Committed[BC; バースト可能認定]トラフィック量)までバケットを満たします。1 つめのバケットの非適合パケットは、オーバーフロー パケットです。これらのパケットは、2 つめの漏出バケット(PIR バケット)に渡されます。既知のレート(PIR)で 2 つめの漏出バケットがこれらのトークンで満杯になります。PIR は、オペレータが設定できるパラメータです。トークンは最大レベル(BP)まで PIR バケットを満たします。BP は、ポリシング機能での最大バースト可能トラフィック量です。2 つめのバケットの非適合パケットは、オーバーフロー パケットです。これらのパケットはポリシング機能の定義によって廃棄またはマーキングできます。
デュアル漏出バケット ポリシング機能では、CIR に適合するパケットは適合パケットであり、CIR に適合せず PIR に適合するパケットは超過パケットです。また、PIR と CIR のどちらにも適合しないパケットは違反パケットです。
図14-4 デュアル漏出バケット ポリシング機能モデル
ポリシング機能によるマーキングおよび廃棄
ML シリーズ カードのポリシング機能では、適合パケットを送信することも、マーキングして送信することもできます。超過パケットは、送信、マーキングして送信、または廃棄できます。違反パケットは、送信、マーキングして送信、または廃棄できます。デュアルレート ポリシング機能または 3 種ポリシング機能の主な用途は、適合パケットを CoS ビット 2l でマーキング、および超過パケットを CoS ビット 1 でマーキング、違反パケットの廃棄です。そのため、後続のネットワーク装置は、各 SLA を認識せずに、これらのプライオリティ マーキングに基づいてフレームまたはパケット単位で適切な QoS 処理を適用できます。
場合によっては、特定の入力クラスのトラフィックをすべて廃棄することが望ましい場合があります。トラフィックの廃棄は、 police 96000 conform-action drop exceed-action drop という形式で、クラスを指定した police コマンドを使用することで行えます。
送信前に、マーキングされたパケットにプロバイダー提供の 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 コミットメントが各サービス フローに確実に提供されるようになります。
図14-5 に、ML シリーズ カードのキューイングとスケジューリングを示します。
図14-5 キューイングおよびスケジューリング モデル
重み付け構造によって、トラフィックを 1/2048 のポート レートでスケジューリングできます。これは、ギガビット イーサネット ポートを出るトラフィックでは約 488 Kbps、OC-12c ポートから出るトラフィックでは約 293 Kbps、ファースト イーサネット ポートを出るトラフィックでは約 49 Kbps に相当します。
ユニキャスト キューは、出力ポートの出力サービス ポリシー実装として作成されます。各ユニキャスト キューには、コミット済み帯域幅が割り当てられ、キューの重みはそのポート用に定義されているすべてのユニキャスト キューのコミット済み帯域幅の正規化によって決定されます。どのキューでもコミット済み帯域幅を超えるトラフィックは、キューの相対重みに従ってスケジューラで処理されます。
LLQ は、出力ポートの出力サービス ポリシー実装として作成されます。各 LLQ キューは、100% のコミット済み帯域幅が割り当てられ、低遅延で処理されます。LLQ による帯域幅の使用を制限するには、LLQ トラフィック クラスの入口で厳格なポリシング機能を実装する必要があります。
DE を使用すると、あるパケットはコミット済みとして処理し、別のパケットはスケジューラで DE として処理できます。イーサネット フレームでは、RPR-CoS および DE ビットがシスコ固有の RPR トラフィックに使用される場合に、CoS(IEEE 802.1p)ビットがコミット済みパケットと DE パケットの識別に使用されます。輻輳が発生し、キューが満杯になり始めると、DE パケットはコミット済みパケットよりも低いテールドロップしきい値に達します。コミット済みパケットは、コミット済み負荷総量がインターフェイス出力を超えるまでは廃棄されません。あらゆる状況で均等性を保証しながら共有バッファ プールを最大限に使用できるように、カードのテールドロップしきい値は動的に調整されます。
制御パケットと L2 トンネリング プロトコル
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 タグのプライオリティを決める 1 つの方法です。パケットが set-cos ポリシーマップに一致しないときには、保持されているタグのプライオリティは変更されず、挿入された IEEE 802.1Q タグのプライオリティはいずれも 0 に設定されます。
出力サービス ポリシーの set-cos コマンドは、ユニキャスト トラフィックにだけ適用されます。マルチキャストおよびブロードキャスト トラフィックのプライオリティ マーキングは、入力サービス ポリシーに対するポリシング プロセスの set-cos アクション以外ではできません。
入力プライオリティ マーキング
入力プライオリティ マーキングは、ある 1 つのポートのすべての入力パケットに対して、または分類に一致するすべての入力パケットに対して、または測定されたレートに基づいて実行できます。ある 1 つの入力クラスのパケットすべてに対するマーキングは、police 96000 conform-action set-cos-transmit exceed-action set-cos-transmit ポリシング コマンドでも行うことができます。[class-default] だけを含むポリシー マップとともにこのコマンドを使用すると、すべての入力パケットがその値にマーキングされます。レートに基づくプライオリティ マーキングついては、「ポリシング機能によるマーキングおよび廃棄」を参照してください。
QinQ 実装
階層型 VLAN または IEEE 802.1Q トンネリング機能により、SP は特定のポート(UNI)から受信するカスタマー VLAN を透過的に伝送し、SP ネットワーク上で転送できます。この機能は QinQ とも呼ばれ、すべてのカスタマー フレームに IEEE 802.1Q タグを追加することによって実行されます。
QinQ 機能を使用すると、SP は複数の VLAN を設定しているカスタマーを 1 つの VLAN でサポートできます。QinQ はカスタマーの VLAN ID を保存するため、別のカスタマーからのトラフィックが元は同じ VLAN ID を共有していた場合でも、SP のインフラストラクチャ内でさまざまなカスタマーからのトラフィックを分離します。また、QinQ は、VLAN 内 VLAN 階層を使用してタグ付きパケットに再度タグ付けすることによって、VLAN スペースを拡張します。SP タグが追加されると、QinQ ネットワークでは通常、QinQ カプセル化フレームの IP ヘッダーまたはカスタマー イーサネット IEEE 802.1Q タグが認識できなくなります。
ML シリーズ カードでは、QinQ アクセス ポート(IEEE 802.1Q トンネル ポートまたは QinQ UNI ポート)は、カスタマーの CoS および IP precedence または IP DSCP 値を認識できます。したがって、SP タグにカスタマーの IP precedence、IP DSCP または CoS ビットを反映する適切な CoS ビットを割り当てることができます。QinQ ネットワークでは、QoS は SP タグの IEEE 802.1p ビットに基づいて実装されます。ML シリーズ カードは、パケットが二重にタグ付けされると、カスタマーの CoS、IP precedence、または DSCP 値を認識できません(パケットが QinQ サービスの送信ポイントを離れているため)。
図14-6 に、ML シリーズ カードの QinQ 実装を示します。
図14-6 QinQ
ML シリーズ カードは、QinQ ネットワークの IEEE 802.1Q トンネリング装置として使用できます。また、追加された QinQ タグの CoS ビットにカスタマー フレームの CoS ビットをコピーするオプションも用意されています。このようにして、SP の QinQ ネットワークは、個々のカスタマー フレームに必要な QoS 処理を完全に認識できます。
フロー制御ポーズと QoS
インターフェイスでフロー制御とポートベース ポリシングが両方ともイネーブルな場合、フロー制御は帯域幅を処理します。ポリシング機能は、不適合フローを検出すると、インターフェイスのポリシング機能定義を使用して、パケットを廃棄またはマーク解除します。
(注) リンク集約を使用している場合は、ML シリーズ カード インターフェイスで QoS およびポリシングはサポートされません。
(注) 出力シェーピングは ML シリーズ カードではサポートされていません。
シスコ固有の RPR の QoS
シスコ固有の RPR で VLAN ブリッジングを設定する場合、シスコ固有の RPR およびシスコ固有の RPR QoS の基本設定でリング上のすべての ML シリーズ カードを設定する必要があります。SLA とブリッジングの設定は、IEEE 802.1Q の VLAN CoS がシスコ固有の RPR CoS にコピーされるカスタマー シスコ固有の RPR アクセス ポイントでのみ必要です。この IEEE 802.1Q の VLAN CoS のコピーは、 set-cos action コマンドで上書きできます。CoS コミット ルールは、シスコ固有の RPR リングの入口で適用されます。
• パケットに VLAN ヘッダーが含まれていない場合、次のルールを使用して、非 VLAN トラフィックのシスコ固有の RPR CoS が設定されます。
• デフォルトの CoS は 0 です。
• CoS が割り当てられているパケットが着信すると、割り当てられている CoS はデフォルトに置き換えられます。IP パケットがローカルで生成されると、IP precedence 設定は CoS 設定を置き換えます。
• 入力ポリシー マップには、 set-cos アクションが含まれます。
• 出力ポリシー マップには、 set-cos アクションが含まれます(ブロードキャストまたはマルチキャスト パケットを除く)。
シスコ固有の RPR ヘッダーには、CoS 値と DE インジケータが格納されます。シスコ固有の RPR DE は、コミットされていないトラフィックに対して設定されます。
ML シリーズ カード シスコ固有の RPR 中継トラフィックは、POS ポートからシスコ固有の RPR 周辺の POS ポートに発信するトラフィックとして定義され、レイヤ 2 CoS によってのみ分類できます。他の一致ルールは無視されます。これは、Cisco Metro Ethernet Solution の CoS ベース QoS モデル用に設計され、ML シリーズ カード専用に実装したシスコ固有の RPR の QoS です。
このレイヤ 2 の CoS 依存は、DSCP ベースの出力ポリシー マップが ML シリーズ カード上でシスコ固有の RPR と正常に動作するのを妨げます。DSCP ベースのポリシーマップを使用すると、すべての中継トラフィックがクラス デフォルトとして不正に処理されます。これにより、中継ステーションで輻輳が発生したときに、DSCP プライオリティに関係なく、中継トラフィックが廃棄されます。
DSCP ベースの出力ポリシー マップの限界には対処法があります。シスコ固有の RPR フレームごとに独自の 3 ビットの CoS マーキングがあり、通常 VLAN CoS からコピーされます。これは、シスコ固有の RPR 中継トラフィック用に「match cos」分類が行われるフィールドです。入力ステーションの DSCP 一致に基づいてシスコ固有の RPR CoS をマーキングしてから、中継ステーションのシスコ固有の RPR CoS に基づいて分類できます。この方法は最大 8 つのクラスをサポートできます。9 つのクラス(class-default を含め)を使用する場合、この対処法を使用するために 2 つのクラスを組み合わせる必要があります。
例14-1 に、DSCP 限界を解決するクラスおよびポリシー マップ定義コンフィギュレーションを示します。Voice クラスと Call-Sig クラスを組み合わせることで、9 つのクラスを 8 つのクラスに変更する例も示します。
注意 「match cos 0」はいずれのクラス マップの定義にも含めないでください。VLAN タグなしイーサネット パケットは、イーサネットからの入力で必ず CoS 0 として処理されるからです。「match cos 0」を使用すると、イーサネットから着信するすべてのトラフィックとの一致が誤って行われます。
例14-1 DSCP 限界を解決するクラスおよびポリシー マップ定義コンフィギュレーション
class-map match-any Bulk-Data
class-map match-any Crit-Data
class-map match-any Net-Management
class-map match-any Video
class-map match-any Voice
description Includes Voice and Call Signalling
class-map match-any Routing
class-map match-any Scavenger
QoS の設定
このセクションでは、MQC を使用して ML シリーズ カードの QoS 機能を設定するタスクについて説明します。ML シリーズ カードは、MQC の全機能をサポートするわけではありません。
クラスベースの QoS 機能を設定してイネーブルにするには、以降で説明する手順を実行します。
• 「トラフィック クラスの作成」
• 「トラフィック ポリシーの作成」
• 「インターフェイスへのトラフィック ポリシーの適用」
• 「CoS ベース 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 グローバル コンフィギュレーション コマンドを使用してトラフィック クラス名を指定し、必要に応じて 表14-1 の match コマンドを使用します。
表14-1 トラフィック クラス コマンド
|
|
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 インターフェイスの詳細については、「シスコ固有の RPR の設定」を参照してください。 インターフェイスの 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 precedence 値を指定します。 |
トラフィック ポリシーの作成
トラフィック ポリシーを設定するには、 policy-map グローバル コンフィギュレーション コマンドを使用して、トラフィック ポリシー名を指定し、以降に示すコンフィギュレーション コマンドを使用してトラフィック クラスを関連付けます。このトラフィック クラスは、 class-map コマンドと 1 つ以上の QoS 機能で設定したものです。 class コマンドを使用すると、トラフィック クラスはトラフィック ポリシーに関連付けられます。 class コマンドは、ポリシーマップ コンフィギュレーション モードを開始してから発行する必要があります。トラフィック ポリシーの QoS ポリシーが定義されている場合、 class コマンドを入力すると、自動的にポリシーマップ クラス コンフィギュレーション モードになります。
ポリシー マップの任意のクラスで、帯域幅またはプライオリティ アクションを使用するときには、 match-any コマンドで定義され、そのポリシー マップに帯域幅またはプライオリティ アクションが設定されているクラスが存在している必要があります。これは、ある帯域幅が割り当てられたデフォルト クラスに、すべてのトラフィックを確実に分類できるようにするためです。そのクラスを使用することを予定していない場合や、デフォルト トラフィックに対して帯域幅を予約する必要がない場合には、最小帯域幅を割り当てることができます。
例14-2 および例14-3 は、ポリシーマップ クラス コンフィギュレーション モードのトラフィック ポリシーで適用できる QoS ポリシーの詳細です。
例14-2 ポリシーマップ構文
policy-map policy-name
no policy-map policy-name
例14-3 クラス コマンド構文
class class-map-name
no class class-map-name
一致条件を満たさないすべてのトラフィックは、デフォルト トラフィック クラスに属します。ユーザはデフォルト トラフィック クラスを設定できますが、削除することはできません。
トラフィック ポリシーを作成するには、必要に応じて 表14-2 のコマンドを使用します。
表14-2 トラフィック ポリシー コマンド
|
|
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 シリーズ カードでの有効な選択肢は次のとおりです。 • Kbps で指定したレート • 使用可能帯域幅全体のパーセンテージ(1 ~ 100) 1 つのポリシー マップに複数のクラスおよび帯域幅アクションが指定されている場合、帯域幅指定時に同じ選択肢を使用する必要があります(キロビットまたは %)。
(注) bandwidth コマンドを使用すると、超過トラフィック(設定したコミットを超えるトラフィック)には、他のトラフィック クラスと比較してそのトラフィック クラスの相対的な帯域幅コミットメントに応じて、使用可能帯域幅が割り当てられます。同じコミットが設定された 2 つのクラスの超過トラフィックは、使用可能帯域幅に同等にアクセスできます。最小コミットが設定されたクラスの超過トラフィックには、高いコミットが設定されたクラスの超過帯域幅と比較して最小限の使用可能帯域幅だけが割り当てられます。
(注) 実際に設定できる帯域幅(Kbps または Mbps)はポートごとで、ML シリーズ カードの設定によって異なります。show interface コマンドは、ポートの最大帯域幅を表示します(たとえば、BW 100000 キロビット)。インターフェイスに適用されたすべての帯域幅とプライオリティ アクション、および cos priority-mcast 帯域幅の合計は、ポートの合計帯域幅を超えることはできません。
|
Router (config-pmap-c)# police cir-rate-bps normal-burst-byte [ max-burst-byte ] [ pir pir-rate-bps ] [ conform-action { set-cos-transmit | transmit | drop }] [ exceed-action { set-cos-transmit | drop }] [ violate-action { set-cos-transmit | drop }] |
ポリシー マップが入力に適用されているときに、現在選択されているクラスのポリシング機能を定義します。ポリシングは、出口ではなく入口でのみサポートされています。 • cir-rate-bps には、bps(ビット/秒)で平均 CIR を指定します。指定できる範囲は 96000 ~ 800000000 です。 • normal-burst-byte には、CIR のバースト サイズをバイトで指定します。指定できる範囲は 8000 ~ 64000 です。 • (任意) maximum-burst-byte には、PIR のバーストをバイトで指定します。指定できる範囲は 8000 ~ 64000 です。 • (任意) pir-rate-bps には、平均 PIR トラフィック レートを bps で指定します。指定できる範囲は 96000 ~ 800000000 です。 • (任意)適合アクション オプションは次のとおりです。 –CoS プライオリティ値を設定して送信 –パケットの送信(デフォルト) –パケットの廃棄 • (任意)超過アクション オプションは次のとおりです。 –set-cos-transmit : CoS 値を設定して送信 –drop : パケットの廃棄(デフォルト) • (任意)違反アクションは、pir が設定された場合にのみ有効です。違反アクション オプションは次のとおりです。 –set-cos-transmit : CoS 値を設定して送信 –drop : パケットの廃棄(デフォルト) |
Router (config-pmap-c)# priority kbps |
現在選択しているクラスの低遅延キューイングを指定します。このコマンドは、出力にのみ適用できます。ポリシーマップを出力に適用している場合は、このクラスに対して完全プライオリティが設定された出力キューを作成します。有効なレート選択肢は、Kbps だけです。
(注) priority コマンドは、デフォルトのクラスには適用されません。
(注) プライオリティ アクションを使用すると、プライオリティ レートとして指定されたレートに関係なく、そのクラスのトラフィックには 100% の CIR が与えられます。他の帯域幅コミットメントをインターフェイスに確実に適合させるには、この出力クラスにトラフィックを配信する可能性があるすべてのインターフェイスの入力でポリシング機能を設定し、最大レートを指定したプライオリティ レートに制限する必要があります。
(注) 実際に設定できる帯域幅(Kbps または Mbps)はポートごとで、ML シリーズ カードの設定によって異なります。show interface コマンドは、ポートの最大帯域幅を表示します(たとえば、BW 100000 キロビット)。インターフェイスに適用されたすべての帯域幅とプライオリティ アクション、および cos priority-mcast 帯域幅の合計は、ポートの合計帯域幅を超えることはできません。
|
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 値を設定します。 |
インターフェイスへのトラフィック ポリシーの適用
トラフィック ポリシーをインターフェイスに適用し、ポリシーを適用する必要のある方向(インターフェイスへの着信パケット、またはインターフェイスからの送信パケット)を指定するには、service-policy インターフェイス コンフィギュレーション コマンドを使用します。指定した方向でインターフェイスに適用できるトラフィック ポリシーは 1 つだけです。
インターフェイスからトラフィック ポリシーを削除する場合は、このコマンドの no 形式を使用します。 service-policy コマンドの構文は次のとおりです。
service-policy { input | output } policy-map-name
no service-policy { input | output } policy-map-name
トラフィック ポリシーをインターフェイスに適用するには、グローバル コンフィギュレーション モードで、必要に応じて次のコマンドを使用します。
ステップ 1 |
Router(config)#
interface
interface-id
|
インターフェイス コンフィギュレーション モードを開始し、ポリシー マップを適用するインターフェイスを指定します。 有効なインターフェイスは、物理イーサネットと POS インターフェイスに制限されています。
(注) ポリシー マップは、SPR インターフェイス、サブインターフェイス、ポート チャネル インターフェイス、または Bridge Group Virtual Interface(BVI; ブリッジ グループ仮想インターフェイス)には適用できません。
|
ステップ 2 |
Router(config-if)# service-policy output policy-map-name |
インターフェイスの出力方向に適用するトラフィック ポリシーの名前を指定します。トラフィック ポリシーは、そのインターフェイスを出るすべてのトラフィックを評価します。 |
ステップ 3 |
Router(config-if)# service-policy input policy-map-name |
インターフェイスの入力方向に適用するトラフィック ポリシーの名前を指定します。トラフィック ポリシーは、そのインターフェイスに入るすべてのトラフィックを評価します。 |
CoS ベース QoS の設定
cos commit cos-value グローバル コマンドを使用すると、ML シリーズ カードでネットワーク インターフェイスに着信するパケットの QoS 処理を、per-customer-queue ポリシング機能ではなく、添付されてくる CoS 値に従って行わせることができます。
CoS ベース QoS は、 表14-3 に示す 1 つの cos commit cos-value グローバル コマンドで実行できます。
表14-3 CoS Commit コマンド
|
|
Router(config)#
cos-commit
cos-value
|
CIR として cos-value 以上の CoS が設定された着信パケットと、DE としてこの値より小さい CoS が設定されたパケットにラベルを付けます。 |
QoS 設定のモニタリングおよび確認
ML シリーズ カードの QoS を設定したあと、さまざまな show コマンドを使用して、クラス マップおよびポリシー マップの設定を表示できます。トラフィック クラスまたはトラフィック ポリシーに関する情報を表示するには、EXEC モードで、必要に応じて 表14-4 のコマンドのいずれかを使用します。 表14-4 に、QoS ステータスに関連するコマンドを示します。
表14-4 QoS ステータスに関するコマンド
|
|
Router#
show class-map
name
|
ユーザ固有のトラフィック クラスの情報を表示します。 |
Router# show policy-map |
設定されているすべてのトラフィック ポリシーを表示します。 |
Router#
show policy-map
name
|
ユーザ固有のポリシー マップを表示します。 |
Router#
show policy-map interface
interface
|
インターフェイスに適用されたすべての入力および出力ポリシーの設定を表示します。このコマンドによって表示される統計情報はサポートされていないため、0 が表示されます。 |
例14-4 に、QoS コマンドの例を示します。
例14-4 QoS ステータス コマンドの例
Class Map match-any class-default (id 0)
Class Map match-all policer (id 2)
police 1000000 10000 conform-action transmit exceed-action drop
Router# show policy-map interface
service-policy input: police_f0
class-map: policer (match-all)
5 minute offered rate 0 bps, drop rate 0 bps
class-map: class-default (match-any)
5 minute offered rate 0 bps, drop rate 0 bps
QoS の設定例
このセクションでは、特定のコマンドとネットワーク設定の例について説明します。
• トラフィック クラスの定義例
• トラフィック ポリシーの作成例
• class-map match-any および class-map match-all コマンドの例
• match spr1 インターフェイスの例
• ML シリーズ の VoIP の例
• ML シリーズのポリシングの例
• ML シリーズの CoS ベース QoS の例
トラフィック クラスの定義例
例14-5 に、インターフェイス fastethernet0 への着信トラフィックと一致する class1 というクラス マップの作成方法を示します。
例14-5 クラス インターフェイス コマンドの例
Router(config)# class-map class1
Router(config-cmap)# match input-interface fastethernet0
例14-6 に、IP precedence 値 5、6、7 が設定された着信トラフィックと一致する class2 というクラス マップの作成方法を示します。
例14-6 クラス IP precedence コマンドの例
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 class-map を指定しないと、エラー メッセージが表示され、そのクラスは無視されます。サポートされている複数の値を使用できるコマンドは、match cos、match ip precedence、および match ip dscp です。
例14-7 に、ブリッジ グループ 1 に基づいた着信トラフィックと一致する class3 というクラス マップの作成方法を示します。
例14-7 クラス マップ ブリッジ グループ コマンドの例
Router(config)# class-map class3
Router(config-cmap)# match bridge-group 1
トラフィック ポリシーの作成例
例14-8 では、policy1 というトラフィック ポリシーは、ポリシー仕様(デフォルト クラスの帯域幅割り当て要求など)と、2 つの追加クラス(class1 および class2)を含むように定義されています。これらのクラスの一致条件は、トラフィック クラスで定義済みです。「トラフィック クラスの作成」を参照してください。
例14-8 トラフィック ポリシーの作成例
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 )必要があります。
例14-9 に、 class-map match-all コマンドを使用して設定したトラフィック クラスを示します。
例14-9 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 および bridge-group 10 と一致するかどうかが判別されます。この両方の一致条件を満たしている場合、パケットはトラフィック クラス cisco1 に一致します。
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 という条件に一致する必要があります。
例14-10 に、 class-map match-any コマンドで設定されたトラフィック クラスを示します。
例14-10 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
match spr1 インターフェイスの例
例14-11 では、class-map を定義するとき、SPR インターフェイスは match input-interface CLI に対するパラメータとして指定します。
例14-11 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 の例
図14-7 に、VoIP に設定された ML シリーズ QoS の例を示します。関連するコマンドは、例14-12 に示しています。
図14-7 ML シリーズ の VoIP の例
例14-12 ML シリーズの VoIP コマンド
Router(config)# class-map match-all voip
Router(config-cmap)# match ip precedence 5
Router(config-cmap)# exit
Router(config)# class-map match-any default
Router(config-cmap)# match any
Router(config-cmap)# exit
Router(config)# policy-map pos0
Router(config-pmap)# class default
Router(config-pmap-c)# bandwidth 1000
Router(config-pmap-c)# class voip
Router(config-pmap-c)# priority 1000
Router(config-pmap-c)# interface FastEthernet0
Router(config-if)# ip address 1.1.1.1 255.255.255.0
Router(config-if)# interface POS0
Router(config-if)# ip address 2.1.1.1 255.255.255.0
Router(config-if)# service-policy output pos0
Router(config-if)# crc 32
Router(config-if)# no cdp enable
Router(config-if)# pos flag c2 1
ML シリーズのポリシングの例
図14-8 に、ML シリーズのポリシングの例を示します。この例では、0 ~ 1,000,000 bps の IP precedence でトラフィックを制限するポリシング機能の設定方法を示しています。関連するコードは、例14-13 に示しています。
図14-8 ML シリーズのポリシングの例
例14-13 ML シリーズのポリシング コマンド
Router(config)# class-map match-all policer
Router(config-cmap)# match ip precedence 0
Router(config-cmap)# exit
Router(config)# policy-map police_f0
Router(config-pmap)# class policer
Router(config-pmap-c)# police 1000000 10000 conform-action transmit exceed-action drop
Router(config-pmap-c)# interface FastEthernet0
Router(config-if)# service-policy input police_f0
ML シリーズの CoS ベース QoS の例
図14-9 に、ML シリーズの CoS ベース QoS の例を示します。関連するコードは、図の次の例に示しています。CoS の例は、ML シリーズ カードがシスコ固有の RPR に設定され、ML シリーズ カードの POS ポートが point-to-point(p2p; ポイントツーポイント)SONET 回線によってリンクされていることを前提としています。ML シリーズ カード A および ML シリーズ カード C は、カスタマー アクセス ポイントです。ML シリーズ カード B は、カスタマー アクセス ポイントではありません。シスコ固有の RPR の設定方法の詳細については、「シスコ固有の RPR の設定」を参照してください。
図14-9 ML シリーズの CoS の例
例14-14 に、図14-9 の ML シリーズ カード A の設定に使用したコマンドを示します。
例14-14 ML シリーズ カード A の設定(カスタマー アクセス ポイント)
ML_Series_A(config)# cos commit 2
ML_Series_A(config)# policy-map Fast5_in
ML_Series_A(config-pmap)# class class-default
ML_Series_A(config-pmap-c)# police 5000 8000 8000 pir 10000 conform-action set-cos-transmit 2 exceed-action set-cos-transmit 1 violate-action drop
例14-15 に、図14-9 の ML シリーズ カード B の設定に使用したコマンドを示します。
例14-15 ML シリーズ カード B の設定(非カスタマー アクセス ポイント)
ML_Series_B(config)# cos commit 2
例14-16 に、図14-9 の ML シリーズ カード C の設定に使用したコマンドを示します。
例14-16 ML シリーズ カード C の設定(カスタマー アクセス ポイント)
ML_Series_B(config)# cos commit 2
ML_Series_B(config)# policy-map Fast5_in
ML_Series_B(config-pmap)# class class-default
ML_Series_B(config-pmap-c)# police 5000 8000 8000 pir 10000 conform-action set-cos-transmit 2 exceed-action set-cos-transmit 1 violate-action drop
マルチキャスト QoS およびプライオリティ マルチキャスト キューイングの概要
ML シリーズ カードの QoS は、デフォルトのマルチキャスト トラフィック クラスの他に、マルチキャスト トラフィックに対する 2 つのプライオリティ クラスの作成をサポートします。トラフィックのマルチキャスト プライオリティ キューイング クラスを作成することで、ML シリーズ カードがプライオリティ処理を行うために入力マルチキャスト トラフィック内の既存の CoS 値を認識するように設定します。
マルチキャスト プライオリティ キューイングの CoS 照合は、各パケットの「内部」CoS 値に基づいています。通常ではこの値は、出力 CoS 値(ポリシング機能でマーキングがイネーブルの場合はマーキング後)と同じですが、2 つの状況においては異なります。dot1q トンネリングが使用された場合には、内部 CoS 値は、出力値と異なります。dot1q トンネルでは、dot1q トンネルに入るときおよびトンネルから出るときに、内部 CoS 値は必ず外部タグ CoS の値となります。また、パケットが VLAN 上で転送され、VLAN タグが出口で削除されてパケットがタグなしで送信された場合にも、内部 CoS 値は出力値と異なります。この場合、内部 CoS はタグが削除された CoS です(入力ポリシングとマーキングがイネーブルな場合には入力ポリシングとマーキングを含む)。
cos priority-mcast コマンドは、マルチキャスト パケットの CoS は変更せず、マルチキャスト プライオリティ キューイング クラスの帯域幅の割り当てだけ変更します。このコマンドにより帯域幅は最小となり、デフォルトのマルチキャストまたはブロードキャスト キューとは別にキューイングされます。
マルチキャスト プライオリティ キューイング クラスを作成することで、特定のタイプのマルチクラス トラフィックで特別な処理を行うことができます。この処理は、マルチキャスト ビデオ配信および SP のマルチキャスト トラフィックの場合に特に有益です。たとえば、SP は SP 自身のマルチキャスト管理トラフィックを確実に保護する必要がある場合があります。保護するには、マルチキャスト管理トラフィックの CoS 値に対して、ML シリーズ カードでマルチキャスト プライオリティ キューイング クラスを作成して、最小帯域幅を保証できます。マルチキャスト ビデオ配信の場合、マルチキャスト ビデオ トラフィックの CoS 値に対する、ML シリーズ カード上のマルチキャスト プライオリティ キューイング クラスにより、VoIP や他のイーサネット サービスと共有するネットワークでマルチキャスト ビデオに使用する帯域幅の需要を効率的に管理できます。
(注) マルチキャスト プライオリティ キューイング トラフィックは、シスコ固有の RPR およびイーサチャネル上でポート ベースのロード バランシングを使用します。デフォルトのマルチキャスト トラフィックは、イーサチャネル上ではなく、シスコ固有の RPR 上でロード バランシングされます。マルチキャスト ロード バランシングは、ギガビット イーサネット ポート 0 を POS ポート 0 にマップし、ギガビット イーサネット ポート 1 を POS ポート 1 にマップします。マルチキャスト ロード バランシングは、ファースト イーサネット ポート 0 およびすべての偶数番号のファースト イーサネット ポートを POS 0 に、すべての奇数番号のファースト イーサネット ポートを POS 1 にマップします。
(注) マルチキャスト プライオリティ キューイングの帯域幅は、複数の送信元からのトラフィックで長期間にわたって使用超過にならないようにします。使用超過が続くと、マルチキャスト プライオリティ キューイングのスループットが減少します。
デフォルトのマルチキャスト QoS
デフォルトのマルチキャスト トラフィックは、マルチキャスト プライオリティ キューイングとして分類されないマルチキャスト トラフィック(フラッディングしたトラフィックを含む)です。また、デフォルトのマルチキャスト クラスには、ブロードキャスト データ トラフィック、制御トラフィック、レイヤ 2 プロトコル トンネリング、および MAC(メディア アクセス制御)学習時の未知の MAC のフラッディング トラフィックが含まれます。
ML シリーズ カードで QoS が設定されていない(マルチキャスト プライオリティ キューイングなし、出力ポリシー マップなし)場合、デフォルトのマルチキャスト帯域幅は最小で合計帯域幅の 10% です。
マルチキャスト プライオリティ キューイングに帯域幅が割り当てられ、出力ポリシー マップが適用されていない場合、デフォルトのマルチキャスト輻輳帯域幅は、最小で、マルチキャスト プライオリティ キューイングに割り当てられていない帯域幅の 10% です。
出力ポリシー マップがインターフェイスに適用されている場合、デフォルトのマルチキャストおよびデフォルトのユニキャストではデフォルトのクラスに割り当てられた最小帯域幅を共有します。また、このデフォルト クラスは match-any クラスとしても知られています。デフォルト マルチキャストの最小帯域幅は、デフォルト クラス帯域幅の合計の 10% です。
マルチキャスト プライオリティ キューイング QoS の制限
マルチキャスト プライオリティ キューイング QoS に適用される制限は次のとおりです。
• マルチキャスト プライオリティ キューイング トラフィックに設定された帯域割り当てと利用率はグローバルで、ML シリーズ カード上のすべてのポート(POS とファースト イーサネットの両方またはギガビット イーサネット)に適用されます。これらのポートでマルチキャスト プライオリティ キューイング トラフィックを伝送するかどうかは関係ありません。この機能を設定した場合、ML シリーズ カード上のすべてのポートでトラフィックのレートを低減できます。デフォルトのマルチキャスト トラフィックは、マルチキャスト プライオリティ キューイングのようにグローバルではなく、出力ポートでのみ帯域幅を使用します。
• マルチキャスト プライオリティ キューイング QoS は、レイヤ 2 ブリッジングに対してのみサポートされています。
• ML シリーズ カードは、最大で 2 つのマルチキャスト プライオリティ キューイング クラスをサポートします。
• ML シリーズ カードの他の QoS とは異なり、マルチキャスト プライオリティ キューイング QoS は Cisco IOS MQC の一部ではありません。
• priority-mcast 帯域幅の割り当てはポートごとに行われ、cos priority-mcast を使用して ML1000-2 で設定可能な最大帯域幅は 1000 Mbps です。ただし、マルチキャスト プライオリティ キューイングのロード バランシングにより、有効な帯域幅が増えます。たとえば、Gigabit EtherChannel(GEC)回線と STS-24c 回線を備えた ML1000-2 では、ポートごとに 1000 Mbps を割り当てることができますが、ロード バランシングにより合計で 2000 Mbps の有効な帯域幅を得ることができます。
マルチキャスト プライオリティ キューイング QoS の設定
マルチキャスト トラフィックのプライオリティ クラスを設定するには、 表14-5 に示す cos priority-mcast グローバル コンフィギュレーション コマンドを使用します。
表14-5 CoS マルチキャスト プライオリティ キューイング コマンド
|
|
Router (config)# [ no ] cos priority-mcast cos-value { bandwidth-kbps | mbps bandwidth-mbps | percent percent } |
マルチキャスト CoS 値に基づいてマルチキャスト トラフィックのプライオリティ クラスを作成し、輻輳が発生したときのトラフィック クラスの最小帯域幅保証を指定します。 cos-value では、帯域割り当てに使用されるマルチキャスト パケットの CoS 値を指定します。トラフィックの単一 CoS にのみ一致します(範囲ではありません)。サポートされている CoS の範囲は 0 ~ 7 です。 最小帯域幅保証は、Kbps、Mbps、または使用可能帯域幅全体のパーセンテージで指定できます。 ML シリーズ カードの有効な選択肢は次のとおりです。 • Kbps で指定したレート • Mbps で指定したレート • 使用可能ポート帯域幅全体のパーセンテージ(1 ~ 100) コマンドを再入力するときに、cos-value が同じでも帯域幅レートが異なる場合は、既存のクラスの帯域幅が変更されます。 異なる cos-value を指定してコマンドを再入力すると、別のマルチキャスト プライオリティ キューイングが作成されます。最大 2 つのマルチキャスト プライオリティ キューイング クラスが作成可能です。 このコマンドの no 形式を使用すると、マルチキャスト プライオリティ キューイング クラスが削除されます。
(注) 実際に設定できる帯域幅(Kbps または Mbps)はポートごとで、ML シリーズ カードの設定によって異なります。show interface コマンドは、ポートの最大帯域幅を表示します(たとえば、BW 100000 キロビット)。インターフェイスに適用されたすべての帯域幅とプライオリティ アクション、および cos priority-mcast 帯域幅の合計は、ポートの合計帯域幅を超えることはできません。
(注) ポートで、実際に設定できる帯域幅を超える priority-mcast 帯域幅を設定しようとすると、priority-mcast 設定変更が失敗し、マルチキャスト プライオリティ キューイングの帯域幅保証は変更されません。
|
CoS ベース パケットの統計情報の概要
CoS アカウンティングがイネーブルの場合、拡張パフォーマンス モニタリングでは、ML シリーズ カード インターフェイスの CoS 単位のパケット統計情報が表示されます。CoS 単位のパケット統計情報は、ブリッジド サービスに対してのみサポートされており、IP ルーティングや Multiprotocol Label Switching(MPLS; マルチプロトコル ラベル スイッチング)に対してはサポートされていません。CoS ベースのトラフィック利用率は、ファースト イーサネットまたはギガビット イーサネット インターフェイスあるいはサブインターフェイス(VLAN)レベル、POS インターフェイス レベルで表示されます。ただし、POS サブインターフェイス レベルでは表示されません。シスコ固有の RPR 統計情報は SPR インターフェイス レベルでは使用できませんが、SPR インターフェイスで構成された各 POS ポートには使用できます。EtherChannel(ポートチャネル)および BVI の統計情報は、メンバー ポート レベルでのみ使用できます。 表14-6 に、特定のインターフェイスで使用できる統計情報のタイプを示します。
表14-6 ML シリーズ カード インターフェイスのパケット統計情報
|
ギガビット/ファースト イーサネット インターフェイス
|
ギガビット/ファースト イーサネット サブインターフェイス(VLAN)
|
|
|
入力 ― パケットおよびバイト |
含まれている |
含まれている |
含まれていない |
含まれていない |
出力 ― パケットおよびバイト |
含まれている |
含まれている |
含まれていない |
含まれていない |
廃棄カウント ― パケットおよびバイト |
含まれている |
含まれていない |
含まれている |
含まれていない |
CoS ベース パケット統計情報は、CISCO-PORT-QOS MIB(管理情報ベース)の拡張機能を使用して、Cisco IOS の CLI および SNMP(簡易ネットワーク管理プロトコル)を通じて使用できます。CTC を通じて利用できません。
CoS ベース パケット統計情報の設定
(注) CoS ベース パケット統計情報を使用するには、拡張マイクロコード イメージを ML シリーズ カードにロードする必要があります。
(注) IEEE 802.1Q(QinQ)対応インターフェイスの場合、CoS アカウンティングはサービス プロバイダーが付けた外側のメトロ タグの CoS 値にのみ基づきます。カスタマー ネットワークによって送信されたパケット内部の CoS 値は、CoS アカウンティング用とはみなされません。
拡張マイクロコード イメージの詳細については、「複数のマイクロコード イメージ」を参照してください。
インターフェイスで CoS ベース パケット統計情報をイネーブルにするには、インターフェイス コンフィギュレーション レベルで 表14-7 に示すコマンドを使用します。
表14-7 CoS ベース パケット統計情報のコマンド
|
|
Router(config-if)#
cos accounting
|
CoS ベース パケット統計情報をイネーブルにし、特定のインターフェイスとそのインターフェイスのすべてのサブインターフェイスで記録されるようにします。このコマンドは、インターフェイス コンフィギュレーション モードでのみサポートされています。サブインターフェイス コンフィギュレーション モードではサポートされていません。 統計情報をディセーブルにするには、このコマンドの no 形式を使用します。 |
ML シリーズ カードで CoS ベース パケット統計情報を設定したあと、さまざまな show コマンドを使用して統計情報を表示できます。この情報を表示するには、EXEC モードで 表14-8 のコマンドのいずれかを使用します。
表14-8 CoS ベース パケット統計情報のコマンド
|
|
Router#
show interface
type number cos
|
インターフェイスで使用できる CoS ベース パケット統計情報を表示します。 |
Router#
show interface
type number.subinterface-number
cos
|
ファースト イーサネットまたはギガビット イーサネット サブインターフェイスで使用できる CoS ベース パケット統計情報を表示します。POS サブインターフェイスでは使用できません。 |
例14-17 に、これらのコマンドの例を示します。
例14-17 CoS ベース パケットの統計情報のコマンド例
Router# show interface gigabitethernet 0.5 cos
Cos 0: 1234567890 1234567890
Router# show interface gigabitethernet 0 cos
Cos 0: 1234567890 1234567890
Output: Drop-pkts Drop-bytes
Cos 0: 1234567890 1234567890
Router# show interface pos0 cos
Output: Drop-pkts Drop-bytes
IP SLA の概要
Cisco IP SLA は、今まで Cisco Service Assurance Agent と呼ばれていたもので、IP サービス レベルを保証するための Cisco IOS の機能です。IP SLA を使用すると、SP のカスタマーは SLA の測定や提供が可能になり、またエンタープライズ カスタマーは、サービス レベルの確認、アウトソーシングした SLA の確認、および新規または既存の IP サービスとアプリケーションのネットワーク パフォーマンスの把握が可能になります。IP SLA では、固有のサービス レベル保証メトリックと手法が使用されていて、非常に正確で高精度のサービス レベル保証測定値を提供します。
特定の SLA 運用に応じて、遅延の統計値、パケット損失、ジッタ、パケット シーケンス、接続、パス、サーバ応答時間、およびダウンロード時間がシスコの装置内でモニタリングされて CLI および SNMP MIB で保存されます。パケットには、送信元および宛先 IP アドレス、UDP および TCP ポート番号、ToS バイト(DSCP および IP プレフィクス ビットを含む)、Virtual Private Network(VPN; バーチャル プライベート ネットワーク)Routing/Forwarding instance(VRF; VPN ルーティング/転送インスタンス)、URL Web アドレスなどの、設定可能な IP およびアプリケーション レイヤ オプションがあります。
IP SLA では、生成されたトラフィックを使用して 2 つのネットワーキング装置(ルータなど)間のネットワーク パフォーマンスを測定します。IP SLA 装置が生成されたパケットを宛先装置に送信する際に IP SLA が開始します。宛先装置がパケットを受信したあと、IP SLA 動作のタイプに応じて、装置はパフォーマンス メトリックの計算を行うために送信元のタイム スタンプ情報で応答します。IP SLA 動作は、UDP などの特定のプロトコルを使用して動作する送信元装置からネットワーク内の宛先装置へのネットワーク測定です。
IP SLA は SNMP を使用して操作可能なので、CiscoWorks2000(CiscoWorks Blue)やInternetwork Performance Monitor(IPM)などの、Network Management System(NMS; ネットワーク管理システム)用パフォーマンス モニタリング アプリケーションでも使用できます。IP SLA 通知は、NetView などのアプリケーション用にある System Network Architecture(SNA)の Network Management Vector Transport(NMVT)を通じてイネーブルにすることもできます。
一般的な IP SLA 情報については、 http://www.cisco.com/warp/public/732/Tech/nmp/ipsla にある「Cisco IOS IP Service Level Agreements」の技術ページを参照してください。Cisco IP SLA 機能の設定に関する詳細については、次のURLの『Cisco IOS Configuration Fundamentals Configuration Guide,』Release 12.2 にある「Network Monitoring Using Cisco Service Assurance Agent」の章を参照してください。
http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a008030c773.html
ML シリーズ カードの IP SLA
ML シリーズ カードには、完全な IP SLA Cisco IOS サブシステムがあり、Cisco IOS Release 12.2S で使用可能なすべての通常機能を装備しています。ここでは、標準 IP SLA Cisco IOS CLI コマンドを使用します。SNMP のサポートは、rttMon MIB である IP SLA サブシステム 12.2(S) で提供されるサポートと同等です。
ML シリーズ カードでの IP SLA の制限事項
ML シリーズ カードは、Cisco IOS 12.2S ブランチの機能のみをサポートしています。IP SLA 精度機能や更新された IP SLA ラベルによる拡張 Cisco IOS CLI サポートなど、今後の Cisco IOS バージョンで利用可能な機能はサポートしていません。
このほかの制限は、以下のとおりです。
• CoS ビットの設定はサポートしていますが、設定された CoS ビットは、送信側または応答側が ONS 15454、ONS 15454 SDH、または ONS 15310-CL プラットフォームの場合に、CPU に入出力される際に優先されません。設定された CoS ビットは、中間 ONS ノードで優先されます。
• シスコ固有の RPR では、IP SLA パケットのデータ フローの方向は、カスタマー トラフィックの方向とは異なります。
• ML シリーズ カードのシステム クロックは、TCC2/TCC2P カードのクロックと同期します。NTP サーバとの同期は、ML シリーズ カードのクロックではなく、TCC2/TCC2P カードのクロックとの間で実行されます。