階層型 QoS の概要
階層型 QoS では、トラフィック管理をより細かい粒度で実行する、複数のポリシー レベルで QoS 動作を指定できます。階層型ポリシーは階層の複数のレベルで QoS 動作を指定できる QoS モデルです。階層型ポリシーを使用して次のことを実行できます。
•
親クラスが子ポリシー上で複数のキューをシェーピングする
•
集約トラフィックの特定のポリシー マップ アクションを適用する
•
クラス固有のポリシー マップ アクションを適用する
•
仮想回線(VC)内のトラフィック クラスのポリシングおよびマーキングを許可しながら、VC の最大帯域幅を制限する
service-policy コマンドは、ポリシーを異なるポリシーに、およびポリシーをインターフェイス、サブインターフェイス、VC、または VLAN に適用するために使用します。
たとえば、3 レベル階層型ポリシーで service-policy コマンドを使用して次のポリシーを適用します。
•
中位ポリシーに最下位ポリシー
•
最上位ポリシーに中位ポリシー
•
インターフェイス、サブインターフェイス、VC、または VLAN に最上位ポリシー
階層型ポリシーの利点
設定する階層型 QoS ポリシーのタイプに応じて、次のことを実行できます。
•
シングル レートに複数のキューをシェーピングする
•
1 つ以上のサブクラスに 1 つのトラフィック クラスを区切る
•
フレーム リレー PVC および IEEE 802.1Q 仮想 VLAN などの仮想インターフェイスに必要な、個別にキューに入れられた一連のトラフィック クラスの最大伝送速度を指定する
•
仮想回線の最小帯域幅キューを設定する
•
物理インターフェイス上のキューの集約トラフィックをシェーピングする(たとえば、100 Mbps の物理インターフェイスで 10 Mbps のサービスを提供する)
•
VC 内のクラスのポリシングおよびマーキングを許可しながら、VC の最大帯域幅を制限する
階層型ポリシーの制限事項
Cisco IOS XR Release 4.0.0 では、次の制限が適用されます。
ASR 9000 イーサネット ラインカード
3 レベルの階層では、最上位クラスにキューイング アクションがあるが、中位クラスまたは最下位クラスにキューイング アクションがない場合、設定は拒否されます。
たとえば、最上位クラスにはキューイング アクション(シェーピング)があるが、中位および最下位クラスにはキューイング アクションがないため、次の設定は、以前のリリースで有効ですが、Cisco IOS XR Release 4.0.0 で無効です。
設定を修正し、最上位クラスでキューイングを保持するために、中位または最下位クラスにキューイング アクションを追加します。たとえば、次の例では残存帯域幅のアクションが中位クラスに追加しています。最上位クラスからキューイングを削除することによって、この設定を修正してもかまいません。
bandwidth remaining ratio 1
bandwidth remaining ratio 1
bandwidth remaining ratio 1
ASR 9000 用 SIP 700
•
3 レベルの階層では、最下位レベルはキューイング アクションを許可しません。
•
入力では、キューイング アクションは許可されません。
2 レベルの階層型ポリシー
2 レベルの階層型ポリシー( ネストしたポリシー とも呼ばれます)は、階層の最上位に親レベル ポリシー、階層の最下位に子レベルのポリシーを設定して示すことができます。2 レベルの階層型ポリシーでは、親と子レベルでポリシングだけのポリシー、または親と子レベルでキューイングおよびポリシングが設定できます。階層型ポリシーは、ポリシーをトラフィックのクラスに直接付加することによって設定されます。
2 レベルの階層型ポリシング ポリシー
マルチレベル トラフィック ポリシングは通常、入力に適用され、例 1 に示すように、2 レベルのポリシーを適用するのが適しています。集約トラフィックが 10 Mbps にポリシングされ、同時に FTP トラフィックは 1 Mbps にポリシングされ、HTTP トラフィックは 3 Mbps にポリシングされます。ポリシー child-police は、ポリシー parent-police の class-default に付加されています。
例 1 2 レベルの階層型ポリシング ポリシー
police rate percent 10 mbps
service-policy child-police
2 レベルの階層型キューイング ポリシー
階層型キューイング ポリシーは通常、出力に適用し、例 1 の階層型ポリシング ポリシーを変更することによって設定できます。
例 2 では、parent-policy の class-default は 10 Mbps にシェーピングされます。ポリシー child-queueing-policy は、parent-policy の class-default に付加され、3 種類のトラフィック クラスを定義します。
•
voice-ip はリアルタイム転送プロトコル(RTP)と一致し、2 Mbps のポリシングのプライオリティ クラスとして設定されます。
•
ftp は保証帯域幅 1 Mbps で設定されます。
•
http は保証帯域幅 3 Mbps で設定されます。
例 2 2 レベルの階層型キューイング ポリシー
policy-map child-queueing-policy
service-policy child-queuing-policy
3 レベルの階層型ポリシー
例 3 は、フレーム リレー環境の 3 レベル階層型ポリシーを示しています。その目的は、フレーム リレー PVC を最大レートにシェーピングし(実質的に特定の帯域幅のインターフェイスを作成)、PVC 帯域幅を管理することです。
(注) 次の例は、ASR 9000 用 SIP 700 でのみ有効です。
例 3 3 レベルの階層型キューイング ポリシー:フレーム リレー
service-policy bandwidth-mgmt
policy-map bandwidth-mgmt
exceed-action set fr-de 1
ポリシー frpvc-policy はフレーム リレー PVC に付加され、frpvc-policy の class-default に設定された shape average コマンドを使用して、その PVC を 2 Mbps にシェーピングします。frpvc-policy のユーザ定義クラスを省略すると、すべてのトラフィックが class-default と一致し、シェーピングされることを意味します(PVC 全体がシェーピングされます)。
bandwidth-mgmt ポリシーを frpvc-policy の class-default に付加すると、PVC の 2 Mbps が voice クラス、video クラス、PVC の他のすべてのトラフィックに割り当てられる方法が指定されます。この場合、音声トラフィックは 2 Mbps の 20 % の低遅延が保証され、video クラスは 2 Mbps の 50 % が保証されます。
残りのトラフィックは 2 つのトラフィック クラスに分類されます。ftp トラフィック クラスは 2 Mbps でポリシングされ、ポリシング レートを超える FTP トラフィックには 1 に設定されたフレーム リレー DE ビットがあります。残りのトラフィックには 1 に設定されたフレーム リレー DE ビットがあります。
このタイプの設定は、QoS ベース サービスを提供するサービス プロバイダーに一般的です。
階層型ポリシー アクションの処理順序
階層型ポリシーでは、一部のアクションは階層の最上位から開始され、その他は階層の最下位から開始されます。
たとえば、 set dscp コマンドが階層内の複数の階層に使用された場合(複数の set dscp コマンドを同じパケットに適用できます)、パケットの最終 DSCP 値は階層の最下位にある set コマンドの値になります。階層の処理は最上位から開始され、最下位まで行われます。パケット分類も最上位から開始され、最下位まで行われます。
set コマンドを使用したもの以外のすべてのアクションについては、階層の最下位から最上位へと行われます。たとえば、すべてのキューイング アクションおよびポリシング アクション(ポリサーが階層の任意のレベルで適合、超過、または違反アクションによるマーキングを実行する場合など)は階層の最下位から階層の最上位に実行されます。
WRED
WRED が中位ポリシーで設定され、set アクションが最下位ポリシーの同じフィルタ用に設定される場合、WRED は最下位ポリシーのフィルタの新しく再マーキングされた値に基づきます。
スタンドアロン set アクションがポリサーのアクションの一部である場合、パケットは、最後に実行されるため、ポリサーの設定値としてマーキングされます。
3 つのパラメータによるスケジューラ
階層型 QoS では、ポリシーが階層内の任意のレベルのキューイング クラスで設定されている場合、異なるクラスのトラフィックは、設定に基づいたスケジューラの特定のルールに従ってスケジュールする必要があります。3 つのパラメータによるスケジューラは、トラフィックの制御に次のパラメータを使用するキューイング アルゴリズムです。
•
bandwidth コマンドを使用して最小帯域幅
•
bandwidth remaining コマンドを使用して超過帯域幅
•
shape average コマンドを使用して最大帯域幅
3 つのパラメータによるスケジューラは 1 レベル、2 レベル、または 3 レベルのポリシーに設定できます。例 4 では、1 レベルのポリシーは 3 つのパラメータによるスケジューラの設定例を示します。
この例では、policy_3parameter_scheduler が T1 のシリアル インターフェイスに適用され、T1 インターフェイスのリンク帯域幅が 1536 kbps の場合、各クラスのリンク帯域幅の分配は次のとおりになります。
•
クラス A は最小、最大、および超過帯域幅に対して明示的に設定されます。クラス A は、1536 kbps の 30 %(460.8 kbps)の保証最小帯域幅、および残りの(超過)帯域幅の 80 % を受信します。他のクラスが帯域幅共有をすべて使用していない場合、クラス A は、リンク帯域幅の最大 50 %(768 kbps)の最大帯域幅を受信できます。
•
クラス B は最小および超過帯域幅に対して明示的に設定されます。クラス B は、1536 kbps の 60 %(921.6 kbps)の保証最小帯域幅、および残りの(超過)帯域幅の 10 % を受信します。最大帯域幅が明示的に設定されていない場合、デフォルトの最大帯域幅は、リンク帯域幅(1536 kbps、 shape percent 100 の設定と同じ)です。他のクラスが帯域幅共有をすべて使用していない場合、クラス B は、リンク帯域幅の最大 100 % の最大帯域幅を受信できます。
•
クラス class-default は、キューイング パラメータで明示的に設定されません。デフォルトの最小帯域幅はありません。最大帯域幅が明示的に設定されていない場合、デフォルトの最大帯域幅は、リンク帯域幅(1536 kbps ) です。他のクラスが帯域幅共有をすべて使用していない場合、class-default は、リンク帯域幅の最大 100 % の最大帯域幅を受信できます。超過帯域幅については、クラス A およびクラス B は残りの(超過)帯域幅の合計 90 % を受信するので、class-default は残りの 10 % を受信します。
例 4 1 レベルのポリシーの 3 つのパラメータによるスケジューラ
policy-map policy_3parameter_scheduler
bandwidth percent 30 <----------------- minimum bandwidth
bandwidth remaining percent 80 <-----------excess bandwidth
shape average percent 50 <------------maximum bandwidth
bandwidth remaining percent 10
階層型ポリシーの 3 つのパラメータによるスケジューラのサポート
場合によっては、スケジューラは階層型ポリシーのあらゆるレベルで 3 つのパラメータをサポートしていない場合があります。
ASR 9000 イーサネット ラインカード
キューイングは階層型ポリシーのあらゆるレベルでサポートされます。
•
最上位:2 つのパラメータのみ(超過帯域幅および最大帯域幅)
•
中位:最小帯域幅、超過帯域幅、および最大帯域幅
•
最下位:2 つのパラメータのみ(最小帯域幅または超過帯域幅、および上限 128 Mbps の最大帯域幅)
ASR 9000 用 SIP 700
キューイングは階層型ポリシーの最上位と中位でサポートされます。
•
最上位:2 つのパラメータのみ(超過帯域幅および最大帯域幅)
•
中位:最小帯域幅、超過帯域幅、および最大帯域幅
•
最下位:キューイングはサポートされない
階層型ポリシング
階層型ポリシングは、入力および出力インターフェイスでサポートされます。例 1 に、2 レベルのポリシーでのトラフィック ポリシングを示します。階層型ポリシングでは、インターフェイスで異なる QoS クラスの分類サブモデルを適用し、サービス レベル契約(SLA)を実施できます。これにより、インターフェイスで異なる分類モードを適用している状態でインターフェイスをポリシングできます。
ASR 9000 イーサネット ラインカードの階層型ポリシング
階層型ポリシングをサポートするには、次の事項を考慮する必要があります。
•
入力および出力インターフェイス
•
すべてのカプセル化タイプのメイン インターフェイスとサブインターフェイス
•
2 レベルの階層型ポリシーと 3 レベルの階層型ポリシー
•
ポリシング アクション
–
中間および最下位ポリシー内
–
階層の最下位から階層の最上位へと処理される
•
ポリサー
–
最下位ポリサーの場合は、最上位ポリサーのレートが参照帯域幅として使用される
•
バンドル インターフェイスに適用されたポリシーは、すべてのバンドル メンバに複製される
•
階層内のすべてのレベルの統計情報
ASR 9000 用 SIP 700 の階層型ポリシング
階層型ポリシングをサポートするには、次の事項を考慮する必要があります。
•
入力および出力インターフェイス
•
すべてのカプセル化タイプのメイン インターフェイスとサブインターフェイス
•
2 レベルの階層型ポリシー(3 レベル ポリシーの中位と最下位)。
•
ポリシング アクション
–
最上位および最下位ポリシー内
–
階層の最下位から階層の最上位へと処理される
•
ポリサー
–
カラー ブラインド ポリサーは最上位および最下位の両方のポリシーでサポートされる
–
最下位クラスにポリサーは必要ではない
–
ポリシング レートは絶対レートまたはパーセンテージで設定できる
–
最下位ポリサーの場合は、最上位ポリサーのレートが参照帯域幅として使用される
•
階層内のすべてのレベルの統計情報
拡張階層型の入力ポリシング
階層型ポリシングでは、トラフィックは最初に子ポリサー レベルで、次にその親ポリサー レベルでポリシングされます。子ポリサーで指定された認定レートに適合するトラフィックを親ポリサーでドロップできます。
拡張階層型の入力ポリシングでは、 child-conform-aware コマンドは、親ポリサーが子ポリサーで指定された認定レートに適合する入力トラフィックをドロップしないようにします。
階層型 QoS の設定方法
階層型 QoS を設定する場合は、次の注意事項に従ってください。
•
ポリシーを定義する場合は、階層の最下位から開始します。たとえば、2 レベルの階層型ポリシーには、最下位ポリシーの後で最上位ポリシーを定義します。3 レベルの階層型ポリシーでは、最下位ポリシー、中位ポリシー、最上位ポリシーの順に定義します。
•
最上位ポリシー内に最下位ポリシーを設定する際、service-policy コマンドで input または output キーワードを指定しないでください。
•
中位および最上位ポリシーだけに最下位ポリシーを設定します。
ここでは、次の作業について説明します。
•
「3 つのパラメータによるスケジューラの設定」
•
「2 レベルの階層でのトラフィック ポリシング」
•
「物理および仮想リンクへの階層型ポリシーの付加」
•
「拡張階層型入力ポリシングの設定」
3 つのパラメータによるスケジューラの設定
3 つのパラメータによるスケジューラを設定する場合は、次の注意事項に従ってください。
•
3 つのパラメータによるスケジューラを使用するには、キューイング クラスをイネーブルにする必要があります。キューイング クラスをイネーブルにするには、3 つのパラメータのうち少なくとも 1 つを設定する必要があります。少なくとも 1 つのパラメータを設定すると、キューがクラスに割り当てられます。
•
1 つのパラメータだけを設定すると、スケジューラは他の 2 つのパラメータにデフォルト値を使用します。
•
3 つのパラメータすべてを同じクラスに設定できます。
•
最小帯域幅は、最大帯域幅未満でなければなりません。
特定のラインカードまたは SIP の 3 つのパラメータによるスケジューラのサポートについては、「階層型ポリシーの 3 つのパラメータによるスケジューラのサポート」を参照してください。
手順の概要
1.
configure
2.
policy-map policy-name
3.
class class-name
4.
shape average { percent percentage | rate [ units ]}
5.
exit
6.
policy-map policy-name
7.
class class-default
8.
bandwidth { rate [ units ] | percent percentage-value }
または
bandwidth remaining [ percent percentage-value | ratio ratio-value ]
または
shape average { percent percentage | rate [ units ]}
9.
service-policy policy-map-name
10.
end
または
commit
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map bottom-child |
最下位ポリシーを作成または変更します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class Bronze |
指定するトラフィック クラスをポリシー マップに割り当てます。ポリシー マップ クラス コンフィギュレーション モードを開始します。 |
ステップ 4 |
shape average { percent percentage | rate [ units ]}
RP/0/RSP0/CPU0:router(config-pmap-c)# shape average 1 mbps |
指定ビット レートにトラフィックをシェーピングします。 |
ステップ 5 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ポリシー マップ クラス コンフィギュレーション モードを終了します。 |
ステップ 6 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config-pmap)# policy-map Top-Parent |
最上位ポリシーを作成または変更します。 |
ステップ 7 |
class class-default
RP/0/RSP0/CPU0:router(config-pmap)# class class-default |
親 class-default クラスを設定または変更します。 (注) 親ポリシーの class-default クラスは 1 つだけ設定できます。他のトラフィック クラスは設定しないでください。 |
ステップ 8 |
bandwidth { rate [ units ] | percent percentage-value } または bandwidth remaining [ percent percentage-value | ratio ratio-value ] または shape average { percent percentage | rate [ units ]}
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 30 または RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 80 または RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 |
クラスに割り当てられた最小帯域幅をリンク帯域幅の割合で指定します。 クラスに超過帯域幅を割り当てる方法を指定します。 (他のクラスがすべての帯域幅共有を使用していない場合)最大帯域幅をリンク帯域幅の割合で指定します。 (注) 3 つのパラメータの少なくとも 1 つを設定する必要があります。 |
ステップ 9 |
service-policy policy-map-name
RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy Bottom-Child |
最上位 class-default クラスに最下位ポリシーを適用します。 |
ステップ 10 |
end または commit
RP/0/RSP0/CPU0:router(config-pmap-c)# end または RP/0/RSP0/CPU0:router(config-pmap-c)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting (yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
手順の概要
1.
configure
2.
policy-map policy-name
3.
class class-name
4.
bandwidth { rate [ units ] | percent percentage-value }
または
bandwidth remaining [ percent percentage-value | ratio ratio-value ]
または
shape average { percent percentage | rate [ units ]}
5.
exit
6.
policy-map policy-name
7.
class class-default
8.
(任意) shape average { percent percentage | rate [ units ]}
9.
service-policy policy-map-name
10.
end
または
commit
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map bottom-child |
最下位ポリシーを作成または変更します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class Bronze |
指定するトラフィック クラスをポリシー マップに割り当てます。ポリシー マップ クラス コンフィギュレーション モードを開始します。 |
ステップ 4 |
bandwidth { rate [ units ] | percent percentage-value } または bandwidth remaining [ percent percentage-value | ratio ratio-value ] または shape average { percent percentage | rate [ units ]}
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 30 または RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 80 または RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 |
クラスに割り当てられた最小帯域幅をリンク帯域幅の割合で指定します。 クラスに超過帯域幅を割り当てる方法を指定します。 (他のクラスがすべての帯域幅共有を使用していない場合)最大帯域幅をリンク帯域幅の割合で指定します。 (注) 3 つのパラメータの少なくとも 1 つを設定する必要があります。 |
ステップ 5 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ポリシー マップ クラス コンフィギュレーション モードを終了します。 |
ステップ 6 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config-pmap)# policy-map Top-Parent |
最上位ポリシーを作成または変更します。 |
ステップ 7 |
class class-default
RP/0/RSP0/CPU0:router(config-pmap)# class class-default |
親 class-default クラスを設定または変更します。 (注) 親ポリシーの class-default クラスは 1 つだけ設定できます。他のトラフィック クラスは設定しないでください。 |
ステップ 8 |
shape average { percent percentage | rate [ units ]}
RP/0/RSP0/CPU0:router(config-pmap-c)# shape average 1 mbps |
(任意)指定ビット レートにトラフィックをシェーピングします。 |
ステップ 9 |
service-policy policy-map-name
RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy Bottom-Child |
最上位 class-default クラスに最下位ポリシーを適用します。 |
ステップ 10 |
end または commit
RP/0/RSP0/CPU0:router(config-pmap-c)# end または RP/0/RSP0/CPU0:router(config-pmap-c)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting (yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
2 レベルの階層でのトラフィック ポリシング
階層型ポリシング ポリシーを、特定のインターフェイスのルータに出入りするトラフィックをポリシングするように設定するには、次の手順を実行します。
手順の概要
1.
configure
2.
policy-map policy-name
3.
class class-name
4.
(任意) police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-rate value [ units ]] [ peak-burst peak-burst [ burst-units ]]
5.
exit
6.
policy-map policy-name
7.
class class-default
8.
(任意) police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-rate value [ units ]] [ peak-burst peak-burst [ burst-units ]]
9.
service-policy policy-map-name
10.
end
または
commit
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map Business |
最下位ポリシーを作成または変更します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class Gold |
指定するトラフィック クラスをポリシー マップに割り当てます。ポリシー マップ クラス コンフィギュレーション モードを開始します。 |
ステップ 4 |
police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-rate value [ units ]] [ peak-burst peak-burst [ burst-units ]]
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate percent 10 |
(任意)トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。 |
ステップ 5 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ポリシー マップ クラス コンフィギュレーション モードを終了します。 |
ステップ 6 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map All_Traffic |
最上位ポリシーを作成または変更します。 |
ステップ 7 |
class class-default
RP/0/RSP0/CPU0:router(config-pmap)# class class-default |
デフォルトのトラフィック クラスを設定または変更します。 |
ステップ 8 |
police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-rate value [ units ]] [ peak-burst peak-burst [ burst-units ]]
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate 128 mbps burst 15000 bytes |
(任意)トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。 |
ステップ 9 |
service-policy policy-map-name
RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy Business |
親 class-default クラスに最下位ポリシー マップを適用します。 (注) input または output キーワードを指定しないでください。 |
ステップ 10 |
end または commit
RP/0/RSP0/CPU0:router(config-pmap-c)# end または RP/0/RSP0/CPU0:router(config-pmap-c)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting (yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
物理および仮想リンクへの階層型ポリシーの付加
階層型ポリシーをインターフェイス、サブインターフェイス、仮想回線、および仮想 LAN に付加するには、 service-policy { input | output } policy-map-name コマンドを使用します。
手順の概要
1.
configure
2.
interface type interface-path-id
3.
service-policy {input | output} policy-map-name
4.
end
または
commit
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface pos 0/2/0/0 |
階層型ポリシーを付加するインターフェイスを指定します。 |
ステップ 3 |
service-policy {input | output} policy-map-name
RP/0/RSP0/CPU0:router(config-if)# service-policy input All_Traffic |
指定したポリシー マップを付加します。 • input :着信パケットに QoS ポリシーを適用します。 • output :送信パケットに QoS ポリシーを適用します。 • policy-map-name :設定済み最上位ポリシー マップの名前。 |
ステップ 4 |
end または commit
RP/0/RSP0/CPU0:router(config-pmap-c)# end または RP/0/RSP0/CPU0:router(config-pmap-c)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting (yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
拡張階層型入力ポリシングの設定
拡張階層型入力ポリシングの設定と階層型入力ポリシングの設定の違いは、 child-conform-aware コマンドが追加されていることです。
親ポリサーで使用すると、 child-conform-aware コマンドは親ポリサーが子ポリサーで指定される最大レートに適合する入力トラフィックをドロップしないようにします。
制限事項
拡張階層型入力ポリシングには次の制限があります。
•
入力方向のみ。
•
すべての子ポリサー レートの合計は親ポリサー レートを超えることはできません。
•
シングル レート、2 カラー ポリサー(カラー ブラインド)のみ。
•
police rate コマンドでバースト サイズを指定する設定がサポートされています。ピーク バーストを指定する設定はシングル レート 3 カラー ポリサーになり、拒否されます。
•
child-conform-aware コマンドは親ポリサーだけで設定します。
手順の概要
1.
configure
2.
policy-map policy-name
3.
class class-name
4.
service-policy policy-map-name
5.
police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-rate value [ units ]] [ peak-burst peak-burst [ burst-units ]]
6.
child-conform-aware
7.
conform-action [ drop | set options | transmit]
8.
exceed-action [ drop | set options | transmit ]
9.
end
または
commit
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map parent |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class-default |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
service-policy policy-map-name
RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy child |
親 class-default クラスに最下位ポリシー マップを適用します。 (注) input または output キーワードを指定しないでください。 |
ステップ 5 |
police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-rate value [ units ]] [ peak-burst peak-burst [ burst-units ]]
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate percent 50 |
トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。 |
ステップ 6 |
child-conform-aware
RP/0/RSP0/CPU0:router(config-pmap-c-police)# child-conform-aware |
親ポリサーが子ポリサーで指定される最大レートに適合する入力トラフィックをドロップしないようにします。 |
ステップ 7 |
conform-action [ drop | set options | transmit]
RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-action transmit |
レート制限に適合したパケットに対して実行するアクションを設定します。可能なアクションは次のとおりです。 transmit :パケットを送信します。 |
ステップ 8 |
exceed-action [ drop | set options | transmit ]
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action drop |
レート制限を超過したパケットに対して実行するアクションを設定します。可能なアクションは次のとおりです。 drop :パケットをドロップします。 |
ステップ 9 |
end または commit
RP/0/RSP0/CPU0:router(config-pmap-c-police)# end または RP/0/RSP0/CPU0:router(config-pmap-c-police)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
階層型 QoS の設定例
ここでは、次の設定例について説明します。
•
「2 レベルの階層型キューイング ポリシー:例」
•
「3 レベル階層型キューイング ポリシー:例」
•
「3 つのパラメータによるスケジューラ:例」
•
「階層型ポリシング:例」
•
「物理および仮想リンクへのサービス ポリシーの付加:例」
•
「拡張階層型の入力ポリシング:例」
2 レベルの階層型キューイング ポリシー:例
次に、マルチリンク フレーム リレー メイン インターフェイスに適用される 2 レベルのポリシーの例を示します。同じポリシーは、マルチリンク PPP メイン インターフェイスに適用できます。
class-map match-any video
class-map match-any premium
class-map match-any voice-ip
class-map match-any best-effort
service-policy child_policy
random-detect precedence 2 10 ms 100 ms
random-detect precedence 3 20 ms 200 ms
interface Multilink0/2/1/0/1
service-policy output parent_shape
encapsulation frame-relay
frame-relay intf-type dce
ASR 9000 イーサネット ラインカード
この例では、ポリシー grand-parent はメイン イーサネット インターフェイスに適用されます。親の親ポリシーは、500 Mbps までのインターフェイスのすべての発信トラフィックを制限します。親ポリシーにクラス vlan1 および vlan2 があり、vlan1 または vlan2 のトラフィックは 500 Mbps の 40 % に制限されます。ポリシー child_policy はさまざまなサービスに基づいてトラフィックを分類し、それに応じて各クラスの帯域幅を割り当てます。
class-map match-any video
class-map match-any premium
class-map match-any voice-ip
class-map match-any best-effort
class-map match-any vlan1
class-map match-any vlan2
service-policy child_policy
service-policy child_policy
random-detect precedence 2 10 ms 100 ms
random-detect precedence 3 20 ms 200 ms
interface GigabitEthernet0/0/0/9
service-policy output grand-parent
ASR 9000 用 SIP 700
この例では、parent_policy ポリシーは、マルチリンク フレーム リレー メイン インターフェイスに適用されます。ポリシー parent_policy にはフレーム リレー DLCI で一致する 2 つのクラスがあります。マルチリンク フレーム リレーのメイン インターフェイスには、2 つのフレーム リレー PVC が設定されています(DLCI 16、DLCI 17)。
interface Multilink0/2/1/0/1
service-policy output parent_policy
encapsulation frame-relay
frame-relay intf-type dce
service-policy child_queuing_policy
service-policy child_queuing_policy
class-map match-any parentQ_1 <----- class map parent class dlci=16
match frame-relay dlci 16
class-map match-any parentQ_2 <----- class map parent class dlci=17
match frame-relay dlci 17
interface Multilink0/2/1/0/1.16 point-to-point <------ dlci 16 pvc config
ipv4 address 192.1.1.1 255.255.255.0
interface Multilink0/2/1/0/1.17 point-to-point <------ dlci 17 pvc config
ipv4 address 192.1.2.1 255.255.255.0
policy-map child_queuing_policy <--------- child policy map
service-policy gchild_policy
random-detect discard-class 2 10 ms 100 ms
random-detect discard-class 3 20 ms 200 ms
policy-map gchild_policy <-------- grandchild policy map
show run class-map <----------- shows all class-map configs
Mon Aug 2 11:35:19.479 UTC
class-map match-any video
class-map match-any premium
class-map match-any voice-ip
class-map match-any parentQ_1
match frame-relay dlci 16
class-map match-any parentQ_2
match frame-relay dlci 17
class-map match-any premium_g1
class-map match-any premium_g2
class-map match-any best-effort
ASR 9000 イーサネット ラインカード
次に、2 レベルの階層型ポリシーに 3 つのパラメータによるスケジューラを設定する例を示します。
bandwidth remaining percent 80
service-policy Bottom-ChildA
bandwidth remaining percent 10
service-policy Bottom-ChildB
ASR 9000 用 SIP 700
次に、2 レベルの階層型ポリシーに 3 つのパラメータによるスケジューラを設定する例を示します。
bandwidth remaining percent 80
bandwidth remaining percent 10
service-policy Bottom-Child
ASR 9000 イーサネット ラインカード
次に、各レベルでポリシング アクションを持つ 2 レベルのポリシーの例を示します。最上位に 2 つのクラスがあり、顧客ごとに 1 つです。各顧客からの集約されたトラフィックは、最上位の police rate コマンドで指定されたレート制限が適用されます。最下位の各クラスのトラフィックは、追加の一連のポリシング アクションによって、顧客ごとに異なるタイプのトラフィックを制御するように制限されています。
class-map match-any customera
class-map match-any customerb
class-map match-any prec1
class-map match-any prec3
bandwidth remaining ratio 10
bandwidth remaining ratio 100
ASR 9000 用 SIP 700
この例では、ポリサーは Prec1 および Prec3 クラスのポリシー child で、およびポリシー parent の class-default で指定されます。子ポリシーのポリサーは、クラス Prec1 のトラフィックを(50 % のうち)30 % でポリシングし、クラス Prec3 のトラフィックを(50 % のうち)60 % でポリシングし、その他のトラフィックを(50 % のうち)10 % でポリシングします。累積方式で、インターフェイスのすべてのトラフィックは親ポリシーのポリサーによってインターフェイス レートの 50 % でポリシングされます。
class-map match-any prec1
class-map match-any prec3
物理および仮想リンクへのサービス ポリシーの付加:例
物理リンク:例
この例では、ポリシー p1 はギガビット イーサネット インターフェイスに適用されます。
interface gigabitethernet 0/2/0/0
仮想リンク:例
この例では、p2 ポリシーは、マルチリンク フレーム リレー サブインターフェイス下のプライベート仮想回線(PVC)に適用されます。QoS ポリシーは、フレーム リレー サブ インターフェイスの PVC に対してのみ適用できます。フレーム リレー サブ インターフェイスに直接適用することはできません。
interface Multilink0/2/1/0/1.16 point-to-point
encapsulation frame-relay
ipv4 address 192.1.1.1 255.255.255.0
拡張階層型の入力ポリシング:例
次に、2 つのクラスが子ポリシーに定義された親と子ポリシーの例を示します。クラス AF1 では、exceed アクションがトラフィックをドロップする以外のアクションに設定されます。
child-conform-aware コマンドが親ポリシーで設定されていない場合、親ポリサーは子ポリサーの適合レートと一致し、親ポリサーの適合レートを超過するトラフィックをドロップします。
親ポリサーで使用すると、 child-conform-aware コマンドは親ポリサーが子ポリサーで指定した認定レートに適合する入力トラフィックをドロップしないようにします。
この例では、子ポリシーのクラス EF が 1 Mbps の認定レート、conform アクション、exceed アクションで設定されます。1 Mbps 未満のトラフィックは MPLS EXP ビットが 4 に設定された親ポリサーが適用され、1 Mbps を超えるトラフィックはドロップされます。
子ポリシーのクラス AF1 は 1 Mbps の認定レート、conform アクション、exceed アクションで設定されます。1 Mbps 未満のトラフィックは MPLS EXP ビットが 3 に設定された親ポリサーが適用され、1 Mbps を超えるトラフィックは MPLS EXP ビットが 2 に設定された親ポリシーが適用されます。
この子ポリシーを設定すると、親ポリサーは子クラスのトラフィックが 2 Mbps の認定レートを超えていると見なします。親ポリサーの child-conform-aware コマンドがない場合、親は 2 Mbps にポリシングします。これにより、子ポリシーのクラス EF からの一部の適合トラフィックがドロップされることがあります。 child-conform-aware コマンドが親ポリサーに設定されている場合、親ポリサーは、子ポリシーで適合するトラフィックをドロップしません。
conform-action set mpls experimental imposition 4
conform-action set mpls experimental imposition 3
exceed-action set mpls experimental imposition 2