Catalyst 3550 マルチレイヤ スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEC
QoS の設定
QoS の設定
発行日;2013/06/03 | 英語版ドキュメント(2009/02/14 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 14MB) | フィードバック

目次

QoS の設定

QoS の概要

QoS の基本モデル

分類

QoS ACL に基づく分類

クラス マップおよびポリシー マップに基づく分類

ポリシングおよびマーキング

マッピング テーブル

キューイングおよびスケジューリング

ギガビット対応ポートのキューイングおよびスケジューリング

10/100 イーサネット ポートのキューイングおよびスケジューリング

パケットの変更

auto-QoS の設定

生成される自動 QoS 設定

コンフィギュレーションにおける自動 QoS の影響

設定時の注意事項

旧版のソフトウェア リリースからのアップグレード

VoIP 用自動 QoS のイネーブル化

自動 QoS 情報の表示

自動 QoS 設定例

標準 QoS の設定

標準 QoS のデフォルト設定

標準 QoS 設定時の注意事項

QoS のグローバルなイネーブル化

ポートの信頼状態を使用した分類の設定

QoS ドメイン内のポートの信頼状態の設定

インターフェイスの CoS 値の設定

ポート セキュリティを確保するための信頼境界機能の設定

パススルー モードのイネーブル化

別の QoS ドメインとの境界ポートでの DSCP 信頼状態の設定

QoS ポリシーの設定

ACL によるトラフィックの分類

クラス マップを使用した物理ポート単位のトラフィックの分類

クラス マップを使用したポート単位 VLAN 単位でのトラフィックの分類

ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング

集約ポリサーによるトラフィックの分類、ポリシング、およびマーキング

DSCP マップの設定

CoS/DSCP マップの設定

IP precedence/DSCP マップの設定

ポリシング済み DSCP マップの設定

DSCP/CoS マップの設定

DSCP/DSCP 変換マップの設定

ギガビット対応イーサネット ポートの出力キューの設定

CoS 値の選択した出力キューへのマッピング

出力キューのサイズ比の設定

テールドロップしきい値の割合設定

WRED ドロップしきい値パーセンテージの設定

出力緊急キューの設定

出力キュー間での帯域幅の割り当て

10/100 イーサネット ポートの出力キューの設定

CoS 値の選択した出力キューへのマッピング

最小予約レベルの設定

出力緊急キューの設定

出力キュー間での帯域幅の割り当て

標準 QoS 情報の表示

標準 QoS の設定例

既存のワイヤリング クローゼット用の QoS 設定

インテリジェントなワイヤリング クローゼット用の QoS 設定

ディストリビューション レイヤの QoS 設定

QoS の設定

この章では、自動 QoS(auto-QoS)コマンドまたは標準の QoS コマンドを使用して QoS を設定する方法について説明します。QoS を使用すると、特定のトラフィックを他のトラフィック タイプよりも優先的に処理できます。QoS を使用しなかった場合、Catalyst 3550 スイッチはパケットの内容やサイズに関係なく、各パケットにベストエフォート型のサービスを提供します。信頼性、遅延限度、またはスループットに関して保証することなく、スイッチはパケットを送信します。


) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスを参照してください。


この章の内容は、次のとおりです。

「QoS の概要」

「auto-QoS の設定」

「自動 QoS 情報の表示」

「自動 QoS 設定例」

「標準 QoS の設定」

「標準 QoS 情報の表示」

「標準 QoS の設定例」


) スイッチに QoS パラメータを設定する場合、使用できる QoS アクセス コントロール エントリ(ACE)数が最大となるようにシステム リソースを割り当てるには、sdm prefer access グローバル コンフィギュレーション コマンドを使用し、アクセス テンプレートに Switch Database Management 機能を設定します。SDM テンプレートの詳細については、「ユーザ選択機能のためのシステム リソースの最適化」を参照してください。


スイッチは、モジュラ QoS CLI(MQC)コマンドの一部をサポートします。MQC コマンドの詳細については、次の URL にある『Modular Quality of Service Command Line Interface Overview』を参照してください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fqos_c/fqcprt8/qcfmdcli.htm#89799

QoS の概要

ネットワークは通常、ベスト エフォート型の配信方式で動作します。したがって、すべてのトラフィックに等しいプライオリティが与えられ、適度なタイミングで配信される可能性はどのトラフィックでも同等です。輻輳が発生すると、すべてのトラフィックが等しくドロップされます。

QoS を設定すると、特定のネットワーク トラフィックを選択し、相対的な重要性に応じてそのトラフィックに優先度を指定し、輻輳管理および輻輳回避技術を使用して、優先処理を実行できます。ネットワークに QoS を実装すると、ネットワーク パフォーマンスがさらに予測しやすくなり、帯域幅をより効率的に利用できるようになります。

QoS の実装は、DiffServ アーキテクチャに基づきます。これは、Internet Engineering Task Force(IETF; インターネット技術特別調査委員会)による規格です。このアーキテクチャでは、ネットワークに入るときに各パケットを分類することが規定されています。この分類は IP パケット ヘッダーに格納され、推奨されない IP タイプ オブ サービス(ToS)フィールドの 6 ビットを使用して、分類( クラス )情報として伝達されます。分類情報はレイヤ 2 フレームでも伝達できます。ここでは、レイヤ 2 フレームまたはレイヤ 3 パケット内のこれらの特殊ビットについて説明します(図 29-1 を参照)。

レイヤ 2 フレームのプライオリティ ビット

レイヤ 2 の ISL(スイッチ間リンク)フレーム ヘッダーには、下位 3 ビットで IEEE 802.1p サービス クラス(CoS)値を伝達する 1 バイトのユーザ フィールドがあります。レイヤ 2 ISL トランクとして設定されたインターフェイス上では、すべてのトラフィックが ISL フレームを使用します。

レイヤ 2 IEEE 802.1Q フレーム ヘッダーには、2 バイトのタグ制御情報フィールドがあり、上位 3 ビット(ユーザ プライオリティ ビット)で CoS 値が伝達されます。レイヤ 2 IEEE 802.1Q トランクとして設定されたインターフェイスでは、ネイティブ VLAN のトラフィックを除くすべてのトラフィックが IEEE 802.1Q フレームに収められます。

他のフレーム タイプでレイヤ 2 CoS 値を伝達することはできません。

レイヤ 2 CoS 値の範囲は、0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。

レイヤ 3 パケットのプライオリティ ビット

レイヤ 3 IP パケットは、IP precedence 値または Diffserv コード ポイント(DSCP)値のいずれかを伝送できます。DSCP 値は IP precedence 値と下位互換性があるので、QoS ではどちらの値も使用できます。

IP precedence 値の範囲は 0 ~ 7 です。

DSCP 値の範囲は 0 ~ 63 です。

図 29-1 フレームおよびパケットにおける QoS 分類ビット

 


) レイヤ 3 IPv6 パケットは非 IP パケットとして処理され、スイッチによってブリッジングされます。


同じクラス情報が与えられているパケットは同じ扱いで転送を処理し、異なるクラス情報のパケットはそれぞれ異なる扱いをするために、インターネットにアクセスするすべてのスイッチおよびルータはクラス情報を使用します。パケットのクラス情報は、設定されているポリシー、パケットの詳細な検証、またはその両方に基づいて、エンド ホストが割り当てるか、または伝送中にスイッチまたはルータで割り当てることができます。パケットの詳しい検証は、コア スイッチおよびルータが過負荷にならないように、ネットワーク エッジに近い位置で行われることが前提になります。

パス上のスイッチおよびルータは、クラス情報を使用して、個々のトラフィック クラスに割り当てるリソースの量を制限できます。DiffServ アーキテクチャでトラフィックを処理するときの、各デバイスの動作をホップ単位動作といいます。パス上のすべてのデバイスに一貫性のある Per-Hop Behavior を実行させることによって、エンドツーエンドの QoS ソリューションを構築できます。

ネットワーク上で QoS を実装する作業は、インターネットワーキング デバイスが提供する QoS 機能、ネットワークのトラフィック タイプおよびパターン、さらには着信および発信トラフィックに求める制御のきめ細かさによって、簡単にも複雑にもなります。

ここでは、QoS の段階とその動作について説明します。

「QoS の基本モデル」

「分類」

「ポリシングおよびマーキング」

「マッピング テーブル」

「キューイングおよびスケジューリング」

「パケットの変更」

QoS の基本モデル

図 29-2 に、QoS の基本モデルを示します。入力インターフェイスでのアクションには、トラフィックの分類、ポリシング、およびマーキングが含まれます。

分類は、トラフィックの種類を区別します。このプロセスによって、パケットの内部 DSCP が生成されます。内部 DSCP は、今後このパケットに対して実行されるすべての QoS アクションを表します。詳細については、「分類」を参照してください。

ポリシングでは、内部 DSCP を設定済みポリサーと比較して、パケットが適合か不適合かを判別します。ポリサーは、トラフィック フローで消費される帯域幅を制限します。この判別の結果が、マーカーに引き渡されます。詳細については、「ポリシングおよびマーキング」を参照してください。

マーキングでは、パケットがアウト オブ プロファイルの場合の対処法に関して、ポリサーおよび設定情報を評価し、パケットの扱い(パケットを変更しないで通過させるか、パケットの DSCP ラベルをマークダウンするか、またはパケットをドロップするか)を決定します。詳細については、「ポリシングおよびマーキング」を参照してください。

出力インターフェイスで行われるアクションには、キューイングおよびスケジューリングがあります。

キューイングは、内部 DSCP を評価し、4 つの出力キューのどれにパケットを入れるかを決定します。DSCP 値は、キューの 1 つを選択する CoS 値にマッピングされます。詳細については、「マッピング テーブル」を参照してください。

スケジューリングでは、設定されている重み付けラウンド ロビン(WRR)の重みとしきい値に基づいて、4 つの出力キューを処理します。キューの 1 つは、他のキューの処理前に空になるまで処理される緊急キューにできます。輻輳回避技術には、ギガビット対応イーサネット ポートのテール ドロップおよび重み付けランダム早期検出(WRED)と、10/100 イーサネット ポートのテール ドロップ(1 のしきい値のみを使用)があります。詳細については、「キューイングおよびスケジューリング」を参照してください。


) ポリシングとマーキングは、出力インターフェイスでも実行されます。


図 29-2 QoS の基本モデル

 

分類

分類とは、パケットのフィールドを検証して、トラフィックの種類を区別するプロセスです。QoS がスイッチ上でグローバルにイネーブルになっている場合のみ、分類はイネーブルです。デフォルトでは、QoS はグローバルにディセーブルになっているため、分類は実行されません。


) 分類は、物理インターフェイスまたはポート単位 VLAN 単位で実行されます。スイッチの仮想インターフェイス レベルでのパケットの分類はサポートされません。


着信トラフィックの分類に、フレームまたはパケットのどのフィールドを使用するかは、ユーザ側で指定します。

非 IP トラフィックには、次の分類オプションを使用できます(図 29-3 を参照)。

ポート デフォルトを使用します。フレームに CoS 値が含まれない場合、スイッチは着信フレームにデフォルト ポートの CoS 値を割り当てます。次に、設定変更可能な CoS/DSCP マップを使用して、内部 DSCP 値を生成します。スイッチは内部 DSCP 値を使用して、トラフィックのプライオリティを表示する CoS 値を生成します。

着信フレームの CoS 値を信頼します(ポートが CoS を信頼するように設定します)。次に、設定変更可能な CoS/DSCP マップを使用して、内部 DSCP 値を生成します。レイヤ 2 の ISL フレーム ヘッダーの場合、CoS 値は 1 バイトのユーザ フィールドの下位 3 ビットに格納されて伝達されます。レイヤ 2 IEEE 802.1Q フレームのヘッダーは、タグ制御情報フィールドの上位 3 ビットで CoS 値を伝達します。CoS 値の範囲は、0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。

信頼 DSCP および信頼 IP precedence の設定は、非 IP トラフィックの場合は無意味です。これらのオプションのいずれかでポートを設定し、IP 以外のトラフィックを受信した場合、スイッチはデフォルトのポート CoS 値を割り当て、CoS 対 DSCP のマップから内部 DSCP を生成します。

設定されたレイヤ 2 の MAC アクセス コントロール リスト(ACL)に基づいて分類を実行します。レイヤ 2 の MAC ACL は、MAC 送信元アドレス、MAC 宛先アドレス、および Ethertype フィールドを調べることができます。ACL を設定していない場合は、ベストエフォート トラフィックを意味するデフォルトの DSCP 0 がパケットに割り当てられます。ACL を設定している場合は、ポリシー マップによって着信フレームに割り当てる DSCP が指定されます。

IP トラフィックには、次の分類オプションを使用できます(図 29-3 を参照)。

着信パケットの IP DSCP を信頼し(ポートを Trust DSCP に設定し)、パケットに同じ DSCP を割り当てて内部的に使用します。IETF は、1 バイトの ToS フィールドの上位 6 ビットを DSCP として定義しています。特定の DSCP 値が表すプライオリティは、設定可能です。DSCP 値の範囲は 0 ~ 63 です。

2 つの QoS 管理ドメインの境界上にあるポートの場合は、設定可能な DSCP/DSCP 変換マップを使用して、DSCP を別の値に変更できます。

着信パケットの IP precedence を信頼し(IP precedence を信頼するようにポートを設定し)、設定可能な IP precedence/DSCP マップを使用して DSCP を生成します。IP バージョン 4 仕様では、1 バイトの ToS フィールドの上位 3 ビットが IP precedence として定義されています。IP precedence 値の範囲は 0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。

着信パケットの CoS 値(存在する場合)を信頼し、CoS/DSCP マップを使用して DSCP を生成します。

設定された IP 標準 ACL または IP 拡張 ACL(IP ヘッダーの各フィールドを調べる)に基づいて、分類を実行します。ACL を設定していない場合は、ベストエフォート トラフィックを意味するデフォルトの DSCP 0 がパケットに割り当てられます。ACL を設定している場合は、ポリシー マップによって着信フレームに割り当てる DSCP が指定されます。

ここで説明されているマップの詳細については、「マッピング テーブル」を参照してください。ポートの信頼状態の設定情報については、「ポートの信頼状態を使用した分類の設定」を参照してください。

図 29-3 分類フローチャート

 

QoS ACL に基づく分類

IP 標準 ACL、IP 拡張 ACL、およびレイヤ 2 MAC ACL を使用すると、同じ特性を備えたパケット グループ(クラス)を定義できます。QoS のコンテキストでは、アクセス コントロール エントリ(ACE)の許可および拒否アクションの意味が、セキュリティ ACL の場合とは異なります。

許可アクションとの一致が検出されると(最初の一致の原則)、指定の QoS 関連アクションが実行されます。

拒否アクションと一致した場合は、処理中の ACL がスキップされ、次の ACL が処理されます。

許可アクションとの一致が検出されないまま、すべての ACE の検証が終了した場合、そのパケットでは QoS 処理は実行されず、ベストエフォート型サービスが実行されます。

インターフェイスに複数の ACL が設定されている場合に、許可アクションを含む最初の ACL とパケットの一致が見つかると、それ以降の検索処理は中止され、QoS 処理が開始されます。


) アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。


ACL でトラフィック クラスを定義した後で、そのトラフィック クラスにポリシーを結合できます。ポリシーにはそれぞれにアクションを指定した複数のクラスを含めることができます。ポリシーには、特定の集約としてクラスを分類する(DSCP を割り当てるなど)コマンドまたはクラスのレート制限を実施するコマンドを含めることができます。このポリシーを特定のポートに結合すると、そのポートでポリシーが有効になります。

IP ACL を実装して IP トラフィックを分類する場合は、 access-list グローバル コンフィギュレーション コマンドを使用します。レイヤ 2 MAC ACL を実装して非 IP トラフィックを分類する場合は、 mac access-list extended グローバル コンフィギュレーション コマンドを使用します。設定については、「QoS ポリシーの設定」を参照してください。

クラス マップおよびポリシー マップに基づく分類

クラス マップは、特定のトラフィック フロー(またはクラス)に名前を付けて、他のすべてのトラフィックから切り離すためのメカニズムです。クラス マップでは、さらに細かく分類するために、特定のトラフィック フローと照合するために使用される条件を定義します。この条件には、ACL によって定義されたアクセス グループの一致、DSCP または IP precedence 値の特定のリストの一致、または実際の条件を定義する別のクラスマップに関連付けられた VLAN ID のリストの一致(たとえば、標準または拡張 ACL を照合するため)が含まれます。複数のトラフィック タイプを分類する場合は、別のクラス マップを作成し、異なる名前を使用できます。パケットをクラス マップ条件と照合した後で、ポリシー マップを使用してさらに分類します。

ポリシー マップでは、作用対象のトラフィック クラスを指定します。トラフィック クラスの CoS、DSCP、または IP precedence 値を信頼するアクションや、トラフィック クラスに特定の DSCP または IP precedence 値を設定するアクション、またはトラフィック帯域幅の制限やトラフィックが不適合な場合の対処法を指定するアクションなどを指定できます。ポリシー マップを有効にするには、インターフェイスにポリシー マップを付加する必要があります。

クラス マップを作成するには、 class-map グローバル コンフィギュレーション コマンドまたは class ポリシー マップ コンフィギュレーション コマンドを使用します。マップを多数のポートで共有する場合は、 class-map コマンドを使用します。 class-map コマンドを入力すると、クラス マップ コンフィギュレーション モードが開始されます。このモードで、 match クラス マップ コンフィギュレーション コマンドを使用して、トラフィックの一致条件を定義します。

ポリシー マップは、 policy-map グローバル コンフィギュレーション コマンドを使用して作成し、名前を付けます。このコマンドを入力すると、ポリシー マップ コンフィギュレーション モードが開始されます。このモードでは、 class trust 、または set ポリシー マップ コンフィギュレーション コマンドおよびポリシー マップ クラス コンフィギュレーション コマンドを使用して、特定のトラフィック クラスに対して実行するアクションを指定します。ポリシー マップを有効にするには、 service-policy インターフェイス コンフィギュレーション コマンドを使用して、ポリシー マップをインターフェイスに付加します。

ポリシー マップには、ポリサーを定義するコマンド、トラフィックの帯域幅制限、および制限を超過した場合に実行するアクションを含めることもできます。詳細については、「ポリシングおよびマーキング」を参照してください。

ポリシー マップには、次の特性があります。

1 つのポリシー マップに複数のクラス ステートメントを指定できます。

インターフェイスから受信されたトラフィック タイプごとに、別々のポリシー マップ クラスを設定できます。

ポリシー マップの信頼状態とインターフェイスの信頼状態は互いに排他的であり、最後に設定された方が有効となります。

設定については、「QoS ポリシーの設定」を参照してください。

ポリシングおよびマーキング

パケットが分類され、パケットに内部 DSCP 値が割り当てられると、ポリシングおよびマーキングのプロセスが開始可能になります(図 29-4 を参照)。

ポリシングには、トラフィックの帯域幅限度を指定するポリサーの作成が伴います。制限を超えるパケットは、「 アウト オブ プロファイル 」または「 不適合 」になります。各ポリサーは、イン プロファイルまたはアウト オブ プロファイル パケットに対して実行するアクションを指定します。これらのアクション(マーカーによって実行される)では、パケットを変更せずにそのまま通過させること、パケットをドロップすること、または、設定変更可能なポリシング済み DSCP マップから得られる新しい DSCP 値にパケットをマークダウンすることが可能です。ポリシング済み DSCP マップの詳細については、「マッピング テーブル」を参照してください。

次の種類のポリサーを作成できます。

個別

QoS では、一致する各トラフィック クラスに、ポリサー内で指定された帯域幅制限が個別に適用されます。このタイプのポリサーは、 police ポリシー マップ コンフィギュレーション コマンドを使用して、ポリシー マップの中で設定します。

集約

一致するすべてのトラフィック フローに、集約ポリサーで指定される帯域幅制限が累積的に適用されます。ポリシー マップで、集約ポリサー名を指定してこのタイプのポリサーを設定するには、 police aggregate ポリシー マップ コンフィギュレーション コマンドを使用します。ポリサーの帯域幅限度を指定するには、 mls qos aggregate-policer グローバル コンフィギュレーション コマンドを使用します。このようにして、集約ポリサーはポリシー マップ内にある複数のトラフィック クラスで共有されます。

ポリシングは、トークン バケット アルゴリズムを使用します。各フレームがスイッチに着信すると、バケットにトークンが追加されます。バケットにはホールがあり、平均トラフィック レートとして指定されたレート(ビット/秒)で送信されます。バケットにトークンが追加されるたびに、スイッチは、バケット内に十分なスペースがあるかを確認します。十分なスペースがなければ、パケットは不適合とマーキングされ、指定されたポリサー アクション(ドロップまたはマークダウン)が実行されます。

バケットが満たされる速度は、バケット深度(burst-byte)、トークンが削除されるレート(rate-bps)、および平均レートを上回るバースト期間によって決まります。バケットのサイズにより、バースト長に上限が設定され、バックツーバックで送信できるフレーム数が決まります。バースト期間が短い場合、バケットはオーバーフローせず、トラフィック フローに何のアクションも実行されません。ただし、バースト期間が長く、レートが高い場合、バケットはオーバーフローし、そのバーストのフレームに対してポリシング アクションが実行されます。

バケットの深さ(バケットがオーバーフローするまでの許容最大バースト)を設定するには、 police ポリシー マップ クラス コンフィギュレーション コマンドの burst-byte オプションまたは mls qos aggregate-policer グローバル コンフィギュレーション コマンドを使用します。トークンがバケットから削除される速度(平均速度)を設定するには、 police ポリシー マップ クラス コンフィギュレーション コマンドの rate-bps オプションまたは mls qos aggregate-policer グローバル コンフィギュレーション コマンドを使用します。

ポリシングおよびポリサーを設定する場合、次の点に注意してください。

デフォルトで設定されるポリサーはありません。

ポリサーは、物理ポートまたはポート単位 VLAN 単位で設定できます(特定のポートに、VLAN 単位で、トラフィックの帯域幅限度を指定します)。ポート単位 VLAN 単位でのポリシングは、ルーテッド ポートまたは仮想(論理)インターフェイスではサポートされません。トランクまたはスタティック アクセス ポイントとして設定された入力ポートのみでサポートされます。

1 つの方向について、パケットに適用できるポリサーは 1 つだけです。

設定できるのは、平均レート パラメータおよび認定バースト パラメータだけです。

ポリシングは、入力インターフェイスと出力インターフェイスで実行できます。


) ポート単位 VLAN 単位でのポリシングは、入力インターフェイスだけでサポートされています。


入力ギガビット対応イーサネット ポートでは、128 のポリサーがサポートされます。

入力 10/100 イーサネット ポートでは、8 つのポリサーがサポートされます。

8 つのポリサーがすべての出力ポートでサポートされます。

入力ポリサーは個別または集約である場合があります。

QoS を設定したインターフェイス上では、そのインターフェイス経由で受信されるすべてのトラフィックが、インターフェイスに付加されたポリシー マップに従って、分類、ポリシング、およびマーク付けされます。QoS 対応として設定されているトランク インターフェイスの場合、インターフェイスを介して受信した すべての VLAN のトラフィックは、そのインターフェイスに付加されたポリシー マップに基づいて分類、ポリシング、およびマーキングが行われます。

ポリシー マップおよびポリシング アクションを設定したあと、 service-policy インターフェイス コンフィギュレーション コマンドを使用して、入力インターフェイスまたは出力インターフェイスにポリシーを付加します。設定の詳細については、「ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング」および「集約ポリサーによるトラフィックの分類、ポリシング、およびマーキング」を参照してください。

図 29-4 ポリシングおよびマーキングのフローチャート

 

マッピング テーブル

QoS の処理中、スイッチはすべてのトラフィック(IP 以外のトラフィックを含む)のプライオリティを、内部 DSCP 値で表します。

分類中に、QoS は受信した CoS または IP precedence(3 ビット)値から内部 DSCP(6 ビット値)を取得するために、設定可能なマッピング テーブルを使用します。これらのマップには、CoS/DSCP マップや IP precedence/DSCP マップなどがあります。

DSCP 信頼状態で設定された入力インターフェイスの DSCP 値が QoS ドメイン間で異なる場合は、2 つの QoS ドメイン間の境界にあるインターフェイスに、設定可能な DSCP/DSCP 変換マップを適用できます。

ポリシングの際、QoS は IP パケットまたは IP 以外のパケットに別の DSCP 値を割り当てることがあります(パケットがアウト オブ プロファイルであり、なおかつポリサーでマークダウン後の DSCP 値が指定されている場合)。この設定可能なマップは、ポリシング済み DSCP マップといいます。

トラフィックがスケジューリング段階に達する前に、QoS は設定可能な DSCP/CoS マップを使用して、内部 DSCP 値から CoS 値を取得します。CoS/出力キュー マップを通じて、CoS 値は、4 つの出力キューのうち 1 つを出力処理用に選択します。

CoS/DSCP、DSCP/CoS、および IP precedence/DSCP マップのデフォルト値は、使用しているネットワークに適する場合と適さない場合があります。

デフォルトの DSCP/DSCP 変換マップおよびデフォルトのポリシング済み DSCP マップは、空のマップです。これらのマップでは、着信した DSCP 値が同じ DSCP 値にマッピングされます。DSCP/DSCP 変換マップは、特定のギガビット対応イーサネット ポートまたは 10/100 イーサネット ポートのグループに適用できる唯一のマップです。その他のすべてのマップはスイッチ全体に適用されます。

設定については、「DSCP マップの設定」を参照してください。

キューイングおよびスケジューリング

パケットがポリシングされマーク付けされた後に、次のセクションで説明するキューイングおよびスケジューリング処理が開始されます。

「ギガビット対応ポートのキューイングおよびスケジューリング」

「10/100 イーサネット ポートのキューイングおよびスケジューリング」

ギガビット対応ポートのキューイングおよびスケジューリング

図 29-5 に、ギガビット対応イーサネット ポートのキューイングおよびスケジューリング フローチャートを示します。

図 29-5 ギガビット対応イーサネット ポートのキューイングおよびスケジューリング フロー チャート

 


) 緊急キューがイネーブルの場合、WRR によって空になるまで処理されてから、他の 3 つのキューが処理されます。


キューイングおよびスケジューリング処理の間、スイッチは出力キューおよび WRR を輻輳管理用に使用し、ギガビット対応イーサネット ポートの輻輳回避のためにテール ドロップまたは WRED アルゴリズムを使用します

各ギガビット対応イーサネット ポートは 4 個の出力キューがあり、そのうちの 1 つを出力緊急キューにすることができます。各キューに割り当てられるバッファ スペースを、 wrr-queue queue-limit インターフェイス コンフィギュレーション コマンドを使用して、重みの比率として設定できます。ここで、数値の相対的なサイズの差がキュー サイズの相対的な差を示します。キュー サイズの絶対値を表示するには、 show mls qos interface interface-id statistics 特権 EXEC コマンドを使用して、FreeQ 情報を確認します。

各キューに 2 個のドロップしきい値を割り当て、DSC/しきい値マップによって DSCP をしきい値にマッピングし、インターフェイスでテール ドロップまたは WRED をイネーブルにします。キュー サイズ、ドロップしきい値、テール ドロップまたは WRED アルゴリズム、DSCP/しきい値マップを組み合わせることで、しきい値を超えた場合にいつどのパケットをドロップするかが決まります。ドロップのパーセンテージしきい値を設定するには、テール ドロップの場合は wrr-queue threshold インターフェイス コンフィギュレーション コマンドを使用し、WRED の場合は wrr-queue random-detect max-threshold インターフェイス コンフィギュレーション コマンドを使用します。いずれの場合にも、 wrr-queue dscp-map インターフェイス コンフィギュレーション コマンドを使用して、DSCP 値をしきい値にマッピングします(DSCP/しきい値マップ)。詳細については、「テール ドロップ」および 「WRED」を参照してください。

出力リンクの使用可能な帯域幅はキュー間で分割されます。 wrr-queue bandwidth インターフェイス コンフィギュレーション コマンドを使用して、キューが WRR の重みの比率に従って処理されるように設定します。比率は、あるキューの他のキューとの相対的な重要度(重み)を表します。WRR スケジューリングでは、いくつかのパケットを各キューから順番に送信することで、高いプライオリティのトラフィック中に低いプライオリティのキューが完全に無視されることを防止します。送信するパケット数は、キューの相対的な重要度に対応します。たとえば、1 つのキューの重みが 3 で、別のキューの重みが 4 の場合、2 番めのキューから 4 つのパケットが送信される間に、最初のキューから 3 つのパケットが送信されます。このスケジューリングを使用して、高いプライオリティのキューが空でない場合でも、低いプライオリティのキューからパケットが送信されるようにします。キューは、 wrr-queue cos-map インターフェイス コンフィギュレーション コマンドで出力キューにマッピングされた(CoS/出力キュー マップ)CoS 値によって選択されます。

緊急キューがイネーブルでない限り、4 つのキューはすべて WRR に参加し、この場合、4 番めの帯域幅重みは無視されて比率計算に使用されません。緊急キューはプライオリティ キューであり、他のキューのサービスが提供される前に空になるまでサービスを提供します。緊急キューをイネーブルにするには、 priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。

ここに記載されたコマンドを組み合わせると、特定の DSCP を持つパケットを特定のキューに格納したり、大きなキュー サイズを割り当てたり、特定のキューをより頻繁に処理したり、プライオリティが低いパケットがドロップされるようにキューのしきい値を調整したりして、トラフィックのプライオリティを設定できます。設定については、「ギガビット対応イーサネット ポートの出力キューの設定」を参照してください。

テール ドロップ

テール ドロップは、ギガビット対応イーサネット ポートのデフォルトの輻輳回避技術です。テール ドロップを使用した場合、パケットはしきい値を超えるまでキューイングされます。具体的には、最初のしきい値に割り当てられた DSCP を持つすべてのパケットが、しきい値を超えなくなるまでドロップされます。ただし、しきい値 2 に割り当てられたパケットは、2 番めのしきい値を超えることがない限り、引き続きキューに入れられ送信されます。

wrr-queue threshold インターフェイス コンフィギュレーション コマンドを使用して、4 個の出力キューに割り当てられた 2 つのテール ドロップしきい値の割合を変更できます。各しきい値は、キューに割り当てられたキュー記述子の総数に対する割合です。しきい値 1 と 2 のデフォルトのしきい値は 100 パーセントです。

wrr-queue dscp-map インターフェイス コンフィギュレーション コマンドを使用して、どの DSCP をどのしきい値 ID にマッピングするかを決定するため、DSCP/しきい値マップを変更します。デフォルトでは、すべての DSCP がしきい値 1 にマッピングされ、このしきい値を超えると、すべてのパケットがドロップされます。

テールドロップしきい値を使用した場合は WRED を使用できません。逆に、WRED を使用した場合はテールドロップしきい値を使用できません。テール ドロップがディセーブルの場合、WRED は以前の(以前設定されていない場合はデフォルト)設定で自動的にイネーブルになります。

WRED

ランダム早期検出(RED)のシスコの実装は、重み付けランダム早期検出(WRED)と呼ばれ、他の輻輳回避技術と異なります。これは、輻輳が発生したときにそれを制御するのではなく、輻輳を予測し回避しようとするためです。

WRED は伝送制御プロトコル(TCP)輻輳制御を利用します。パケット送信を一時的に停止する必要がある場合に、WRED はその旨をエンド ホストに指示することにより、平均キュー サイズを制御します。WRED は輻輳が激しくなる前にランダムにパケットを廃棄して、パケット送信元に送信速度を下げるように要求します。パケット送信元で TCP が動作している場合、WRED はすべてのパケットが宛先に到達するまで送信速度を下げるように送信元に要求し、輻輳を解消します。

WRED は、出力インターフェイスが、輻輳の兆候を示し始めると選択的にパケットをドロップすることで、テール ドロップの確率を減らします。キューが満杯になるまで待機しないで、早めに一部のパケットを廃棄することにより、一度に多数のパケットが廃棄されなくなります。このように、WRED は、いつでも伝送ラインをいっぱいに使用することができるようにします。さらに、WRED は、小さなユーザよりも大きなユーザから、より大きなパケットをドロップします。したがって、トラフィックの大部分を生成している発信元は、生成しているトラフィックが少しの発信元よりも速度が低下しやすくなります。

WRED をイネーブルにし、ギガビット対応イーサネット ポートの 4 台の出力キューに割り当てられた 2 つのしきい値を設定するには、 wrr-queue random-detect max-threshold インターフェイス コンフィギュレーション コマンドを使用します。各しきい値パーセンテージは、WRED がパケットをランダムにドロップし始めるパーセンテージを表します。しきい値を超えると、WRED はランダムにこのしきい値に割り当てられたパケットのドロップを開始します。キューの上限に近づくと、WRED はさらに多くのパケットをドロップし続けます。キューの上限に達すると、WRED はしきい値に割り当てられたすべてのパケットをドロップします。デフォルトでは、WRED はディセーブルです。

wrr-queue dscp-map インターフェイス コンフィギュレーション コマンドを使用して、どの DSCP をどのしきい値 ID にマッピングするかを決定するため、DSCP/しきい値マップを変更します。デフォルトでは、すべての DSCP がしきい値 1 にマッピングされ、このしきい値を超えると、すべてのパケットがランダムにドロップされます。

WRED しきい値を使用する場合はテール ドロップを使用できません。逆に、テール ドロップを使用する場合は WRED しきい値を使用できません。WRED がディセーブルの場合、テール ドロップは以前の(以前設定されていない場合はデフォルト)設定で自動的にイネーブルになります。

10/100 イーサネット ポートのキューイングおよびスケジューリング

図 29-6 に、10/100 イーサネット ポートのキューイングおよびスケジューリング フローチャートを示します。

図 29-6 10/100 イーサネット ポートのキューイングおよびスケジューリング フローチャート

 


) 緊急キューがイネーブルの場合、WRR によって空になるまで処理されてから、他の 3 つのキューが処理されます。


キューイングとスケジューリング処理の間、スイッチは出力キュー(最小予約レベルとバッファ サイズを選択するため)と WRR を輻輳管理のために使用します。

各 10/100 イーサネット ポートは 4 個の出力キューがあり、そのうちの 1 つを出力緊急キューにすることができます。各キューは 8 個の最小予約レベルの 1 つにアクセスできます。デフォルトでは、各レベルに、パケットをキューイングするための 100 パケット分のバッファ スペースがあります。 最小予約レベルに指定されたバッファが一杯になると、パケットはスペースが使用可能になるまでドロップされます。

図 29-7 は、10/100 イーサネット ポートのキューの割り当て、最小予約レベル、バッファ サイズの例です。この図で、ポートごとに 4 個の出力キューがあり、各キューに最小予約レベルが割り当てられています。たとえば、ファスト イーサネット ポート 0/1 で、キュー 1 が最小予約レベル 1 に割り当てられ、キュー 2 は最小予約レベル 3 に割り当てられ、キュー 3 は最小予約レベル 5 に割り当てられ、キュー 4 は最小予約レベル 7 に割り当てられています。最小予約レベルをキューに割り当てるには、 wrr-queue min-reserve インターフェイス コンフィギュレーション コマンドを使用します。

各最小予約レベルにはバッファ サイズが設定されています。図に示すように、ファスト イーサネット ポート 1 のキュー 4 のバッファ サイズは 70 パケット、ファスト イーサネット ポート 2 のキュー 4 のバッファ サイズは 80 パケット、ファスト イーサネット ポート 3 のキュー 4 のバッファ サイズは 40 パケット、ファスト イーサネット ポート 4 のバッファ サイズは 80 パケットです。バッファ サイズを設定するには、 mls qos min-reserve グローバル コンフィギュレーション コマンドを使用します。

図 29-7 10/100 イーサネット ポートのキューの割り当て、最小予約レベル、バッファ サイズ

 

出力リンクの使用可能な帯域幅はキュー間で分割されます。 wrr-queue bandwidth インターフェイス コンフィギュレーション コマンドを使用して、キューが WRR の重みの比率に従って処理されるように設定します。比率は、あるキューの他のキューとの相対的な重要度(重み)を表します。WRR スケジューリングでは、いくつかのパケットを各キューから順番に送信することで、高いプライオリティのトラフィック中に低いプライオリティのキューが完全に無視されることを防止します。送信するパケット数は、キューの相対的な重要度に対応します。たとえば、1 つのキューの重みが 3 で、別のキューの重みが 4 の場合、2 番めのキューから 4 つのパケットが送信される間に、最初のキューから 3 つのパケットが送信されます。このスケジューリングを使用して、高いプライオリティのキューが空でない場合でも、低いプライオリティのキューからパケットが送信されるようにします。キューは、 wrr-queue cos-map インターフェイス コンフィギュレーション コマンドで出力キューにマッピングされた(CoS/出力キュー マップ)CoS 値によって選択されます。

出力緊急キューがイネーブルでない限り、4 つのキューはすべて WRR に参加し、この場合、4 番めの帯域幅重みは無視されて比率計算に使用されません。緊急キューはプライオリティ キューであり、他のキューのサービスが提供される前に空になるまでサービスを提供します。緊急キューをイネーブルにするには、 priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。

ここに記載されたコマンドを組み合わせると、特定の DSCP を持つパケットを特定のキューに格納したり、より大きな最小予約バッファ サイズを割り当てたり、特定のキューをより頻繁に処理したりして、トラフィックのプライオリティを設定できます。設定については、「10/100 イーサネット ポートの出力キューの設定」を参照してください。

パケットの変更

パケットは、QoS のために分類、ポリシング、キューイングされます。このプロセス中に、次のようにパケットが変更されることがあります。

IP パケットの場合、分類によって、パケットに DSCP が割り当てられます。ただし、この段階でパケットは変更されません。割り当てられた DSCP が伝送されるだけです。その理由は、QoS の分類と ACL の検索が並行して実行され、ACL によってパケットの拒否とロギングが指示される場合があるためです。この状況では、パケットは元の DSCP 付きで CPU に転送され、CPU で再び ACL ソフトウェアによって処理されます。ただし、ルート ルックアップは、分類された DSCP に基づいて実行されます。

IP 以外のパケットの場合、分類によってパケットに内部 DSCP が割り当てられますが、非 IP パケットに DSCP はないので、上書きは行われません。代わりに、内部 DSCP が CoS に変換され、キューイングおよびスケジューリング決定の両方で使用され、さらにパケットが ISL または IEEE 802.1Q トランク ポートのいずれかで送信される場合、タグへの CoS プライオリティ値の書き込みに使用されます。CoS プライオリティがタグ内に記述されているため、IEEE 802.1p プライオリティを使用する Catalyst 3500 シリーズ XL スイッチは、Catalyst 3550 スイッチの QoS 実装と相互運用できます。

ポリシング中は、IP および非 IP パケットに別の DSCP を割り当てることができます(これらのパケットが不適合で、ポリサーがマークダウン DSCP を指定している場合)。IP パケットの場合は、この後の段階でパケットが変更されます。非 IP パケットの場合は、DSCP が CoS に変換され、キューイングおよびスケジューリングの決定に使用されます。

auto-QoS の設定

自動 QoS 機能を使用して、既存の QoS 機能の配置を容易にできます。Auto-QoS はネットワーク設計に関する予測を行うもので、それによってスイッチは、デフォルトの QoS 動作を使用せずにトラフィック フローごとに優先順位を付け、適切に出力キューを使用できます (デフォルトで自動 QoS はディセーブルになっています。したがって、スイッチはパケットの内容やサイズに関係なく、各パケットにベストエフォート型のサービスを提供し、単一キューからパケットを送信します。

自動 QoS をイネーブルにすると、トラフィック タイプおよび入力パケット ラベルに基づいてトラフィックを自動的に分類します。スイッチは分類した結果を使用して適切な出力キューを選択します。

自動 QoS コマンドを使用して Cisco IP Phone、および Cisco SoftPhone アプリケーションを実行するデバイスに接続するポートを指定します。また、アップリンクを介して信頼のおけるトラフィックを受信するポートを指定します。自動 QoS は次の機能を実行します。

Cisco IP Phone の有無を検知します。

QoS 分類の設定

出力キューの設定

ここでは、スイッチ上で自動 QoS を設定する手順について説明します。

「生成される自動 QoS 設定」

「コンフィギュレーションにおける自動 QoS の影響」

「設定時の注意事項」

「旧版のソフトウェア リリースからのアップグレード」

「VoIP 用自動 QoS のイネーブル化」

生成される自動 QoS 設定

デフォルトでは、Auto-QoS はすべてのインターフェイス上でディセーブルに設定されています。

自動 QoS がイネーブルの場合は、 表 29-1 に示すように、入力パケット ラベルを使用してトラフィックを分類し、出力キューを設定します。

 

表 29-1 トラフィック タイプ、パケット ラベル、出力キュー

VoIP1データ トラフィック
VoIP コントロールトラフィック
ルーティング プロトコル トラフィック
STP BPDU2 トラフィック
リアルタイム ビデオ トラフィック
その他すべてのトラフィック

DSCP

46

24、26

48

56

34

-

CoS

5

3

6

7

4

CoS からキューへのマッピング

5

3、6、7

4

2

0、1

出力キュー

緊急(キュー 4)

70% WRR(キュー 3)

20% WRR(キュー 2)

20% WRR(キュー 2)

10% WRR(キュー 1)

1.VoIP = Voice over IP

2.BPDU = Bridge Protocol Data Unit(ブリッジ プロトコル データ ユニット)

表 29-2 に、出力キューに対して生成される auto-QoS の設定を示します。

 

表 29-2 出力キューに対する auto-QoS の設定

出力キュー
キュー番号
CoS からキューへのマッピング
キューの重み
ギガビット対応ポートのキュー サイズ
10/100 イーサネット ポートのキュー サイズ(パケット単位)

緊急

4

5

-

10%

34(10 パーセント)

70% WRR

3

3、6、7

70%

15%

51(15 パーセント)

20% WRR

2

2、4

20%

25%

82(25 パーセント)

10% WRR

1

0、1

10%

50%

170(50 パーセント)

最初のインターフェイス上で自動 QoS 機能をイネーブルにすると、次の動作が自動的に発生します。

QoS がグローバルにイネーブルになります( mls qos グローバル コンフィギュレーション コマンド)。

Cisco IP Phone に接続されたネットワーク エッジのポートで auto qos voip cisco-phone インターフェイス コンフィギュレーション コマンドを入力すると、スイッチにより信頼境界の機能がイネーブルになります。スイッチは、Cisco Discovery Protocol(CDP)を使用して、Cisco IP Phone が存在するかしないかを検出します。Cisco IP Phone が検出されると、インターフェイスの入力分類は、パケットで受け取った QoS ラベルを信頼するように設定されます。Cisco IP Phone がない場合、入力分類は、パケットの QoS ラベルを信頼しないように設定されます。スイッチは、 表 29-2 の設定値に従ってポートの出力キューを設定します。

auto qos voip cisco-softphone インターフェイス コンフィギュレーション コマンドを、Cisco SoftPhone を稼働するデバイスに接続されたネットワークのエッジのポートに入力すると、スイッチはポリシングを使用して、パケットがプロファイルの内部または外部にいるかを判断し、パケット上のアクションを指定します。パケットに 24、26、または 46 という DSCP 値がない場合、またはパケットがプロファイル外にある場合、スイッチは DSCP 値を 0 に変更します。スイッチは、 表 29-2 の設定値に従ってポートの出力キューを設定します。

ネットワーク内部に接続されたポート上で、 auto qos voip trust インターフェイス コンフィギュレーション コマンドを入力した場合、スイッチは、入力パケットでルーティングされないポートの CoS 値、またはルーテッド ポートの DSCP 値を信頼します(トラフィックが他のエッジ装置ですでに分類されていることが前提条件になります)。スイッチは、 表 29-2 の設定値に従ってポートの出力キューを設定します。

信頼境界機能の詳細については、「ポート セキュリティを確保するための信頼境界機能の設定」を参照してください。

auto qos voip cisco-phone auto qos voip cisco-softphone 、または auto qos voip trust インターフェイス コンフィギュレーション コマンドを使用して自動 QoS をイネーブルにする場合、スイッチはトラフィック タイプおよび入力パケット ラベルに応じて自動的に QoS 設定を生成し、 表 29-3 にリストされているコマンドをインターフェイスに適用します。

 

表 29-3 生成される自動 QoS 設定

説明
自動的に生成されるコマンド

表 29-1 に示すように、スイッチが自動的に標準 QoS をイネーブルにして Cos/DSCP マップ(着信パケットの CoS 値の DSCP 値へのマッピング)を設定します。

Switch(config)# mls qos
Switch(config)# mls qos map cos-dscp 0 8 16 26 32 46 48 56

10/100 イーサネット ポートがある場合、スイッチは自動的に最低予約レベル 5、6、7、および 8 のバッファ サイズを設定します。

レベル 5 では、170 個のパケットを保持することができます。

レベル 6 では、85 個のパケットを保持することができます。

レベル 7 では、51 個のパケットを保持することができます。

レベル 8 では、34 個のパケットを保持することができます。

Switch(config)# mls qos min-reserve 5 170
Switch(config)# mls qos min-reserve 6 85
Switch(config)# mls qos min-reserve 7 51
Switch(config)# mls qos min-reserve 8 34

auto qos voip trust コマンドを入力すると、スイッチは、非ルーテッド ポートの場合はパケット内で受信された CoS を信頼するように、ルーテッド ポートの場合はパケット内で受信された DSCP 値を信頼するように、入力分類を自動的に設定します。

Switch(config-if)# mls qos trust cos
Switch(config-if)# mls qos trust dscp

auto qos voip cisco-phone コマンドを入力すると、スイッチが自動的に信頼境界機能をイネーブルにし、CDP を使用して Cisco IP Phone の有無を検出します。

Switch(config-if)# mls qos trust device cisco-phone

auto qos voip cisco-softphone コマンドを入力すると、スイッチが自動的にクラス マップおよびポリシー マップを作成します。

Switch(config)# mls qos map policed-dscp 24 26 46 to 0
Switch(config)# class-map match-all AutoQoS-VoIP-RTP-Trust
Switch(config-cmap)# match ip dscp 46
Switch(config)# class-map match-all AutoQoS-VoIP-Control-Trust
Switch(config-cmap)# match ip dscp 24 26
Switch(config)# policy-map AutoQoS-Police-SoftPhone
Switch(config-pmap)# class AutoQoS-VoIP-RTP-Trust
Switch(config-pmap-c)# set dscp 46
Switch(config-pmap-c)# police 320000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AutoQoS-VoIP-Control-Trust
Switch(config-pmap-c)# set dscp 24
Switch(config-pmap-c)# police 32000 8000 exceed-action policed-dscp-transmit

クラス マップとポリシー マップを作成すると、スイッチは自動的にポリシー マップ(別名 AutoQoS-Police-SoftPhone )を、Cisco SoftPhone 機能を備えた自動 QoS がイネーブルである入力インターフェイスに適用します。

Switch(config-if)# service-policy input AutoQoS-Police-SoftPhone

スイッチは自動的にこのインターフェイス上の出力キューの使用状況を割り当てます(表 29-2 を参照)。

スイッチは出力緊急キューをイネーブルにし、キュー 1、2、および 3 に WRR の重みを割り当てます。(WRR キューの最小値は 1 です。キューの WRR の重みが 0 に設定される場合、このキューは緊急キューになります)。

スイッチは、CoS と出力キューのマップを設定します。

CoS 値 0 ~ 1 はキュー 1 を選択します。

CoS 値 2 ~ 4 はキュー 2 を選択します。

CoS 値 3 ~ 6、および 7 はキュー 3 を選択します。

CoS 値 5 はキュー 4(緊急キュー)を選択します。

緊急キュー(キュー 4)には VoIP データ トラフィックが格納されるため、キューは空になるまで処理されます。

Switch(config-if)# wrr-queue bandwidth 10 20 70 1
Switch(config-if)# no wrr-queue cos-map
Switch(config-if)# wrr-queue cos-map 1 0 1
Switch(config-if)# wrr-queue cos-map 2 2 4
Switch(config-if)# wrr-queue cos-map 3 3 6 7
Switch(config-if)# wrr-queue cos-map 4 5
Switch(config-if)# priority-queue out

ギガビット対応イーサネット ポートだけで、スイッチは自動的に WRR の出力キューのサイズ比を設定します。

キュー 1 は 50 パーセントです。

キュー 2 は 25 パーセントです。

キュー 3 は 15 パーセントです。

キュー 4 は 10 パーセントです。

Switch(config-if)# wrr-queue queue-limit 50 25 15 10

10/100 イーサネット ポートだけで、スイッチは自動的に出力キューの最低予約レベルを設定します。

キュー 1 は最小予約レベル 5 を選択します。

キュー 2 は最小予約レベル 6 を選択します。

キュー 3 は最小予約レベル 7 を選択します。

キュー 4 は最小予約レベル 8 を選択します。

Switch(config-if)# wrr-queue min-reserve 1 5
Switch(config-if)# wrr-queue min-reserve 2 6
Switch(config-if)# wrr-queue min-reserve 3 7
Switch(config-if)# wrr-queue min-reserve 4 8

コンフィギュレーションにおける自動 QoS の影響

自動 QoS がイネーブルになっていると、 auto qos voip インターフェイス コンフィギュレーション コマンドおよび生成された設定が、実行コンフィギュレーションに追加されます。

スイッチは、自動 QoS が生成したコマンドを、CLI から入力したように適用します。既存のユーザ設定では、生成されたコマンドの適用に失敗することがあります。また、生成されたコマンドで既存の設定が上書きされることもあります。これらのアクションは、警告を表示せずに実行されます。生成されたコマンドがすべて正常に適用された場合、上書きされなかったユーザ入力の設定は実行コンフィギュレーション内に残ります。上書きされたユーザ入力の設定は、現在の設定をメモリに保存せずに、スイッチをリロードすると復元できます。生成されたコマンドの適用に失敗した場合は、前の実行コンフィギュレーションが復元されます。

設定時の注意事項

自動 QoS を設定する前に、次の事項を確認してください。

Cisco IOS Release 12.1(20)EA2 よりも前のリリースでは、自動 QoS は、非ルーテッド ポート上の Cisco IP Phone を搭載したスイッチでのみ VoIP を設定します。

Cisco IOS Release 12.1(20)EA2 以降のリリースでは、自動 QoS は非ルーテッドおよびルーテッド ポート上の Cisco IP Phone の VoIP 用にスイッチを設定します。また、自動 QoS は Cisco SoftPhone アプリケーションを稼働するデバイスの VoIP 用にスイッチを設定します。


) Cisco SoftPhone を稼働するデバイスが非ルーテッド ポートまたはルーテッド ポートに接続されている場合、スイッチはポート単位で Cisco SoftPhone アプリケーション 1 つのみをサポートします。


auto-QoS のデフォルトを利用するには、auto-QoS をイネーブルにしてから、その他の QoS コマンドを設定する必要があります。必要に応じて QoS 設定を微調整できますが、自動 QoS が完了した後にのみ調整することを推奨します。詳細については、「コンフィギュレーションにおける自動 QoS の影響」を参照してください。

auto-QoS をイネーブルにした後、名前に AutoQoS を含むポリシー マップや集約ポリサーを変更しないでください。ポリシー マップや集約ポリサーを変更する必要がある場合、そのコピーを作成し、コピーしたポリシー マップやポリサーを変更します。生成したポリシー マップではなくこの新しいポリシー マップを使用するには、生成したポリシー マップをインターフェイスから削除し、新しいポリシー マップをインターフェイスに適用します。

自動 QoS は、スタティック アクセス、ダイナミックアクセス、音声 VLAN アクセス、およびトランク ポートでイネーブルにできます。

デフォルトでは、CDP はすべてのインターフェイス上でイネーブルになっています。自動 QoS が適切に動作するために、CDP をディセーブルにしないでください。

ルーテッド ポートで Cisco IP Phone の自動 QoS をイネーブルにすると、スタティック IP アドレスを IP Phone に割り当てます。

このリリースは、Cisco IP SoftPhone Version 1.3(3) 以降のみをサポートします。

接続される装置は Cisco Call Manager バージョン 4 以降を使用する必要があります。

旧版のソフトウェア リリースからのアップグレード

Cisco IOS Release 12.2(20)EA2 では、旧リリースから自動 QoS の実装が変更されています。生成した自動 QoS 設定が変更され、Cisco SoftPhone 機能のサポートと、ルーテッド ポートの Cisco IP Phone が追加されました。

自動 QoS がスイッチ上に設定され、スイッチが Cisco IOS Release12.2(20)EA2 よりも前のリリースを実行している状態で、Cisco IOS Release 12.2(20)EA2 以降のリリースにアップグレードする場合、コンフィギュレーション ファイルに新しい設定が含まれないため、自動 QoS は動作しません。コンフィギュレーション ファイルで自動 QoS 設定をアップグレードするには、次の手順を実行します。

1. スイッチを Cisco IOS Release 12.2(20)EA2 以降のリリースにアップグレードします。

2. 自動 QoS がイネーブルであるポートすべてに対して、自動 QoS をディセーブルにします。

3. no コマンドを使用して、グローバル自動 QoS 設定すべてをデフォルト値に戻します。

4. ステップ 2 で自動 QoS をディセーブルにしたポートで、自動 QoS をイネーブルに戻します。その場合、前と同じ自動 QoS 設定でポートを設定します。

VoIP 用自動 QoS のイネーブル化

QoS ドメイン内で VoIP 用の自動 QoS をイネーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

interface interface-id

Cisco IP Phone に接続されているインターフェイス、またはネットワーク内部にある他の信頼できるスイッチやルータに接続されているアップリンク インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 3

auto qos voip { cisco-phone | cisco-softphone | trust }

自動 QoS をイネーブルにします。

キーワードの意味は次のとおりです。

cisco-phone インターフェイスが Cisco IP Phone に接続されている場合、着信パケットの QoS ラベルは電話機が検出された場合だけ信頼されます。

cisco-softphone ポートが Cisco SoftPhone 機能を実行するデバイスに接続されています。

キーワードをサポートするのは、Cisco IOS Release 12.2(20)EA2 以降のリリースだけです。

trust アップリンク インターフェイスが信頼できるスイッチまたはルータに接続されていて、入力パケット内の VoIP トラフィック分類が信頼されます。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show auto qos interface interface-id

入力内容を確認します。

このコマンドは、QoS がイネーブルであるインターフェイス上の自動 QoS コマンドを表示します。自動 QoS 設定およびユーザの変更を表示するには、 show running-config 特権 EXEC コマンドを使用します。

自動 QoS がイネーブルまたはディセーブルの場合に自動生成される QoS コマンドを表示するには、 debug auto qos 特権 EXEC コマンドを入力してから、自動 QoS をイネーブルにします。詳細については、「debug auto qos コマンドの使用」を参照してください。

インターフェイス上で Auto-QoS をディセーブルにするには、no auto qos voip インターフェイス コンフィギュレーション コマンドを使用します。このコマンドを入力すると、スイッチは Auto-QoS 設定を、そのインターフェイスの標準 QoS デフォルト設定に変更します。

スイッチで自動 QoS をディセーブルにするには、no mls qos グローバル コンフィギュレーション コマンドを使用します。このコマンドを入力すると、スイッチはすべてのインターフェイス上で QoS をディセーブルにし、パススルー モードをイネーブルにします。

次に、デバイスが Cisco IP Phone として検出されたインターフェイスに接続されている場合に、自動 QoS をイネーブルにして、着信パケット内の QoS ラベルを信頼する例を示します。

Switch(config)# interface fastethernet0/1
Switch(config-if)# auto qos voip cisco-phone
 

次の例では、インターフェイスに接続されているスイッチまたはルータが信頼できるデバイスである場合に、自動 QoS をイネーブルにし、着信パケット内の QoS ラベルを信頼する方法を示します。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# auto qos voip trust
 

自動 QoS 情報の表示

自動 QoS 設定を表示するには、 show auto qos [ interface [ interface-id ]] 特権 EXEC コマンドを使用します。ユーザによる設定変更を表示するには、 show running-config 特権 EXEC コマンドを使用します。 show auto qos コマンド出力と show running-config コマンド出力を比較してユーザ定義の QoS 設定を比較できます。

auto-QoS の影響を受ける可能性のある現在の QoS の設定情報を表示するには、次のいずれかのコマンドを使用します。

show mls qos

show mls qos map cos-dscp

show mls qos interface [ interface-id ] [ buffers | queueing ]

このコマンドの詳細については、このリリースのコマンド リファレンスを参照してください。

自動 QoS 設定例

ここでは、自動 QoS をネットワークに実装する方法について説明します(図 29-8 を参照)。QoS パフォーマンスを最適にするには、ネットワーク内部のデバイスすべてで自動 QoS をイネーブルにします。

図 29-8 ネットワークでの自動 QoS の設定例

 

図 29-8 のインテリジェントなワイヤリング クローゼットは、EI を実行している Catalyst 2950 スイッチおよび Catalyst 3550 スイッチで構成されます。この例では、VoIP トラフィックを他のすべてのトラフィックよりも優先させることを目的としています。これを実行するには、ワイヤリング クローゼット内の QoS ドメインのエッジにあるスイッチ上で自動 QoS をイネーブルにします。


) 自動 QoS コマンドを入力する前に標準 QoS コマンドを設定しないでください。QoS 設定は微調整できますが、自動 QoS が完了した後にのみ調整することを推奨します。


QoS ドメインのエッジにあるスイッチで VoIP トラフィックを他のトラフィックより優先させるように設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

debug auto qos

自動 QoS のデバッグをイネーブルにします。デバッグをイネーブルにすると、スイッチは、自動 QoS がイネーブルである場合に自動的に生成される QoS 設定を表示します。

ステップ 2

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

cdp enable

CDP をグローバルにイネーブルにします。デフォルトでは有効に設定されています。

ステップ 4

interface interface-id

Cisco IP Phone に接続するスイッチ ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 5

auto qos voip cisco-phone

インターフェイス上で自動 QoS をイネーブルにし、そのインターフェイスが Cisco IP Phone に接続されるように指定します。

着信パケット内の QoS ラベルは、IP Phone が検出された場合にだけ信頼されます。

ステップ 6

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 7

Cisco IP Phone に接続されているポートの数だけ、ステップ 4 ~ 6 を繰り返します。

ステップ 8

interface interface-id

信頼性のあるスイッチまたはルータに接続していると認識されるスイッチ ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。図 29-8 を参照してください。

ステップ 9

auto qos voip trust

インターフェイス上で自動 QoS をイネーブルにし、そのインターフェイスが信頼性のあるルータまたはスイッチに接続されるように指定します。

ステップ 10

end

特権 EXEC モードに戻ります。

ステップ 11

show auto qos

入力内容を確認します。

このコマンドは、自動 QoS がイネーブルであるインターフェイス上の自動 QoS コマンドを表示します。自動 QoS 設定およびユーザの変更を表示するには、 show running-config 特権 EXEC コマンドを使用します。

自動 QoS によって影響される QoS 設定の詳細については、「自動 QoS 情報の表示」(P.26-12)を参照してください。

ステップ 12

copy running-config startup-config

auto qos voip インターフェイス コンフィギュレーション コマンドおよび生成された自動 QoS 設定をコンフィギュレーション ファイル内に保存します。

標準 QoS の設定

標準 QoS を設定する前に、次の事項を十分に理解しておく必要があります。

使用するアプリケーションのタイプおよびネットワークのトラフィック パターン

トラフィックの特性およびネットワークのニーズ。バースト性の高いトラフィックかどうかの判別。音声およびビデオ ストリーム用の帯域幅確保の必要性

ネットワークの帯域幅要件および速度

ネットワーク上の輻輳発生箇所

ここでは、スイッチに標準 QoS を設定する手順について説明します。

「標準 QoS のデフォルト設定」

「標準 QoS 設定時の注意事項」

「QoS のグローバルなイネーブル化」

「ポートの信頼状態を使用した分類の設定」

「QoS ポリシーの設定」

「DSCP マップの設定」

「ギガビット対応イーサネット ポートの出力キューの設定」

「10/100 イーサネット ポートの出力キューの設定」

標準 QoS のデフォルト設定

表 29-4 に、QoS がディセーブルの場合のデフォルトの標準 QoS 設定を示します。

 

表 29-4 QoS がディセーブルの場合のデフォルトの標準 QoS 設定

ポート
タイプ
QoS
ステート
出力トラフィック(DSCP および CoS 値)
キュー
キュー
重み
テールドロップしきい値
キューへの CoS マッピング

ギガビット対応イーサネット ポート

ディセーブル

パス スルー。

キュー メモリはすべてキュー 1 に割り当てられます(緊急キューなし)。

-

100%、100%

WRED はディセーブルです。

すべての CoS 値がキュー 1 にマッピングされます。

10/100 イーサネット ポート

ディセーブル

パス スルー。

8 個の最小予約レベルごとに、100 パケットのバッファ サイズがあります。キューがレベルを選択します。

-

-

すべての CoS 値がキュー 1 にマッピングされます。

QoS がディセーブルの場合は、パケットが変更されない(パケット内の CoS、DSCP、および IP precedence 値は変更されない)ため、信頼できるポートまたは信頼できないポートといった概念はありません。

表 29-5 に、QoS がイネーブルの場合の、特に設定を行わない状態の、デフォルトの標準 QoS 設定を示します。

 

表 29-5 QoS がイネーブルの場合のデフォルトの標準 QoS 設定

ポート
タイプ
QoS
ステート
出力トラフィック(DSCP および CoS 値)
キュー
キュー
重み
テールドロップしきい値
キューへの CoS マッピング

ギガビット対応イーサネット ポート

イネーブル

(ポリシングなし)

DSCP=0

CoS=0

(0 はベスト エフォート型配信を意味します)。

4 つのキューを使用できます(緊急キューなし)。

各キューに同じ重みが設定されています。

100%、100%

WRED はディセーブルです。

0、1:キュー 1

2、3:キュー 2

4、5:キュー 3

6、7:キュー 4

10/100 イーサネット ポート

イネーブル

(ポリシングなし)

DSCP=0

CoS=0

(0 はベスト エフォート型配信を意味します)。

8 個の最小予約レベルごとに、100 パケットのバッファ サイズがあります。キューがレベルを選択します。

各キューに同じ重みが設定されています。

-

0、1:キュー 1

2、3:キュー 2

4、5:キュー 3

6、7:キュー 4

デフォルトのポート CoS 値は 0 です。

すべてのポート上のデフォルト ポートの信頼性は、信頼性なし(untrusted)の状態です。

ポリシー マップは設定されません。

設定されるポリサーはありません。

デフォルトの CoS/DSCP マップは、表 29-6 のとおりです。

デフォルトの IP precedence/DSCP マップは、表 29-7 のとおりです。

デフォルトの DSCP/CoS マップは、表 29-8 のとおりです。

デフォルトの DSCP/DSCP 変換マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。

デフォルトのポリシング済み DSCP マップは、着信 DSCP 値を同じ DSCP 値にマッピングする(マークダウンしない)空のマップです。

デフォルトの DSCP/スイッチ プライオリティ マップは、DSCP 0 ~ 15 をプライオリティ 0 にマッピングし、DSCP 16 ~ 31 をプライオリティ 1 にマッピングし、DSCP 32 ~ 47 をプライオリティ 2 にマッピングし、DSCP 48 ~ 63 をプライオリティ 3 にマッピングします。

標準 QoS 設定時の注意事項

QoS の設定を始める前に、次の点を理解する必要があります。

スイッチで QoS をイネーブルにする前に、すべてのポートで IEEE 802.3x フロー制御をディセーブルにする必要があります。ディセーブルにするには、 flowcontrol receive off および flowcontrol send off インターフェイス コンフィギュレーション コマンドを使用します。


) QoS がディセーブルの場合、mls qos グローバル コンフィギュレーション コマンドを入力すると、次のメッセージが表示されます。
QoS:ensure flow-control on all interfaces are OFF for proper operation.


スイッチ上で EtherChannel ポートが設定されている場合、EtherChannel を形成する個々の物理ポートに QoS の分類、ポリシング、マッピング、およびキューイングを設定する必要があります。また、QoS の設定を EtherChannel のすべてのポートで照合するかどうかを決定する必要があります。

入力物理ポート単位か、入力ポート単位 VLAN 単位でトラフィックを分類できます。スイッチ仮想インターフェイス レベルではトラフィックを分類できません。

1 つのクラス マップごとに使用できる ACL は 1 つだけ、使用できる match クラスマップ コンフィギュレーション コマンドは 1 つだけです。ACL には複数のアクセス コントロール エントリを含めることができます。これは、フィールドをパケットの内容と照合するコマンドです。

ポート単位 VLAN 単位でトラフィックを分類する場合は、 class-map グローバル コンフィギュレーション コマンドで match-all キーワードを使用する必要があります。詳細については、「クラス マップを使用したポート単位 VLAN 単位でのトラフィックの分類」を参照してください。

スイッチには 256 個の VLAN ラベルがあり(いくつかはデフォルト用に常に内部で使用されます)、VLAN マップとポート単位 VLAN 単位でのポリシングで共有されます。多数の VLAN がクラス マップで使用され、異なる ACL アクションが実行されるか、異なる VLAN マップが適用されている場合、使用可能な VLAN ラベルが不足する場合があります。結果として、TCAM エントリはプログラムされず、機能は動作しません。どれだけの VLAN ラベルがこの QoS 機能で使用されているかを表示するには、 show tcam qos tcam-id port-labels vlan-labels 特権 EXEC コマンドを使用します。

IP フラグメントと設定されている IP 拡張 ACL を照合することによって、QoS を実施することはできません。IP フラグメントはベストエフォート型として送信されます。IP フラグメントは IP ヘッダーのフィールドで示されます。

IP オプションを設定済みの IP 拡張 ACL に照合して、QoS を実行できます。これらのパケットは CPU に送信され、ソフトウェアによって処理されます。IP オプションは、IP ヘッダー内のフィールドで示されます。

入力または出力物理ポートでポリサーを設定できます。ポート単位 VLAN 単位でのポリサーを設定できるのは入力ポートだけです(特定のポートには、VLAN 単位で、トラフィックの帯域幅限度を指定します)。スイッチ仮想インターフェイス レベルではポリシングできません。

ポート単位 VLAN 単位でのポリシングは、ルーテッド ポートまたは仮想(論理)インターフェイスでは設定できません。トランクまたはスタティック アクセス ポイントとして設定された入力ポートのみでサポートされます。

スイッチは、スイッチ全体に対する VLAN 単位の QoS や VLAN QoS ポリシングをサポートしません。

出力インターフェイスに付加するポリシー マップで使用できるのは、 match ip dscp dscp-list クラス マップ コンフィギュレーション コマンドだけです。

ポートの信頼状態を使用したり(たとえば、 mls qos trust [ cos | dscp | ip-precedence ])、インターフェイスで同時にポリシー マップを使用することで(たとえば、 service-policy input policy-map-name )、トラフィックを分類することはできません。これらのコマンドは相互に排他的です。最後に行われた設定により、前の設定が上書きされます。

service-policy インターフェイス コンフィギュレーション コマンドを使用して、次の要素を含むポリシー マップを出力インターフェイスに付加できません。

set または trust ポリシー マップ クラス コンフィギュレーション コマンド。代わりに、 police ポリシー マップ クラス コンフィギュレーション コマンドを使用して、出力インターフェイスで DSCP 値をマーク ダウン(削減)できます。

アクセス コントロール リスト(ACL)分類。

ポート単位 VLAN 単位の分類。

出力インターフェイスに付加できるポリシー マップの唯一の一致条件は、 match ip dscp dscp-list クラス マップ コンフィギュレーション コマンドです。

同じポリシー マップ内の複数のトラフィック クラスで共有される集約ポリサーを作成できます。ただし、集約ポリサーを複数の異なるポリシー マップまたはインターフェイスにわたって使用することはできません。

すべての入力 QoS 処理アクションは、スイッチが受信するトラフィック(スパニングツリー プロトコル データ ユニット(BPDU)やルーティング アップデート パケットなど)を制御するために適用されます。

レイヤ 3 の QoS ACL およびレイヤ 3 情報に関連する他の QoS 機能は、トンネル ポートではサポートされていません。MAC ベース QoS はトンネル ポートでサポートされます。トランク ポートに適用されると、レイヤ 3 QoS ACL は、トンネル ポートを含む VLAN では機能しません。

着信トラフィックの分類情報を表示する場合は、 show policy-map interface 特権 EXEC コマンドを使用しないでください。 interface キーワードはサポートされていません。表示される統計情報は無視する必要があります。代わりに、DSCP を監視することを mls qos monitor dscp dscp1 ... dscp8 インターフェイス コンフィギュレーション コマンドを使用して指定した後、 show mls qos interface interface-id statistics 特権 EXEC コマンドを使用します。このコマンドの詳細については、このリリースのコマンド リファレンスを参照してください。

QoS のグローバルなイネーブル化

デフォルトでは、QoS はスイッチでディセーブルになっているため、パケットの内容やサイズに関係なく、各パケットにベストエフォート型サービスが提供されます。すべての CoS 値は、ギガビット対応イーサネット ポートの合計キュー サイズの 100 パーセントに両方のテール ドロップしきい値が設定された、出力キュー 1 にマッピングされます。10/100 イーサネット ポート上では、すべての CoS 値が、最小予約レベル 1 を使用し、最大 100 個のパケットを保持できる、出力キュー 1 にマッピングされます。バッファが一杯になると、パケットはドロップされます。

QoS をイネーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

interface range port-range

インターフェイス コンフィギュレーション モードを開始し、複数のインターフェイスでコマンドを実行します。

各範囲をカンマ(,)で区切ることにより、1 つのコマンドで最大 5 つのインターフェイス範囲を定義できます。

範囲内のすべてのインターフェイスは同じタイプ、つまり、すべてがファスト イーサネット ポートか、すべてがギガビット イーサネット ポートでなければなりません。

ステップ 3

flowcontrol receive off

flowcontrol send off

すべてのインターフェイスでフロー制御をディセーブルにします。

ステップ 4

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 5

mls qos

QoS をグローバルにイネーブルにします。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show mls qos

入力内容を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

QoS がイネーブルになると、デフォルト設定は表 29-4 に示すようになります。

QoS をディセーブルにするには、 no mls qos グローバル コンフィギュレーション コマンドを使用します。

QoS ドメイン内のポートの信頼状態の設定

QoS ドメインに入るパケットは、QoS ドメインのエッジで分類されます。パケットがエッジで分類されると、QoS ドメイン内の各スイッチでパケットを分類する必要がないので、QoS ドメイン内のスイッチ ポートをいずれか 1 つの信頼状態に設定できます。図 29-9 に、ネットワーク トポロジの例を示します。

図 29-9 QoS ドメイン内のポートの信頼状態

 

ポートが受信したトラフィックの分類を信頼するようにポートを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

QoS をグローバルにイネーブルにします。

ステップ 3

interface interface-id

信頼するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 4

mls qos trust { cos | dscp | ip-precedence }

ポートの信頼状態を設定します。

デフォルトでは、ポートは trusted ではありません。

キーワードの意味は次のとおりです。

cos :パケットの CoS 値で入力パケットを分類します。タグなしパケットの場合、ポートのデフォルト CoS 値が使用されます。デフォルトのポート CoS 値は 0 です。

dscp :パケットの DSCP 値で入力パケットを分類します。非 IP パケットでは、パケットがタグ付きの場合、パケットの CoS 値が使用されます。パケットがタグなしの場合は、デフォルトのポート CoS が使用されます。スイッチは、内部で CoS/DSCP マップを使用して CoS 値を DSCP 値にマッピングします。

ip-precedence :パケットの IP-precedence 値で入力パケットを分類します。 非 IP パケットでは、パケットがタグ付きの場合、パケットの CoS 値が使用されます。パケットがタグなしの場合は、デフォルトのポート CoS が使用されます。スイッチは、内部で CoS/DSCP マップを使用して CoS 値を DSCP 値にマッピングします。

ネットワークがイーサネット LAN、Catalyst 3500 XL スイッチおよび 2900 XL スイッチで構成され、トラフィックの種類がたかだか 2 つの場合は、 cos キーワード設定を使用します。Catalyst 3500 XL スイッチおよび 2900 XL スイッチでは、CoS が、標準プライオリティの送信キューおよび高プライオリティの送信キューを使用して、各送信ポートを設定することを思い出してください。

ネットワークがイーサネット LAN のみで構成されるわけではなく、高度な QoS 機能や実装に関する知識がある場合、 dscp または ip-precedence キーワードを使用します。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

untrusted ステートにポートを戻す場合は、 no mls qos trust インターフェイス コンフィギュレーション コマンドを使用します。

デフォルトの CoS 値を変更する方法については、「インターフェイスの CoS 値の設定」を参照してください。CoS/DSCP マップを設定する方法については、「CoS/DSCP マップの設定」を参照してください。

インターフェイスの CoS 値の設定

QoS は、trusted ポートおよび untrusted ポートで受信したタグなしフレームに、 mls qos cos インターフェイス コンフィギュレーション コマンドで指定された CoS 値を割り当てます。

デフォルトのポート CoS 値を定義する場合、またはポート上のすべての着信パケットにデフォルトの CoS 値を割り当てる場合には、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

QoS をグローバルにイネーブルにします。

ステップ 3

interface interface-id

信頼するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 4

mls qos cos { default-cos | override }

デフォルトのポート CoS 値を設定します。

default-cos には、ポートに割り当てるデフォルトの CoS 値を指定します。ポートが CoS を信頼していて、パケットがタグなしの場合、デフォルトの CoS 値がパケットの CoS 値になります。指定できる CoS 範囲は 0 ~ 7 です。デフォルトは 0 です。

着信パケットにすでに設定されている信頼状態を上書きし、すべての着信パケットにデフォルトのポート CoS 値を適用する場合は、 override キーワードを使用します。デフォルトでは、CoS の上書きはディセーブルに設定されています。

特定のポートに届くすべての着信パケットに、他のポートから着信するパケットより高いプライオリティまたは低いプライオリティを与える場合には、 override キーワードを使用します。ポートがすでに DSCP、CoS、または IP precedence を信頼するように設定されている場合でも、設定済みの信頼状態がこのコマンドによって上書き変更され、すべての着信 CoS 値にこのコマンドで設定されたデフォルトの CoS 値が割り当てられます。着信パケットがタグ付きの場合、入力ポートで、ポートのデフォルト CoS を使用してパケットの CoS 値が変更されます。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの設定に戻す場合は、no mls qos cos { default-cos | override } インターフェイス コンフィギュレーション コマンドを使用します。

ポート セキュリティを確保するための信頼境界機能の設定

一般的なネットワークでは、Cisco IP Phone をスイッチ ポートに接続して(図 29-9 を参照)、電話の背後からデータ パケットを生成するデバイスをカスケードします。Cisco IP Phone では、音声パケット CoS レベルをハイ プライオリティ(CoS = 5)にマーキングし、データ パケットをロー プライオリティ(CoS = 0)にマーキングすることで、共有データ リンクを通して音声品質を保証しています。電話からスイッチに送信されたトラフィックは通常 IEEE 802.1Q ヘッダーを使用するタグでマーキングされています。ヘッダーには VLAN 情報およびパケットのプライオリティになる CoS の 3 ビット フィールドが含まれています。

ほとんどの Cisco IP Phone 設定では、電話からスイッチへ送信されるトラフィックは、音声トラフィックがネットワーク内の他のタイプのトラフィックに対して適切にプライオリティ付けがされていることを保証するように信頼されています。 mls qos trust cos インターフェイス コンフィギュレーション コマンドを使用して、ポートで受信されるすべてのトラフィックの CoS ラベルを信頼するように、電話が接続されているスイッチ ポートを設定します。 mls qos trust dscp インターフェイス コンフィギュレーション コマンドを使用して、ポートで受信されるすべてのトラフィックの DSCP ラベルを信頼するように、電話が接続されているルーテッド ポートを設定します。

信頼設定により、ユーザが電話をバイパスして PC を直接スイッチに接続する場合に、ハイ プライオリティ キューの誤使用を避けるのにも信頼境界機能を使用できます。信頼境界機能を使用しないと、(信頼性のある CoS 設定により)PC が生成した CoS ラベルがスイッチで信頼されてしまいます。それに対して、信頼境界機能は CDP を使用してスイッチ ポートにある Cisco IP Phone(Cisco IP Phone 7910、7935、7940、および 7960)の存在を検出します。電話が検出されない場合、信頼境界機能がハイ プライオリティ キューの誤使用を避けるためにスイッチ ポートの信頼設定をディセーブルにします。信頼境界機能は、PC および Cisco IP Phone がスイッチに接続されているハブに接続されている場合は機能しないことに注意してください。

Cisco IP Phone に接続した PC でハイ プライオリティのデータ キューを利用しないようにすることもできる場合があります。 switchport priority extend cos インターフェイス コンフィギュレーション コマンドを使用して、PC から受信するトラフィックのプライオリティを上書きするようにスイッチ CLI を介して電話を設定できます。

信頼境界機能をポート上でイネーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

QoS をグローバルにイネーブルにします。

ステップ 3

cdp run

CDP をグローバルにイネーブルにします。デフォルトでは、CDP がイネーブルに設定されています。

ステップ 4

interface interface-id

IP Phone に接続されたインターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 5

cdp enable

インターフェイスで CDP をイネーブルにします。デフォルトでは、CDP がイネーブルに設定されています。

ステップ 6

mls qos trust cos

mls qos trust dscp

Cisco IP Phone から受信したトラフィックの CoS 値を信頼するようにスイッチ ポートを設定します。

または

Cisco IP Phone から受信したトラフィックの DSCP 値を信頼するようにルーテッド ポートを設定します。

デフォルトでは、ポートは trusted ではありません。

ステップ 7

mls qos trust device cisco-phone

Cisco IP Phone が信頼性のあるデバイスであることを指定します。

信頼境界機能と自動 QoS( auto qos voip インターフェイス コンフィギュレーション コマンド)を同時にイネーブルにはできません。両者は相互に排他的です。

ステップ 8

end

特権 EXEC モードに戻ります。

ステップ 9

show mls qos interface

入力内容を確認します。

ステップ 10

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

信頼境界機能をディセーブルにするには、 no mls qos trust device インターフェイス コンフィギュレーション コマンドを使用します。

パススルー モードのイネーブル化

パススルー モードを使用して、CoS と DSCP の両方の値を含むパケットに対し、この 2 つの設定を独立させることができます。パススルー モードは、 mls qos trust [ cos | dscp ] インターフェイス コンフィギュレーション コマンドを使用したときに、他の値(CoS または DSCP)を変更しない場合に使用します。

Cisco IOS Release 12.1(11)EA1 よりも前のソフトウェア リリースでは、デフォルトで、DSCP を信頼するようにインターフェイスを設定した場合、スイッチは IP パケットの DSCP フィールドを変更しません。ただし、スイッチは、DSCP/CoS マップに従って、パケットの CoS 値を変更します。CoS を信頼するようにインターフェイスを設定すると、スイッチはパケットの CoS フィールドを変更しません。ただし、パケットが IP パケットの場合、スイッチは CoS/DSCP マップに従って DSCP を変更します。

Cisco IOS Release 12.1(11)EA1 以降では、パススルー モードでインターフェイスを設定します。インターフェイスは DSCP を信頼し、スイッチは CoS 値を変更せずにパケットを送信します(DSCP/CoS マップは無視されます)。そうでない場合、インターフェイスは CoS を信頼し、スイッチは DSCP 値を変更せずにパケットを送信します。CoS/DSCP マップは無視されます。

インターフェイスでパススルー モードをイネーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

interface interface-id

pass-through モードをイネーブルに設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 3

mls qos trust cos pass-through dscp

または

mls qos trust dscp pass-through cos

Pass-Through モードをイネーブルにします。インターフェイスは着信パケットの CoS 値を信頼するように設定されます。スイッチは DSCP 値を変更しません。

または

Pass-Through モードをイネーブルにします。インターフェイスは着信パケットの DSCP 値を信頼するように設定されます。スイッチは、CoS 値を変更しません。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show mls qos interface [ interface-id ]

入力内容を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

pass-through モードをディセーブルにするには、 no mls qos trust cos pass-through dscp または no mls qos trust dscp pass-through cos インターフェイス コンフィギュレーション コマンドを使用します。

mls qos trust [ cos pass-through dscp | dscp pass-through cos ] インターフェイス コンフィギュレーション コマンドを設定した後、 mls qos trust [ cos | dscp ] インターフェイス コンフィギュレーション コマンドを設定すると、パススルー モードはディセーブルになります


mls qos trust cos pass-through dscp インターフェイス コンフィギュレーション コマンドを使用してインターフェイスを DSCP パススルー モードに設定し、DSCP/DSCP 変換マップを同じインターフェイスに適用した場合、DSCP 値は変換マップに従って変更されます。


別の QoS ドメインとの境界ポートでの DSCP 信頼状態の設定

2 つの異なる QoS ドメインを管理しているときに、その QoS ドメイン間の IP トラフィックに QoS 機能を実装する場合は、ドメインの境界に位置するスイッチ ポートを DSCP trusted ステートに設定できます(図 29-10 を参照)。それにより、受信ポートでは DSCP trusted 値をそのまま使用し、QoS の分類手順が省略されます。2 つのドメインで異なる DSCP 値が使用されている場合は、他のドメイン内での定義に一致するように一連の DSCP 値を変換する DSCP/DSCP 変換マップを設定できます。

図 29-10 別の QoS ドメインとの境界ポートの DSCP 信頼状態

 

ポート上に DSCP trusted ステートを設定して、DSCP/DSCP 変換マップを変更するには、特権 EXEC モードで次の手順を実行します。両方の QoS ドメインに一貫した方法でマッピングするには、両方のドメイン内のポート上で次の手順を実行する必要があります。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

mls qos map dscp-mutation dscp-mutation- name in-dscp to out-dscp

DSCP/DSCP 変換マップを変更します。

デフォルトの DSCP/DSCP 変換マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。

dscp-mutation- name には、変換マップ名を入力します。新しい名前を指定することにより、複数のマップを作成できます。

in-dscp には、最大 8 つの DSCP 値をスペースで区切って入力します。さらに、 to キーワードを入力します。

out-dscp には、1 つの DSCP 値を入力します。

DSCP の範囲は 0 ~ 63 です。

ステップ 4

interface interface-id

信頼するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 5

mls qos trust dscp

DSCP trusted ポートとして入力ポートを設定します。

ステップ 6

mls qos dscp-mutation dscp-mutation- name

指定された DSCP trusted 入力ポートにマップを適用します。

異なるギガビット対応イーサネット ポートにマップを適用できます。ただし、10/100 イーサネット ポート上では、12 ポートのグループに 1 個の DSCP/DSCP 変換マップのみを付加できます。たとえば、ファスト イーサネット ポート 1 ~ 12 が 1 つのグループ、ファスト イーサネット ポート 13 ~ 24 が 1 つのグループ、ギガビット イーサネット 1 が 1 つのグループ、ギガビット イーサネット 2 が 1 つのグループであるとします。変換マップをグループに含まれる任意のポートに適用すると、同じグループのすべてのポートが同じマップで自動的に設定されます。

ステップ 7

end

特権 EXEC モードに戻ります。

ステップ 8

show mls qos maps dscp-mutation

入力内容を確認します。

ステップ 9

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ポートを trusted 以外のステートに戻すには、 no mls qos trust インターフェイス コンフィギュレーション コマンドを使用します。デフォルトの DSCP/DSCP 変換マップ値に戻すには、 no mls qos map dscp-mutation dscp-mutation-map-name グローバル コンフィギュレーション コマンドを使用します。

次に、インターフェイスが DSCP を信頼する状態に設定し、着信した DSCP 値 10 ~ 13 が DSCP 値 30 にマッピングされるように DSCP/DSCP 変換マップ( gi0/2-mutation )を変更する例を示します。

Switch# configure terminal
Switch(config)# mls qos map dscp-mutation gi0/2-mutation 10 11 12 13 to 30
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# mls qos trust dscp
Switch(config-if)# mls qos dscp-mutation gi0/2-mutation
Switch(config-if)# end

QoS ポリシーの設定

QoS ポリシーを設定するには、通常、トラフィックをクラス別に分類し、各トラフィック クラスに適用するポリシーを設定し、ポリシーをインターフェイスに適用する必要があります。

基本情報については、「分類」および「ポリシングおよびマーキング」を参照してください。

次のセクションでは、QoS ポリシーを設定する方法について説明します。

「ACL によるトラフィックの分類」

「クラス マップを使用した物理ポート単位のトラフィックの分類」

「クラス マップを使用したポート単位 VLAN 単位でのトラフィックの分類」

「ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング」

「集約ポリサーによるトラフィックの分類、ポリシング、およびマーキング」

ACL によるトラフィックの分類

IP 標準 ACL または IP 拡張 ACL を使用することによって、IP トラフィックを分類できます。非 IP トラフィックは、レイヤ 2 MAC ACL を使用することによって分類できます。

IP トラフィック用に IP 標準 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

IP 標準 ACL を作成し、必要な回数だけコマンドを繰り返します。

access-list-number には、アクセス リスト番号を入力します。有効範囲は 1 ~ 99 および 1300 ~ 1999 です。

permit キーワードを使用すると、条件が一致した場合に特定のトラフィック タイプを許可します。 deny キーワードを使用すると、条件が一致した場合に特定のトラフィック タイプを拒否します。

source には、パケットの送信元となるネットワークまたはホストを指定します。 any キーワードは 0.0.0.0 255.255.255.255 の省略形として使用できます。

(任意) source-wildcard には、source に適用されるワイルドカード ビットをドット付き 10 進表記で入力します。無視するビット位置には 1 を設定します。

(注) アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show access-lists

入力内容を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アクセス リストを削除するには、 no access-list access-list-number グローバル コンフィギュレーション コマンドを使用します。

次に、指定された 3 つのネットワーク上のホストだけにアクセスを許可する例を示します。ネットワーク アドレスのホスト部分にワイルドカード ビットが適用されます。アクセス リストのステートメントと一致しない送信元アドレスのホストはすべて拒否されます。

Switch(config)# access-list 1 permit 192.5.255.0 0.0.0.255
Switch(config)# access-list 1 permit 128.88.0.0 0.0.255.255
Switch(config)# access-list 1 permit 36.0.0.0 0.0.0.255
! (Note: all other access implicitly denied)
 

IP トラフィック用に IP 拡張 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

access-list access-list-number { deny | permit } protocol source source-wildcard destination destination-wildcard

IP 拡張 ACL を作成し、必要な回数だけコマンドを繰り返します。

access-list-number には、アクセス リスト番号を入力します。有効範囲は 100 ~ 199 および 2000 ~ 2699 です。

permit キーワードを使用すると、条件が一致した場合に特定のトラフィック タイプを許可します。 deny キーワードを使用すると、条件が一致した場合に特定のトラフィック タイプを拒否します。

protocol には、IP プロトコルの名前または番号を入力します。疑問符(?)を使用すると、使用できるプロトコル キーワードのリストが表示されます。

source には、パケットの送信元となるネットワークまたはホストを指定します。ネットワークまたはホストを指定するには、ドット付き 10 進表記を使用したり、 source 0.0.0.0 source-wildcard 255.255.255.255 の短縮形として any キーワードを使用したり、 source 0.0.0.0 を表す host キーワードを使用します。

source-wildcard では、無視するビット位置に 1 を入力することによって、ワイルドカード ビットを指定します。ワイルドカードを指定するには、ドット付き 10 進表記を使用したり、 source 0.0.0.0 source-wildcard 255.255.255.255 の短縮形として any キーワードを使用したり、 source 0.0.0.0 を表す host キーワードを使用します。

destination には、パケットの宛先となるネットワークまたはホストを指定します。 destination および destination-wildcard には、 source および source-wildcard での説明と同じオプションを使用できます。

(注) アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show access-lists

入力内容を確認します。

ステップ 6

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アクセス リストを削除するには、 no access-list access-list-number グローバル コンフィギュレーション コマンドを使用します。

次に、任意の送信元から任意の宛先への、DSCP 値が 32 に設定されている IP トラフィックを許可する ACL を作成する例を示します。

Switch(config)# access-list 100 permit ip any any dscp 32
 

次に、10.1.1.1 の送信元ホストから 10.1.1.2 の宛先ホストへの、precedence 値が 5 の IP トラフィックを許可する ACL を作成する例を示します。

Switch(config)# access-list 100 permit ip host 10.1.1.1 host 10.1.1.2 precedence 5
 

次に、任意の送信元からアドレス 224.0.0.2 の宛先グループへの、DSCP 値が 32 の PIM トラフィックを許可する ACL を作成する例を示します。

Switch(config)# access-list 102 permit pim any 224.0.0.2 dscp 32
 

非 IP トラフィック用にレイヤ 2 MAC ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

mac access-list extended name

リスト名を指定し、レイヤ 2 MAC ACL を作成します。

このコマンドを入力すると、拡張 MAC ACL コンフィギュレーション モードに切り替わります。

ステップ 4

{ permit | deny } { host src-MAC-addr mask | any | host dst-MAC-addr | dst-MAC-addr mask } [ type mask ]

条件が一致した場合に許可または拒否するトラフィック タイプを指定します。必要な回数だけコマンドを入力します。

src-MAC-addr には、パケットの送信元となるホストの MAC アドレスを指定します。MAC アドレスを指定するには、16 進表記(H.H.H)を使用したり、 source 0.0.0、 source-wildcard ffff.ffff.ffff の短縮形として any キーワードを使用したり、 source 0.0.0 を表す host キーワードを使用します。

mask では、無視するビット位置に 1 を入力することによって、ワイルドカード ビットを指定します。

dst-MAC-addr には、パケットの宛先となるホストの MAC アドレスを指定します。MAC アドレスを指定するには、16 進表記(H.H.H)を使用したり、 source 0.0.0、 source-wildcard ffff.ffff.ffff の短縮形として any キーワードを使用したり、 source 0.0.0 を表す host キーワードを使用します。

(任意) type mask には、Ethernet II または SNAP でカプセル化されたパケットの Ethertype 番号を指定して、パケットのプロトコルを識別します。type の範囲は 0 ~ 65535 です。通常は 16 進数で指定します。mask には、一致をテストする前に Ethertype に適用される don’t care ビットを入力します。

(注) アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show access-lists [ access-list-number | access-list-name ]

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アクセス リストを削除するには、 no mac access-list extended access-list-name グローバル コンフィギュレーション コマンドを使用します。

次に、2 つの許可(permit)ステートメントを指定したレイヤ 2 の MAC ACL を作成する例を示します。最初のステートメントでは、MAC アドレスが 0001.0000.0001 であるホストから、MAC アドレスが 0002.0000.0001 であるホストへのトラフィックが許可されます。2 番めのステートメントでは、MAC アドレスが 0001.0000.0002 であるホストから、MAC アドレスが 0002.0000.0002 であるホストへの、Ethertype が XNS-IDP のトラフィックのみが許可されます。

Switch(config)# mac access-list extended maclist1
Switch(config-ext-macl)# permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0
Switch(config-ext-macl)# permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp
! (Note: all other access implicitly denied)

クラス マップを使用した物理ポート単位のトラフィックの分類

個々のトラフィック フロー(またはクラス)を他のすべてのトラフィックから分離して名前を付けるには、 class-map グローバル コンフィギュレーション コマンドを使用します。クラス マップでは、さらに細かく分類するために、特定のトラフィック フローと照合する条件を定義します。match ステートメントには、ACL、IP precedence 値、DSCP 値などの条件を指定できます。一致条件は、クラス マップ コンフィギュレーション モードの中で match ステートメントを 1 つ入力することによって定義します。

ポート ベースの分類と VLAN ベースの分類は同時に設定できません。


class ポリシー マップ コンフィギュレーション コマンドを使用することによって、ポリシー マップの作成時にクラス マップを作成することもできます。詳細については、「ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング」を参照してください。


特権 EXEC モードから、クラス マップを作成し、物理ポート ベースでトラフィックを分類するための一致条件を定義するには、次の手順に従ってください。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

または

access-list access-list-number { deny | permit } protocol source [ source-wildcard ] destination [ destination-wildcard ]

または

mac access-list extended name

{ permit | deny } { host src-MAC-addr mask | any | host dst-MAC-addr | dst-MAC-addr mask } [ type mask ]

IP トラフィック用の IP 標準または IP 拡張 ACL、または非 IP トラフィック用のレイヤ 2 MAC ACL を作成し、必要な回数だけコマンドを繰り返します。

詳細については、「ACL によるトラフィックの分類」を参照してください。

(注) アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。

ステップ 4

class-map [ match-all | match-any ] class-map-name

クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始します。

デフォルトでは、クラス マップは定義されていません。

(任意)このクラス マップ配下のすべての一致ステートメントの論理 AND を実行するには、 match-all キーワードを使用します。この場合は、クラス マップ内のすべての一致条件と一致する必要があります。

(任意)このクラス マップ配下のすべての一致ステートメントの論理 OR を実行するには、 match-any キーワードを使用します。この場合は、1 つまたは複数の一致条件と一致する必要があります。

class-map-name には、クラス マップ名を指定します。

match-all または match-any のどちらのキーワードも指定されていない場合、デフォルトは match-all です。

でもキーワードの機能は変わりません。

ステップ 5

match { access-group acl-index-or-name | ip dscp dscp-list | ip precedence ip-precedence-list }

トラフィックを分類するための一致条件を定義します。

デフォルトでは、一致条件は定義されていません。

クラス マップごとにサポートされる一致条件は 1 つだけです。また、クラス マップごとにサポートされる ACL は 1 つだけです。

access-group acl-index-or-name には、ステップ 3 で作成した ACL の番号または名前を指定します。

ip dscp dscp-list には、着信パケットと照合する IP DSCP 値を 8 つまで入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 63 です。

ip precedence ip-precedence-list には、着信パケットと照合する IP precedence 値を 8 つまで入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 7 です。

クラス マップ コンフィギュレーション コマンドです。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show class-map

入力内容を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のクラス マップを削除するには、 no class-map [ match-all | match-any ] class-map-name グローバル コンフィギュレーション コマンドを使用します。一致条件を削除するには、no match { access-group acl-index-or-name | ip dscp | ip precedence } クラス マップ コンフィギュレーション コマンドを使用します。

次に、 class1 というクラス マップの設定例を示します。 class1 にはアクセス リスト 103 という一致条件が 1 つ設定されています。このクラス マップによって、任意のホストから任意の宛先への、DSCP 値が 10 のトラフィックが許可されます。

Switch(config)# access-list 103 permit any any dscp 10
Switch(config)# class-map class1
Switch(config-cmap)# match access-group 103
Switch(config-cmap)# end
 

次に、DSCP 値が 10、11、および 12 である着信トラフィックと照合する、 class2 という名前のクラス マップを作成する例を示します。

Switch(config)# class-map class2
Switch(config-cmap)# match ip dscp 10 11 12
Switch(config-cmap)# end
 

次に、IP precedence 値が 5、6、および 7 である着信トラフィックと照合する、 class3 という名前のクラス マップを作成する例を示します。

Switch(config)# class-map class3
Switch(config-cmap)# match ip precedence 5 6 7
Switch(config-cmap)# end

クラス マップを使用したポート単位 VLAN 単位でのトラフィックの分類

個々のトラフィック フロー(またはクラス)を他のすべてのトラフィックから分離して名前を付けるには、 class-map グローバル コンフィギュレーション コマンドを使用します。さらにトラフィック フローを分類するには、クラス マップで一致基準を定義します。

ポート単位 VLAN 単位でパケット分類を定義するには、次のガイドラインに従ってください。

class-map グローバル コンフィギュレーション コマンドで、 match-all キーワードを使用する必要があります。

ポート単位 VLAN 単位の分類はポート単位の機能であり、冗長リンクでは動作しません。トランクまたはスタティック アクセス ポイントとして設定された入力ポートのみでサポートされます。

クラス マップには、次の順序で 2 つの match コマンドが必要です。1 つの match vlan vlan-list class-map コンフィギュレーション コマンドと 1 つの match class-map class-map-name class-map コンフィギュレーション コマンド。 match class-map class-map-name コマンドで指定したクラス マップを事前に定義する必要があり、 match vlan vlan-list コマンドと match class-map class-map-name コマンドを含めることはできません。

ポート ベースの分類と VLAN ベースの分類は同時に設定できません。 match vlan vlan-list コマンドを設定すると、クラス マップは、ポート単位 VLAN 単位になります。ポート ベースおよび VLAN ベースのクラス マップを含むポリシー マップを設定した場合、インターフェイスに接続したときに、スイッチでポリシー マップが拒否されます。

ポート単位 VLAN 単位の分類によって、一致しない VLAN はデフォルト クラスと同様に扱われます。つまり、一致しない VLAN は、一致した VLAN クラスで使用されている帯域幅の残りの帯域幅を共有します。このデフォルト クラスの動作は変更できません。必要に応じて、これらの VLAN をブロックするために VLAN マップ フィルタを使用できます。

ポリシー マップ内で、 match vlan vlan-list コマンドを使用する場合は、他のすべてのクラス マップで、 match vlan vlan-list コマンドを使用する必要があります。

VLAN リストを変更する場合は、最初に no match vlan vlan-list コマンドと no match class-map class-map-name コマンドを使用して、クラス マップの以前の設定を削除します。次に、クラス マップを再設定して、新しい VLAN リストを指定します。ポリシー マップがインターフェイスに付加され、別の方法を使用してクラス マップを変更すると、ポリシー マップはインターフェイスから取り外されます。


match vlan vlan-list クラスマップ コンフィギュレーション コマンドを使用すると、最大 30 個の VLAN ID を入力できます。10 ~ 15 などの VLAN の範囲を入力する場合、VLAN の範囲は、2 つの VLAN ID としてカウントされます。



class ポリシー マップ コンフィギュレーション コマンドを使用することによって、ポリシー マップの作成時にクラス マップを作成することもできます。詳細については、「ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング」を参照してください。


特権 EXEC モードから、クラス マップを作成し、ポート単位 VLAN 単位ベースでトラフィックを分類するための一致条件を定義するには、次の手順に従ってください。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

class-map match-any class-map-name

クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始します。

デフォルトでは、クラス マップは定義されていません。

このクラス マップ配下のすべての一致ステートメントの論理 OR を実行するには、 match-any キーワードを使用します。この場合は、1 つまたは複数の一致条件と一致する必要があります。

class-map-name には、クラス マップ名を指定します。

ステップ 4

match { access-group acl-index-or-name | ip dscp dscp-list | ip precedence ip-precedence-list }

トラフィックを分類するための一致条件を定義します。

デフォルトでは、一致条件は定義されていません。

access-group acl-index-or-name には、ACL の番号または名前を指定します。

ip dscp dscp-list には、着信パケットと照合する IP DSCP 値を 8 つまで入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 63 です。

ip precedence ip-precedence-list には、着信パケットと照合する IP precedence 値を 8 つまで入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 7 です。

ステップ 5

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

class-map match-all class-map-name

クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始します。

デフォルトでは、クラス マップは定義されていません。

このクラス マップ配下のすべての一致ステートメントの論理 AND を実行するには、 match-all キーワードを使用します。この場合は、クラス マップ内のすべての一致条件と一致する必要があります。

class-map-name には、ステップ 3 で作成したクラス マップ名を指定します。

ステップ 7

match vlan vlan-list

トラフィックを分類するための一致条件を定義します。

デフォルトでは、一致条件は定義されていません。

vlan-list には、着信パケットと照合する VLAN のリストを指定します。VLAN ID は、30 個まで入力できます。VLAN の範囲にはハイフンを使用します。VLAN の範囲は 2 つの VLAN ID としてカウントされます。個々の VLAN は、スペースを使用して区切ります。指定できる範囲は 1 ~ 4094 です。

1 つの match vlan コマンドだけを入力する場合は、 match class-map コマンドの前に入力する必要があります。

ステップ 8

match class-map class-map-name

ステップ 3 で作成したクラス マップ名を指定します。

ステップ 9

end

特権 EXEC モードに戻ります。

ステップ 10

show class-map

入力内容を確認します。

ステップ 11

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のクラス マップを削除するには、 no class-map [ match-all | match-any ] class-map-name グローバル コンフィギュレーション コマンドを使用します。一致条件を削除するには、no match { access-group acl-index-or-name | ip dscp | ip precedence } クラス マップ コンフィギュレーション コマンドを使用します。

次に、一致基準が IP DSCP 9 の一致である dscp_class というクラス マップを設定する例を示します。 vlan_class という 2 番目のクラス マップは、VLAN 10、20 ~ 30、および 40 のトラフィックをクラス マップ dscp_class と一致させます。

Switch(config)# class-map match-any dscp_class
Switch(config-cmap)# match ip dscp 9
Switch(config-cmap)# exit
Switch(config)# class-map match-all vlan_class
Switch(config-cmap)# match vlan 10 20-30 40
Switch(config-cmap)# match class-map dscp_class
Switch(config-cmap)# exit

ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング

ポリシー マップでは、作用対象のトラフィック クラスを指定します。トラフィック クラスの CoS 値、DSCP 値、または IP precedence 値を信頼するアクション、トラフィック クラスに特定の CoS 値、DSCP 値、または IP precedence 値を設定するアクション、および一致する各トラフィック クラスにトラフィック帯域幅限度を指定するアクション(ポリサー)や、トラフィックが不適合な場合の対処法を指定するアクション(マーキング)などを指定できます。

ポリシー マップには、次の特性もあります。

1 つのポリシー マップに、それぞれ異なる一致条件とポリサーを指定した複数のクラス ステートメントを指定できます。

インターフェイスから受信されたトラフィック タイプごとに、別々のポリシー マップ クラスを設定できます。

ポリシー マップの信頼状態は、インターフェイスの信頼状態を上書きします。

ポリシー マップの設定時は、次の注意事項に従ってください。

方向ごとのインターフェイスごとに適用できるポリシー マップは 1 つだけです。同一のポリシー マップを複数のインターフェイスと方向に適用できます。

mls qos map ip-prec-dscp dscp1...dscp8 グローバル コンフィギュレーション コマンドを使用して IP-precedence/DSCP マップを設定する場合、その設定は IP precedence 値を信頼するよう設定されている入力インターフェイス上のパケットにのみ影響を与えます。ポリシー マップでは、 set ip precedence new-precedence ポリシー マップ クラス コンフィギュレーション コマンドを使用してパケット IP precedence 値を新しい値に設定する場合、出力 DSCP 値は IP-precedence/DSCP マップによる影響を受けません。出力 DSCP 値を入力値とは異なる値に設定する場合、 set dscp new-dscp ポリシー マップ クラス コンフィギュレーション コマンドを使用します。

policy-map グローバル コンフィギュレーション コマンドで定義されたポリシー マップをインターフェイスの出力に適用するか、またはポリシー マップとインターフェイスの関連付けを削除すると、インターフェイスがダウンします。インターフェイスを再度イネーブルにするには、 shutdown および no shutdown インターフェイス コンフィギュレーション コマンドの順に使用します。

特権 EXEC モードを開始して、ポリシー マップを作成するには、次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

access-list access-list-number { deny | permit } source [ source-wildcard ]

または

access-list access-list-number { deny | permit } protocol source [ source-wildcard ] destination [ destination-wildcard ]

または

mac access-list extended access-list name

{ permit | deny } { source-MAC-addr mask | any | host } { destination-MAC-addr mask | any | host } [ ethertype ]

IP トラフィック用の IP 標準または IP 拡張 ACL、または非 IP トラフィック用のレイヤ 2 MAC ACL を作成し、必要な回数だけコマンドを繰り返します。

詳細については、「ACL によるトラフィックの分類」を参照してください。

(注) アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。

ステップ 4

class-map [ match-all | match-any ] class-map-name

必要に応じて、トラフィックを分類するクラス マップを作成します。詳細については、「クラス マップを使用した物理ポート単位のトラフィックの分類」および「クラス マップを使用したポート単位 VLAN 単位でのトラフィックの分類」を参照してください。

ステップ 5

mls qos cos policy-map

(任意)ポリシー マップのポート CoS 値を定義します。このコマンドを入力する場合は、ステップ 8 で trust dscp ポリシー マップ コンフィギュレーション コマンドを入力し、ステップ 9 で set cos new-cos ポリシー マップ コンフィギュレーション コマンドも入力する必要があります。

ステップ 6

policy-map policy-map-name

ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

デフォルトでは、ポリシー マップは定義されていません。

ポリシー マップのデフォルトの動作では、パケットが IP パケットの場合は DSCP が 0 に、パケットがタグ付きの場合は CoS が 0 に設定されます。ポリシングは実行されません。

ステップ 7

class class-map-name

トラフィックの分類を定義し、ポリシー マップ クラス コンフィギュレーション モードを開始します。

デフォルトでは、ポリシー マップ クラス マップは定義されていません。

すでに class-map グローバル コンフィギュレーション コマンドを使用してトラフィック クラスが定義されている場合は、このコマンドで class-map-name にその名前を指定します。

ステップ 8

trust [ cos | dscp | ip-precedence ]

QoS が内部 DSCP 値の元として使用する値を選択する、信頼状態を設定します。

コマンドを入力する場合は、ステップ 7 をスキップしてください。

デフォルトでは、ポートは trusted ではありません。キーワードを指定せずにコマンドを入力した場合、デフォルトは dscp です。

キーワードの意味は次のとおりです。

cos: QoS は受信した CoS 値やデフォルトのポート CoS 値、および CoS/DSCP マップを使用して、内部 DSCP 値を抽出します。

dscp: QoS は入力パケットの DSCP 値を使用して、内部 DSCP 値を抽出します。タグ付きの非 IP パケットの場合、QoS は受信した CoS 値を使用して内部 DSCP 値を抽出します。タグなしの非 IP パケットの場合、QoS はデフォルトのポート CoS 値を使用して内部 DSCP 値を抽出します。いずれの場合も、内部 DSCP 値は CoS/DSCP マップから抽出されます。

キーワードを使用する必要があります。

ip-precedence: QoS は入力パケットの IP precedence 値および IP precedence/DSCP マップを使用して、内部 DSCP 値を抽出します。タグ付きの非 IP パケットの場合、QoS は受信した CoS 値を使用して内部 DSCP 値を抽出します。タグなしの非 IP パケットの場合、QoS はデフォルトのポート CoS 値を使用して内部 DSCP 値を抽出します。いずれの場合も、内部 DSCP 値は CoS/DSCP マップから抽出されます。

詳細については、「CoS/DSCP マップの設定」を参照してください。

ステップ 9

set { cos new-cos | dscp new-dscp | ip precedence new-precedence }

パケットに新しい値を設定することによって、IP トラフィックを分類します。

cos new-cos には 分類されたトラフィックに割り当てる新しい COS 値を入力します。指定できる範囲は 0 ~ 7 です。

キーワードを使用する必要があります。

dscp new-dscp には、分類されたトラフィックに割り当てる新しい DSCP 値を入力します。指定できる範囲は 0 ~ 63 です。

ip precedence new-precedence には、分類されたトラフィックに割り当てる新しい IP precedence 値を入力します。指定できる範囲は 0 ~ 7 です。

ステップ 10

police rate-bps burst-byte [ exceed-action { drop | policed-dscp-transmit }]

分類したトラフィックにポリサーを定義します。

入力ギガビット対応イーサネット ポート上では最大 128 個のポリサーを設定でき、入力 10/100 イーサネット ポート上では最大 8 個のポリサーを設定でき、出力ポートでは最大 8 個のポリサーを設定できます。

rate-bps には、平均トラフィック レートをビット/秒(bps)で指定します。指定できる範囲は 8000 ~ 1000000000 です。

burst-byte には、標準バースト サイズをバイト数で指定します。指定できる範囲は 8000 ~ 20000000 です

(任意)レートを超過した場合に実行するアクションを指定します。パケットをドロップする場合は、 exceed-action drop キーワードを使用します。(ポリシング設定 DSCP マップを使用して)DSCP 値をマークダウンし、パケットを送信するには、 exceed-action policed-dscp-transmit キーワードを使用します。詳細については、「ポリシング済み DSCP マップの設定」 を参照してください。

ステップ 11

exit

ポリシー マップ コンフィギュレーション モードに戻ります。

ステップ 12

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 13

interface interface-id

ポリシー マップを適用するポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 14

service-policy { input policy-map-name | output policy-map-name }

ポリシー マップを特定のインターフェイスの入力または出力に適用します。

方向ごとのインターフェイスごとに適用できるポリシー マップは 1 つだけです。

インターフェイスの入力に、指定したポリシー マップを適用するには、input policy-map-name を使用します。

インターフェイスの出力に、指定したポリシー マップを適用するには、 output policy-map-name を使用します。

service-policy インターフェイス コンフィギュレーション コマンドを使用して、次の要素を含むポリシー マップを出力インターフェイスに付加できません。

set または trust ポリシー マップ クラス コンフィギュレーション コマンド。代わりに、 police ポリシー マップ クラス コンフィギュレーション コマンドを使用して、出力インターフェイスで DSCP 値をマーク ダウン(削減)できます。

アクセス コントロール リスト(ACL)分類。

ポート単位 VLAN 単位の分類。

出力インターフェイスに付加できるポリシー マップの唯一の一致条件は、 match ip dscp dscp-list クラス マップ コンフィギュレーション コマンドです。

ポート単位 VLAN 単位でのポリシングは、ルーテッド ポートまたは仮想(論理)インターフェイスではサポートされません。

ステップ 15

end

特権 EXEC モードに戻ります。

ステップ 16

show policy-map [ policy-map-name [ class class-name ]]

入力内容を確認します。

ステップ 17

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のポリシー マップを削除するには、no policy-map policy-map-name グローバル コンフィギュレーション コマンドを使用します。既存のクラス マップを削除するには、no class class-map-name ポリシー マップ コンフィギュレーション コマンドを使用します。DSCP/CoS マップを使用して CoS 値を定義するには、 no mls qos cos policy-map グローバル コンフィギュレーション コマンドを使用します。デフォルトの信頼状態に戻すには、no trust [cos | dscp | ip-precedence] ポリシー マップ コンフィギュレーション コマンドを使用します。割り当てられた CoS、DSCP、または IP precedence 値を削除するには、 no set { cos new-cos | dscp new-dscp | ip precedence new-precedence } ポリシー マップ コンフィギュレーション コマンドを使用します。既存のポリサーを削除するには、no police rate-bps burst-byte [ exceed-action { drop | policed-dscp-transmit}] ポリシー マップ コンフィギュレーション コマンドを使用します。ポリシー マップとインターフェイスの関連付けを削除するには、no service-policy {input policy-map-name | output policy-map-name } インターフェイス コンフィギュレーション コマンドを使用します。

次に、ポリシー マップを作成し、入力インターフェイスに付加する例を示します。この設定では、IP 標準 ACL でネットワーク 10.1.0.0 からのトラフィックを許可します。この分類にトラフィックが一致した場合、着信パケットの DSCP 値が信頼されます。一致したトラフィックが平均トラフィック レート(48000 bps)および標準バースト サイズ(8000 バイト)を超えた場合、(ポリシング設定 DSCP マップに基づいて)DSCP がマークダウンされて送信されます。

Switch(config)# access-list 1 permit 10.1.0.0 0.0.255.255
Switch(config)# class-map ipclass1
Switch(config-cmap)# match access-group 1
Switch(config-cmap)# exit
Switch(config)# policy-map flow1t
Switch(config-pmap)# class ipclass1
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 48000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# service-policy input flow1t
 

次に、ポリシー マップを作成し、入力インターフェイスに付加する例を示します。設定では、IP 拡張 ACL は、224.0.0.5 のホスト宛てのすべてのホストからの IP precedence が 4 の TCP トラフィックを許可します。この分類にトラフィックが一致した場合、着信パケットの DSCP 値が 63 に設定されます。

Switch(config)# access-list 104 permit tcp any host 224.0.0.5 precedence 4
Switch(config)# class-map ipclass1
Switch(config-cmap)# match access-group 104
Switch(config-cmap)# exit
Switch(config)# policy-map ip104
Switch(config-pmap)# class ipclass1
Switch(config-pmap-c)# set dscp 63
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# service-policy input ip104
 

次に、2 つの許可ステートメントを指定してレイヤ 2 MAC ACL を作成し、入力インターフェイスに付加する例を示します。最初の許可ステートメントでは、MAC アドレスが 0001.0000.0001 であるホストから、MAC アドレスが 0002.0000.0001 であるホストへのトラフィックが許可されます。2 番めの許可ステートメントでは、MAC アドレスが 0001.0000.0002 であるホストから、MAC アドレスが 0002.0000.0002 であるホストへの、Ethertype が XNS-IDP のトラフィックのみが許可されます。

Switch(config)# mac access-list extended maclist1
Switch(config-ext-mac)# permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0
Switch(config-ext-mac)# permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp
Switch(config-ext-mac)# exit
Switch(config)# mac access-list extended maclist2
Switch(config-ext-mac)# permit 0001.0000.0003 0.0.0 0002.0000.0003 0.0.0
Switch(config-ext-mac)# permit 0001.0000.0004 0.0.0 0002.0000.0004 0.0.0 aarp
Switch(config-ext-mac)# exit
Switch(config)# class-map macclass1
Switch(config-cmap)# match access-group maclist1
Switch(config-cmap)# exit
Switch(config)# class-map macclass2
Switch(config-cmap)# match access-group maclist2
Switch(config-cmap)# exit
Switch(config)# policy-map macpolicy1
Switch(config-pmap)# class macclass1
Switch(config-pmap-c)# set dscp 63
Switch(config-pmap-c)# exit
Switch(config-pmap)# class macclass2
Switch(config-pmap-c)# set dscp 45
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# mls qos trust cos
Switch(config-if)# service-policy input macpolicy1
 

次に、ポートごと VLAN ごとの分類を含むポリシー マップを作成し、入力インターフェイスに付加する例を示します。 vlan_class という名前のクラス マップが、VLAN 10、20 ~ 30、および 40 で受信された IP DSCP 9 を含むトラフィックと一致します(クラス マップ dscp_class で定義されています)。指定した平均トラフィック レートとバースト サイズを超えると、スイッチはパケットをドロップします。

Switch(config)# class-map match-any dscp_class
Switch(config-cmap)# match ip dscp 9
Switch(config-cmap)# exit
Switch(config)# class-map match-all vlan_class
Switch(config-cmap)# match vlan 10 20-30 40
Switch(config-cmap)# match class-map dscp_class
Switch(config-cmap)# exit
Switch(config)# policy-map policymap2
Switch(config-pmap)# class vlan_class
Switch(config-pmap-c)# police 80000 8000 exceed-action drop
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# service-policy input policymap2
 

次に、ポートの CoS 値を定義するポリシー マップを作成し、入力インターフェイスに付加する例を示します。 class1 という名前のクラス マップが VLAN 10、20 ~ 30、および 40 で受信されたトラフィックと一致します。

Switch (config)# mls qos cos policy-map
Switch (config)# class-map match-all class1
Switch (config-cmap)# match vlan 10 20-30 40
Switch (config-cmap)# match class-map some_class
Switch (config-cmap)# exit
Switch (config)# policy-map policymap1
Switch (config-pmap)# class class1
Switch (config-pmap-c)# trust dscp
Switch (config-pmap-c)# set cos 3
Switch (config-pmap-c)# exit
Switch (config-pmap)# exit
Switch (config)# interface gigabitethernet0/1
Switch(config-if)# service-policy input policymap1

集約ポリサーによるトラフィックの分類、ポリシング、およびマーキング

集約ポリサーを使用すると、同じポリシー マップ内の複数のトラフィック クラスで共有されるポリサーを作成できます。ただし、集約ポリサーを複数の異なるポリシー マップまたはインターフェイスにわたって使用することはできません。

集約ポリサーを作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

mls qos aggregate-police aggregate-policer-name rate-bps burst-byte exceed-action { drop | policed-dscp-transmit }

同じポリシー マップ内の複数のトラフィック クラスに適用できるポリサー パラメータを定義します。

デフォルトでは、集約ポリサーは定義されていません。

入力ギガビット対応イーサネット ポート上では最大 128 個のポリサーを設定でき、入力 10/100 イーサネット ポート上では最大 8 個のポリサーを設定でき、出力ポートでは最大 8 個のポリサーを設定できます。

aggregate-policer-name には、集約ポリサーの名前を指定します。

rate-bps には、平均トラフィック レートをビット/秒(bps)で指定します。指定できる範囲は 8000 ~ 1000000000 です。

burst-byte には、標準バースト サイズをバイト数で指定します。指定できる範囲は 8000 ~ 2000000 です

(任意)レートを超過した場合に実行するアクションを指定します。パケットをドロップする場合は、 exceed-action drop キーワードを使用します。(ポリシング済み DSCP マップを使用して)DSCP 値をマークダウンし、パケットを送信するには、 exceed-action policed-dscp-transmit キーワードを使用します。詳細については、「ポリシング済み DSCP マップの設定」 を参照してください。

ステップ 4

class-map [ match-all | match-any ] class-map-name

必要に応じて、トラフィックを分類するクラス マップを作成します。詳細については、「クラス マップを使用した物理ポート単位のトラフィックの分類」および「クラス マップを使用したポート単位 VLAN 単位でのトラフィックの分類」を参照してください。

ステップ 5

policy-map policy-map-name

ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

詳細については、「ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング」を参照してください。

ステップ 6

class class-map-name

トラフィックの分類を定義し、ポリシー マップ クラス コンフィギュレーション モードを開始します。

デフォルトでは、ポリシー マップ クラス マップは定義されていません。

すでに class-map グローバル コンフィギュレーション コマンドを使用してトラフィック クラスが定義されている場合は、このコマンドで class-map-name にその名前を指定します。

ステップ 7

police aggregate aggregate-policer-name

同じポリシー マップ内の複数のクラスに集約ポリサーを適用します。

aggregate-policer-name には、ステップ 3 で指定した名前を入力します。

ステップ 8

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 9

interface interface-id

ポリシー マップを適用するポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 10

service-policy { input policy-map-name | output policy-map-name }

ポリシー マップを特定のインターフェイスの入力または出力に適用します。

方向ごとのインターフェイスごとに適用できるポリシー マップは 1 つだけです。

インターフェイスの入力に、指定したポリシー マップを適用するには、input policy-map-name を使用します。

インターフェイスの出力に、指定したポリシー マップを適用するには、 output policy-map-name を使用します。

service-policy インターフェイス コンフィギュレーション コマンドを使用して、次の要素を含むポリシー マップを出力インターフェイスに付加できません。

set または trust ポリシー マップ クラス コンフィギュレーション コマンド。代わりに、 police ポリシー マップ クラス コンフィギュレーション コマンドを使用して、出力インターフェイスで DSCP 値をマーク ダウン(削減)できます。

アクセス コントロール リスト(ACL)分類。

ポート単位 VLAN 単位の分類。

出力インターフェイスに付加できるポリシー マップの唯一の一致条件は、 match ip dscp dscp-list クラス マップ コンフィギュレーション コマンドです。

ポート単位 VLAN 単位でのポリシングは、ルーテッド ポートまたは仮想(論理)インターフェイスではサポートされません。

ステップ 11

end

特権 EXEC モードに戻ります。

ステップ 12

show mls qos aggregate-policer [ aggregate-policer-name ]

入力内容を確認します。

ステップ 13

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

指定された集約ポリサーをポリシー マップから削除するには、 no police aggregate aggregate-policer-name ポリシー マップ コンフィギュレーション モードを使用します。集約ポリサーおよびそのパラメータを削除するには、 no mls qos aggregate-policer aggregate-policer-name グローバル コンフィギュレーション コマンドを使用します。

次に、集約ポリサーを作成して、ポリシー マップ内の複数のクラスに結合する例を示します。この設定では、IP ACL はネットワーク 10.1.0.0 およびホスト 11.3.1.1 からのトラフィックを許可します。ネットワーク 10.1.0.0 から着信するトラフィックの場合は、着信パケットの DSCP が信頼されます。ホスト 11.3.1.1 から着信するトラフィックの場合、パケットの DSCP は 56 に変更されます。ネットワーク 10.1.0.0 およびホスト 11.3.1.1 からのトラフィック レートには、ポリシングが設定されます。トラフィックが平均レート(48000 bps)および標準バースト サイズ(8000 バイト)を超えた場合、(ポリシング設定 DSCP マップに基づいて)DSCP がマークダウンされて送信されます。ポリシー マップは入力インターフェイスに結合されます。

Switch(config)# access-list 1 permit 10.1.0.0 0.0.255.255
Switch(config)# access-list 2 permit 11.3.1.1
Switch(config)# mls qos aggregate-police transmit1 48000 8000 exceed-action policed-dscp-transmit
Switch(config)# class-map ipclass1
Switch(config-cmap)# match access-group 1
Switch(config-cmap)# exit
Switch(config)# class-map ipclass2
Switch(config-cmap)# match access-group 2
Switch(config-cmap)# exit
Switch(config)# policy-map aggflow1
Switch(config-pmap)# class ipclass1
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police aggregate transmit1
Switch(config-pmap-c)# exit
Switch(config-pmap)# class ipclass2
Switch(config-pmap-c)# set dscp 56
Switch(config-pmap-c)# police aggregate transmit1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# service-policy input aggflow1
Switch(config-if)# exit

DSCP マップの設定

ここでは、DSCP マップを設定する手順について説明します。

「CoS/DSCP マップの設定」

「IP precedence/DSCP マップの設定」

「ポリシング済み DSCP マップの設定」

「DSCP/CoS マップの設定」

「DSCP/DSCP 変換マップの設定」

DSCP/DSCP 変換マップを除くすべてのマップはグローバルに定義され、すべてのポートに適用されます。複数の DSCP/DSCP 変換マップを作成し、異なるギガビット対応イーサネット ポートに適用できます。ただし、10/100 イーサネット ポート上では、12 ポートのグループに 1 個の DSCP/DSCP 変換マップのみを付加できます。

CoS/DSCP マップの設定

CoS/DSCP マップを使用して、着信パケットの CoS 値を、QoS がトラフィックのプライオリティを表すために内部使用する DSCP 値にマッピングします。

表 29-6 に、デフォルトの CoS/DSCP マップを示します。

 

表 29-6 デフォルトの CoS/DSCP マップ

CoS 値
DSCP 値

0

0

1

8

2

16

3

24

4

32

5

40

6

48

7

56

 

これらの値が使用しているネットワークに適さない場合は、値を変更する必要があります。

CoS/DSCP マップを変更するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos map cos-dscp dscp1...dscp8

CoS/DSCP マップを変更します。

dscp1...dscp8 には、CoS 値 0 ~ 7 に対応する 8 つの DSCP 値を入力します。各 DSCP 値はスペースで区切ります。指定できる範囲は 0 ~ 63 です。

ステップ 3

end

特権 EXEC モードに戻ります。

ステップ 4

show mls qos maps cos-dscp

入力内容を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのマップに戻すには、 no mls qos cos-dscp グローバル コンフィギュレーション コマンドを使用します。

次に、CoS/DSCP マップを変更して表示する例を示します。

Switch# configure terminal
Switch(config)# mls qos map cos-dscp 10 15 20 25 30 35 40 45
Switch(config)# end
Switch# show mls qos maps cos-dscp
 
Cos-dscp map:
cos: 0 1 2 3 4 5 6 7
--------------------------------
dscp: 10 15 20 25 30 35 40 45

IP precedence/DSCP マップの設定

着信パケットの IP precedence 値を、QoS がトラフィックのプライオリティを表すために内部使用する DSCP 値にマッピングするには、IP precedence/DSCP マップを使用します。

表 29-7 に、デフォルトの IP precedence/DSCP マップを示します。

 

表 29-7 デフォルトの IP Precedence/DSCP マップ

IP precedence 値
DSCP 値

0

0

1

8

2

16

3

24

4

32

5

40

6

48

7

56

これらの値が使用しているネットワークに適さない場合は、値を変更する必要があります。

IP precedence/DSCP マップを変更するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos map ip-prec-dscp dscp1...dscp8

IP precedence/DSCP マップを変更します。

dscp1...dscp8 には、IP precedence 値 0 ~ 7 に対応する 8 つの DSCP 値を入力します。各 DSCP 値はスペースで区切ります。指定できる範囲は 0 ~ 63 です。

ステップ 3

end

特権 EXEC モードに戻ります。

ステップ 4

show mls qos maps ip-prec-dscp

入力内容を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのマップに戻すには、 no mls qos map ip-prec-dscp グローバル コンフィギュレーション コマンドを使用します。

次に、IP precedence/DSCP マップを変更して表示する例を示します。

Switch# configure terminal
Switch(config)# mls qos map ip-prec-dscp 10 15 20 25 30 35 40 45
Switch(config)# end
Switch# show mls qos maps ip-prec-dscp
 
IpPrecedence-dscp map:
ipprec: 0 1 2 3 4 5 6 7
--------------------------------
dscp: 10 15 20 25 30 35 40 45

ポリシング済み DSCP マップの設定

ポリシングおよびマーキング アクションによって得られる新しい値に DSCP 値をマークダウンするには、ポリシング済み DSCP マップを使用します。

デフォルトのポリシング設定 DSCP マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。

ポリシング済み DSCP マップを変更するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos map policed-dscp dscp-list to mark-down-dscp

ポリシング済み DSCP マップを変更します。

dscp-list には、各値をスペースで区切って最大 8 つの DSCP 値を入力します。さらに、 to キーワードを入力します。

mark-down-dscp には、対応するポリシング設定(マークダウンされた)DSCP 値を入力します。

指定できる範囲は 0 ~ 63 です。

ステップ 3

end

特権 EXEC モードに戻ります。

ステップ 4

show mls qos maps policed-dscp

入力内容を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのマップに戻すには、 no mls qos policed-dscp グローバル コンフィギュレーション コマンドを使用します。

次に、DSCP 値 50 ~ 57 を、マークダウンされる DSCP 値 0 にマッピングする例を示します。

Switch# configure terminal
Switch(config)# mls qos map policed-dscp 50 51 52 53 54 55 56 57 to 0
Switch(config)# end
Switch# show mls qos maps policed-dscp
Policed-dscp map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 01 02 03 04 05 06 07 08 09
1 : 10 11 12 13 14 15 16 17 18 19
2 : 20 21 22 23 24 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 00 00 00 00 00 00 00 00 58 59
6 : 60 61 62 63

) ポリシング済み DSCP マップでは、マークダウンされた DSCP 値がマトリクスの本体に示されています。d1 列は元の DSCP の最上位桁、d2 行は元の DSCP の最下位桁を示します。d1 と d2 の交点にある値が、マークダウンされる値です。たとえば、元の DSCP 値が 53 の場合、マークダウンされる DSCP 値は 0 です。


DSCP/CoS マップの設定

4 つの出力キューのうち 1 つを選択するために使用される CoS 値を生成するには、DSCP/CoS マップを使用します。

表 29-8 に、デフォルトの DSCP/CoS マップを示します。

 

表 29-8 デフォルトの DSCP/CoS マップ

DSCP 値
CoS 値

0 ~ 7

0

8 ~ 15

1

16 ~ 23

2

24 ~ 31

3

32 ~ 39

4

40 ~ 47

5

48 ~ 55

6

56 ~ 63

7

これらの値が使用しているネットワークに適さない場合は、値を変更する必要があります。

DSCP/CoS マップを変更するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos map dscp-cos dscp-list to cos

DSCP/CoS マップを変更します。

dscp-list には、各値をスペースで区切って最大 8 つの DSCP 値を入力します。さらに、 to キーワードを入力します。指定できる範囲は 0 ~ 63 です。

cos には、DSCP 値と対応する CoS 値を入力します。指定できる範囲は 0 ~ 7 です。

ステップ 3

end

特権 EXEC モードに戻ります。

ステップ 4

show mls qos maps dscp-to-cos

入力内容を確認します。

ステップ 5

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのマップに戻すには、 no mls qos map dscp-cos グローバル コンフィギュレーション コマンドを使用します。

次に、DSCP 値 0、8、16、24、32、40、48、および 50 を CoS 値 0 にマッピングする例を示します。

Switch# configure terminal
Switch(config)# mls qos map dscp-cos 0 8 16 24 32 40 48 50 to 0
Switch(config)# end
Switch# show mls qos maps dscp-cos
Dscp-cos map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 00 00 00 00 00 00 00 00 01
1 : 01 01 01 01 01 01 00 02 02 02
2 : 02 02 02 02 00 03 03 03 03 03
3 : 03 03 00 04 04 04 04 04 04 04
4 : 00 05 05 05 05 05 05 05 00 06
5 : 00 06 06 06 06 06 07 07 07 07
6 : 07 07 07 07

) DSCP/CoS マップでは、CoS 値が表形式で示されています。d1 列は DSCP の最上位桁、d2 行は DSCP の最下位桁を示します。d1 と d2 の交点にある値が CoS 値です。たとえば、この DSCP/CoS マップでは、DSCP 値が 08 の場合、対応する CoS 値は 0 です。


DSCP/DSCP 変換マップの設定

DSCP/DSCP 変換マップは、QoS 管理ドメインの境界にあるポートに適用します。2 つのドメインで異なる DSCP 定義が使用されている場合は、他のドメインの定義に一致するように一連の DSCP 値を変換する DSCP/DSCP 変換マップを設定できます。

デフォルトの DSCP/DSCP 変換マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。

DSCP/DSCP 変換マップを変更するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos map dscp-mutation dscp-mutation- name in-dscp to out-dscp

DSCP/DSCP 変換マップを変更します。

dscp-mutation- name には、変換マップ名を入力します。新しい名前を指定することにより、複数のマップを作成できます。

in-dscp には、各値をスペースで区切って最大 8 つの DSCP 値を入力します。さらに、 to キーワードを入力します。

out-dscp には、1 つの DSCP 値を入力します。

指定できる範囲は 0 ~ 63 です。

ステップ 3

interface interface-id

マップを適用するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 4

mls qos trust dscp

DSCP trusted ポートとして入力ポートを設定します。

ステップ 5

mls qos dscp-mutation dscp-mutation- name

指定された DSCP trusted 入力ポートにマップを適用します。

dscp-mutation- name には、ステップ 2 で指定した変換マップ名を入力します。

異なるギガビット対応イーサネット ポートにマップを適用できます。ただし、10/100 イーサネット ポート上では、12 ポートのグループに 1 個の DSCP/DSCP 変換マップのみを付加できます。たとえば、ファスト イーサネット ポート 1 ~ 12 が 1 つのグループ、ファスト イーサネット ポート 13 ~ 24 が 1 つのグループ、ギガビット イーサネット ポート 1 が 1 つのグループ、ギガビット イーサネット ポート 2 が 1 つのグループであるとします。変換マップをグループに含まれる任意のポートに適用すると、同じグループのすべてのポートが同じマップで自動的に設定されます。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show mls qos maps dscp-mutation

入力内容を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのマップに戻すには、 no mls qos map dscp-mutation dscp-mutation-name グローバル コンフィギュレーション コマンドを使用します。

次の例では、DSCP/DSCP 変換マップを定義する方法を示します。明示的に設定されていないエントリはすべて変更されません(ヌル マップ内の指定のままです)。

Switch# configure terminal
Switch(config)# mls qos map dscp-mutation mutation1 1 2 3 4 5 6 7 to 0
Switch(config)# mls qos map dscp-mutation mutation1 8 9 10 11 12 13 to 10
Switch(config)# mls qos map dscp-mutation mutation1 20 21 22 to 20
Switch(config)# mls qos map dscp-mutation mutation1 30 31 32 33 34 to 30
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# mls qos trust dscp
Switch(config-if)# mls qos dscp-mutation mutation1
Switch(config-if)# end
Switch# show mls qos maps dscp-mutation mutation1
Dscp-dscp mutation map:
mutation1:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 00 00 00 00 00 00 00 10 10
1 : 10 10 10 10 14 15 16 17 18 19
2 : 20 20 20 23 24 25 26 27 28 29
3 : 30 30 30 30 30 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 50 51 52 53 54 55 56 57 58 59
6 : 60 61 62 63

) DSCP/DSCP 変換マップでは、変換される値が表形式で示されています。d1 列は元の DSCP の最上位桁、d2 行は元の DSCP の最下位桁を示します。d1 と d2 の交点の値が、変換される値です。たとえば、DSCP 値が 12 の場合、対応する変換される値は 10 です。


ギガビット対応イーサネット ポートの出力キューの設定

ここでは、ギガビット対応イーサネット ポートの出力キューを設定する方法について説明します。10/100 イーサネット ポートの設定については、「10/100 イーサネット ポートの出力キューの設定」を参照してください。

ネットワークおよび QoS ソリューションの複雑さに応じて、次に示す作業をすべて実行しなければならない場合があります。次の特性を決定する必要があります。

各キューへの(CoS 値による)パケットの割り当て

各キューへの使用可能なバッファ スペース(上限)の割り当て

各キューに適用されるドロップしきい値、および各しきい値にマッピングされる DSCP 値

いずれかのキューが緊急(高プライオリティ)の出力キューかどうか

各キューへの使用可能な帯域幅の割り当て

ここでは、次の設定について説明します。

「CoS 値の選択した出力キューへのマッピング」

「出力キューのサイズ比の設定」

「テールドロップしきい値の割合設定」

「WRED ドロップしきい値パーセンテージの設定」

「出力緊急キューの設定」

「出力キュー間での帯域幅の割り当て」

CoS 値の選択した出力キューへのマッピング

CoS 入力値を選択した出力キューの 1 つにマッピングするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue cos-map queue-id cos1 ... cos8

割り当てられた CoS 値をマッピングし、いずれかの出力キューを選択します。

デフォルトのマップに次の値があります。

CoS 値 0、1 はキュー 1 を選択します。

CoS 値 2、3 はキュー 2 を選択します。

CoS 値 4、5 はキュー 3 を選択します。

CoS 値 6、7 はキュー 4 を選択します。

queue-id に、出力キューの ID を指定します。指定できる範囲は 1 ~ 4 です。4 は緊急キューとして設定できます。詳細については、「出力緊急キューの設定」を参照してください。

cos1 ... cos8 には、キューを選択する CoS 値を指定します。最大 8 個の CoS 値を入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 7 です。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface queueing

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの CoS/出力キュー マップに戻すには、no wrr-queue cos-map インターフェイス コンフィギュレーション コマンドを使用します。

次に、CoS 値 6 と 7 をキュー 1 に、4 と 5 をキュー 2 に、2 と 3 をキュー 3 に、0 と 1 をキュー 4 にマッピングする例を示します。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# wrr-queue cos-map 1 6 7
Switch(config-if)# wrr-queue cos-map 2 4 5
Switch(config-if)# wrr-queue cos-map 3 2 3
Switch(config-if)# wrr-queue cos-map 4 0 1

出力キューのサイズ比の設定

出力キューのサイズ比を設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue queue-limit weight1 weight2 weight3 weight4

出力キューのサイズ比を設定します。

デフォルトの重みは 25 です(バッファ サイズの 1/4 が各キューに割り当てられます)。

weight1 weight2 weight3 、および weight4 には、1 ~ 100 の重みを指定します。各値はスペースで区切ります。

数値の相対的な大きさの差は、キュー サイズの相対的な差を示します。

このコマンドを入力すると、キューはハードウェアの再設定中に一時的にシャットダウンされ、スイッチはこのキューに新たに到着したパケットをドロップします。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface buffers

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの重みに戻すには、no wrr-queue queue-limit インターフェイス コンフィギュレーション コマンドを使用します。

次に、4 個のキューのサイズ比を設定する例を示します。各キューに割り当てられたサイズの比率は、キュー 1、2、3、および 4 について、1/10、2/10、3/10、および 4/10 です。(キュー 4 はキュー 1 よりも 4 倍大きく、キュー 2 よりも 2 倍大きく、キュー 3 よりも 1.33 倍大きくなっています)。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# wrr-queue queue-limit 1 2 3 4

テールドロップしきい値の割合設定

テール ドロップは、ギガビット対応イーサネット ポートのデフォルトの輻輳回避技術です。テール ドロップを使用した場合、パケットはしきい値を超えるまでキューイングされます。たとえば、最初のしきい値に割り当てられた DSCP を持つすべてのパケットが、しきい値を超えなくなるまでドロップされます。ただし、しきい値 2 に割り当てられたパケットは、2 番めのしきい値を超えることがない限り、引き続きキューに入れられ送信されます。

wrr-queue dscp-map インターフェイス コンフィギュレーション コマンドを使用して、どの DSCP をどのしきい値 ID にマッピングするかを決定するため、DSCP/しきい値マップを変更します。デフォルトでは、すべての DSCP がしきい値 1 にマッピングされ、このしきい値を超えると、すべてのパケットがドロップされます。

テールドロップしきい値を使用した場合は WRED を使用できません。逆に、WRED を使用した場合はテールドロップしきい値を使用できません。

ギガビット対応イーサネット ポートのテールドロップしきい値のパーセンテージ値を設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue threshold queue-id threshold-percentage1 threshold-percentage2

各出力キューのテールドロップしきい値の割合を設定します。

しきい値 1 と 2 のデフォルトのしきい値は 100 パーセントです。

queue-id に、出力キューの ID を指定します。指定できる範囲は 1 ~ 4 です。

threshold-percentage1 threshold-percentage2 に、テールドロップしきい値のパーセンテージ値を指定します。各値はスペースで区切ります。指定できる範囲は 1 ~ 100 です。

ステップ 5

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

interface interface-id

入力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 7

wrr-queue dscp-map threshold-id dscp1 ... dscp8

出力キューのテールドロップしきい値に DSCP 値をマッピングします。

デフォルトでは、すべての DSCP 値がしきい値 1 にマッピングされます。

threshold-id に、キューのしきい値 ID を指定します。指定できる範囲は 1 ~ 2 です。

dscp1 ... dscp8 には、しきい値 ID にマッピングする DSCP 値を指定します。コマンドごとに最大 8 個の DSCP 値を入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 63 です。

ステップ 8

end

特権 EXEC モードに戻ります。

ステップ 9

show running-config

または

show mls qos interface interface-id queueing

DSCP/しきい値マップを確認します。

ステップ 10

show mls qos interface buffers

しきい値を確認します。

ステップ 11

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのしきい値に戻すには、no wrr-queue threshold queue-id インターフェイス コンフィギュレーション コマンドを使用します。デフォルトの DSCP/しきい値マップに戻すには、no wrr-queue dscp-map [ threshold-id ] インターフェイス コンフィギュレーション コマンドを使用します。

次に、出力インターフェイス(ギガビット イーサネット ポート 1)で、キュー 1 のテール ドロップ キューしきい値を 10 % および 100 % に、キュー 2 については 40 % および 100 % に、キュー 3 については 60 % および 100 % に、キューの 4 については 80 % および 100 % に設定する例を示します。入力インターフェイス(ギガビット イーサネット ポート 2)は、着信パケットの DSCP を信頼し、DSCP 0、8、16、24、32、40、48、および 56 をしきい値 1 にマッピングし、DSCP 値 10、20、30、40、50、および 60 をしきい値 2 にマッピングするように設定されます。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# wrr-queue threshold 1 10 100
Switch(config-if)# wrr-queue threshold 2 40 100
Switch(config-if)# wrr-queue threshold 3 60 100
Switch(config-if)# wrr-queue threshold 4 80 100
Switch(config-if)# exit
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# mls qos trust dscp
Switch(config-if)# wrr-queue dscp-map 1 0 8 16 24 32 40 48 56
Switch(config-if)# wrr-queue dscp-map 2 10 20 30 40 50 60
 

この設定の結果として、キュー 1 が 10 パーセントを超えて一杯になると、DSCP 0、8、16、24、32、40、48、および 56 のパケットはドロップされます。キュー 2 が 40 パーセントを超え、キュー 3 が 60 パーセントを超え、キュー 4 が 80 パーセントを超えて一杯になると、同じパケットはドロップされます。2 番目のしきい値(100 %)を超えた場合、すべてのキューが DSCP 10、20、30、40、50、および 60 のパケットをドロップします。

WRED ドロップしきい値パーセンテージの設定

WRED は、出力インターフェイスが、輻輳の兆候を示し始めると選択的にパケットをドロップすることで、テール ドロップの確率を減らします。キューが満杯になるまで待機しないで、早めに一部のパケットを廃棄することにより、一度に多数のパケットが廃棄されなくなります。

最初のしきい値を超えた場合、最初のしきい値に割り当てられた DSCP を持つすべてのパケットがランダムにドロップされます。ただし、しきい値 2 に割り当てられた DSCP を持つパケットは、2 番めのしきい値を超えることがない限り、引き続きキューに入れられ送信されます。各しきい値パーセンテージは、WRED がパケットをランダムにドロップし始めるパーセンテージを表します。デフォルトでは、WRED はディセーブルです。

WRED を使用する場合はテール ドロップしきい値を使用できません。逆に、テール ドロップしきい値を使用する場合は WRED を使用できません。

ギガビット対応イーサネット ポートの WRED ドロップしきい値のパーセンテージ値を設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue random-detect max-threshold queue-id threshold-percentage1 threshold-percentage2

各出力キューの WRED ドロップしきい値の割合を設定します。

デフォルトでは、WRED はディセーブルになり、しきい値は設定されていません。

queue-id に、出力キューの ID を指定します。指定できる範囲は 1 ~ 4 です。キュー 4 は緊急キューとして設定できます。詳細については、「出力緊急キューの設定」を参照してください。

threshold-percentage1 threshold-percentage2 には、しきい値のパーセンテージ値を指定します。各値はスペースで区切ります。指定できる範囲は 1 ~ 100 です。

ステップ 5

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

interface interface-id

入力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 7

wrr-queue dscp-map threshold-id dscp1 ... dscp8

出力キューの WRED ドロップしきい値に DSCP 値をマッピングします。

デフォルトでは、すべての DSCP 値がしきい値 1 にマッピングされます。

threshold-id に、キューのしきい値 ID を指定します。指定できる範囲は 1 ~ 2 です。

dscp1 ... dscp8 には、しきい値 ID にマッピングする DSCP 値を指定します。コマンドごとに最大 8 個の DSCP 値を入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 63 です。

ステップ 8

show running-config

または

show mls qos interface interface-id queueing

DSCP/しきい値マップを確認します。

ステップ 9

show mls qos interface buffers

しきい値を確認します。

ステップ 10

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

WRED をディセーブルにするには、no wrr-queue random-detect max-threshold queue-id インターフェイス コンフィギュレーション コマンドを使用します。デフォルトの DSCP/しきい値マップに戻すには、no wrr-queue dscp-map [ threshold-id ] インターフェイス コンフィギュレーション コマンドを使用します。

次に、出力インターフェイス(ギガビット イーサネット ポート 1)で、キュー 1 の WRED キューしきい値を 50 % および 100 % に、キュー 2 については 70 % および 100 % に、キュー 3 については 50 % および 100 % に、キューの 4 については 70 % および 100 % に設定する例を示します。入力インターフェイス(ギガビット イーサネット ポート 2)は、着信パケットの DSCP を信頼し、DSCP 0、8、16、24、32、40、48、および 56 をしきい値 1 にマッピングし、DSCP 値 10、20、30、40、50、および 60 をしきい値 2 にマッピングするように設定されます。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# wrr-queue random-detect max-threshold 1 50 100
Switch(config-if)# wrr-queue random-detect max-threshold 2 70 100
Switch(config-if)# wrr-queue random-detect max-threshold 3 50 100
Switch(config-if)# wrr-queue random-detect max-threshold 4 70 100
Switch(config-if)# exit
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# mls qos trust dscp
Switch(config-if)# wrr-queue dscp-map 1 0 8 16 24 32 40 48 56
Switch(config-if)# wrr-queue dscp-map 2 10 20 30 40 50 60
 

この設定の結果として、キュー 1 と 3 が 50 パーセントを超えて一杯になると、DSCP 0、8、16、24、32、40、48、および 56 のパケットはランダムにドロップされます。キュー 2 および 4 が 70 パーセントを超えて一杯になると、同じパケットはランダムにドロップされます。2 番目のしきい値(100 %)を超えた場合、すべてのキューが DSCP 10、20、30、40、50、および 60 のパケットをランダムにドロップします。

出力緊急キューの設定

出力緊急キューにパケットを入れることにより、特定のパケットのプライオリティを他のすべてのパケットより高く設定できます。WRR は、このキューが空になるまで処理してから他のキューを処理します。

出力緊急キューをイネーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

priority-queue out

デフォルトでディセーブルに設定されている出力緊急キューをイネーブルにします。

このコマンドを設定すると、WRR に参加するキューは 1 つ少なくなるため、WRR 重みおよびキュー サイズの比率が影響を受けます。これは、 wrr-queue bandwidth コマンドの weight4 が無視されることを意味します(比率計算に使用されません)。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show running-config

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

出力緊急キューをディセーブルにするには、no priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。

出力キュー間での帯域幅の割り当て

各キューに割り当てられる使用可能な帯域幅の量を指定する必要があります。重みの比率は、WRR スケジューラが各キューからパケットを取り出す頻度の比率です。

各キューに帯域幅を割り当てるには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力ギガビット対応イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue bandwidth weight1 weight2 weight3 weight4

出力キューに WRR 重みを割り当てます。

デフォルトでは、すべての重みが 25 に設定されます(各キューに帯域幅の 1/4 が割り当てられています)。

weight1 weight2 weight3 weight4 には、WRR スケジューラがパケットをキューから取り出す頻度の比率を決定するレートを入力します。各値はスペースで区切ります。指定できる範囲は 1 ~ 65536 です

緊急キュー(キュー 4)がイネーブルになっていない限り、4 つのキューすべてが WRR に参加します。緊急キューがイネーブルの場合、 weight4 は無視されます(比率計算に使用されません)。緊急キューはプライオリティ キューであり、他のキューのサービスが提供される前に空になるまでサービスを提供します。

重み 1 は、最小帯域幅がそのキューに割り当てられることを示します。

あるキューに帯域幅を割り当てず、使用可能な帯域幅が残りのキュー間で共有されるようにするには、 wrr-queue cos-map インターフェイス コンフィギュレーション コマンドを使用します。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface queueing

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの帯域幅設定に戻すには、no wrr-queue bandwidth インターフェイス コンフィギュレーション コマンドを使用します。

次の例では、出力キューで稼働する WRR スケジューラの重み比を設定する方法を示します。この例では、4 個のキューが使用され(緊急キューなし)、各キューに割り当てられる帯域幅の比率は、1/(1+2+3+4)、2/(1+2+3+4)、3/(1+2+3+4)、4/(1+2+3+4)であり、それぞれキュー 1、2、3、および 4 について 1/10、1/5、3/10、および 2/5 です)。

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# wrr-queue bandwidth 1 2 3 4

10/100 イーサネット ポートの出力キューの設定

ここでは、10/100 イーサネット ポートの出力キューを設定する方法について説明します。ギガビット対応イーサネット ポートの設定の詳細については「ギガビット対応イーサネット ポートの出力キューの設定」、を参照してください。

ネットワークおよび QoS ソリューションの複雑さに応じて、次に示す作業をすべて実行しなければならない場合があります。次の特性を決定する必要があります。

各キューへの(CoS 値による)パケットの割り当て

各キューへの使用可能なバッファ スペースの割り当て

いずれかのキューが緊急(高プライオリティ)の出力キューかどうか

各キューへの使用可能な帯域幅の割り当て

ここでは、次の設定について説明します。

「CoS 値の選択した出力キューへのマッピング」

「最小予約レベルの設定」

「出力緊急キューの設定」

「出力キュー間での帯域幅の割り当て」

CoS 値の選択した出力キューへのマッピング

CoS 入力値を選択した出力キューの 1 つにマッピングするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力 10/100 イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue cos-map queue-id cos1 ... cos8

割り当てられた CoS 値をマッピングし、いずれかの出力キューを選択します。

デフォルトのマップ値は次のとおりです。

CoS 値 0、1 はキュー 1 を選択します。

CoS 値 2、3 はキュー 2 を選択します。

CoS 値 4、5 はキュー 3 を選択します。

CoS 値 6、7 はキュー 4 を選択します。

queue-id に、出力キューの ID を指定します。指定できる範囲は 1 ~ 4 です。4 は緊急キューとして設定できます。詳細については、「出力緊急キューの設定」を参照してください。

cos1 ... cos8 には、キューを選択する CoS 値を指定します。最大 8 個の CoS 値を入力します。各値はスペースで区切ります。指定できる範囲は 0 ~ 7 です。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface queueing

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの CoS/出力キュー マップに戻すには、no wrr-queue cos-map インターフェイス コンフィギュレーション コマンドを使用します。

次に、CoS 値 6 と 7 をキュー 1 に、4 と 5 をキュー 2 に、2 と 3 をキュー 3 に、0 と 1 をキュー 4 にマッピングする例を示します。

Switch(config)# interface fastethernet0/1
Switch(config-if)# wrr-queue cos-map 1 6 7
Switch(config-if)# wrr-queue cos-map 2 4 5
Switch(config-if)# wrr-queue cos-map 3 2 3
Switch(config-if)# wrr-queue cos-map 4 0 1

最小予約レベルの設定

すべての 10/100 ポートの最小予約レベルのバッファ サイズを設定し、10/100 イーサネット ポートの出力キューに最小予約レベルを割り当てることができます。

出力キューのサイズを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

mls qos min-reserve min-reserve-level min-reserve-buffersize

すべての 10/100 イーサネット ポートの最小予約レベルのバッファ サイズを必要に応じて設定します。

デフォルトでは、8 つあるすべての最小予約レベルのバッファ サイズは 100 パケットです。

min-reserve-level には、最小予約レベル番号を指定します。指定できる範囲は 1 ~ 8 です。

min-reserve-buffersize には、バッファ サイズを指定します。指定できる範囲は 10 ~ 170 パケットです。

このコマンドを入力すると、キューはハードウェアの再設定中に一時的にシャットダウンされ、スイッチはこのキューに新たに到着したパケットをドロップします。

ステップ 4

interface interface-id

出力 10/100 イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 5

wrr-queue min-reserve queue-id min-reserve-level

特定の出力キューに最小予約レベル番号を割り当てます。

デフォルトでは、キュー 1 は最小予約レベル 1 を選択し、キュー 2 は最小予約レベル 2 を選択し、キュー 3 は最小予約レベル 3 を選択し、キュー 4 は最小予約レベル 4 を選択します。

queue-id に、出力キューの ID を指定します。指定できる範囲は 1 ~ 4 です。4 は緊急キューとして設定できます。詳細については、「出力緊急キューの設定」を参照してください。

min-reserve-level には、ステップ 3 で設定された最小予約レベルを指定します。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show mls qos interface buffers

入力内容を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの最小予約バッファ サイズに戻すには、 no mls qos min-reserve min-reserve-level グローバル コンフィギュレーション コマンドを使用します。最小予約レベルのデフォルト キュー選択に戻すには、 no wrr-queue min-reserve queue-id インターフェイス コンフィギュレーション コマンドを使用します。

次に、最小予約レベル 5 を 20 パケットに設定し、最小予約レベル 5 をインターフェイスの出力キュー 1 に割り当てる例を示します。

Switch(config)# mls qos min-reserve 5 20
Switch(config)# interface fastethernet0/1
Switch(config-if)# wrr-queue min-reserve 1 5

出力緊急キューの設定

出力緊急キューにパケットを入れることにより、特定のパケットのプライオリティを他のすべてのパケットより高く設定できます。WRR は、このキューが空になるまで処理してから他のキューを処理します。

出力緊急キューをイネーブルにするには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力 10/100 イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

priority-queue out

デフォルトでディセーブルに設定されている出力緊急キューをイネーブルにします。

このコマンドを設定すると、WRR に参加するキューは 1 つ少なくなるため、WRR 重みが影響を受けます。これは、 wrr-queue bandwidth コマンドの weight4 が無視されることを意味します(比率計算に使用されません)。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show running-config

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

出力緊急キューをディセーブルにするには、no priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。

出力キュー間での帯域幅の割り当て

各キューに割り当てられる使用可能な帯域幅の量を指定する必要があります。重みの比率は、WRR スケジューラが各キューからパケットを取り出す頻度の比率です。

各キューに帯域幅を割り当てるには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

出力 10/100 イーサネット インターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

wrr-queue bandwidth weight1 weight2 weight3 weight4

出力キューに WRR 重みを割り当てます。

デフォルトでは、すべての重みが 25 に設定されます(各キューに帯域幅の 1/4 が割り当てられています)。

weight1 weight2 weight3 weight4 には、WRR スケジューラがパケットをキューから取り出す頻度の比率を決定するレートを入力します。各値はスペースで区切ります。指定できる範囲は 1 ~ 65536 です

緊急キュー(キュー 4)がイネーブルになっていない限り、4 つのキューすべてが WRR に参加します。緊急キューがイネーブルの場合、 weight4 は無視されます(比率計算に使用されません)。緊急キューはプライオリティ キューであり、他のキューのサービスが提供される前に空になるまでサービスを提供します。

重み 1 は、最小帯域幅がそのキューに割り当てられることを示します。

あるキューに帯域幅を割り当てず、使用可能な帯域幅が残りのキュー間で共有されるようにするには、 wrr-queue cos-map インターフェイス コンフィギュレーション コマンドを使用します。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show mls qos interface queueing

入力内容を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトの帯域幅設定に戻すには、no wrr-queue bandwidth インターフェイス コンフィギュレーション コマンドを使用します。

次の例では、出力キューで稼働する WRR スケジューラの重み比を設定する方法を示します。この例では、4 個のキューが使用され(緊急キューなし)、各キューに割り当てられる帯域幅の比率は、1/(1+2+3+4)、2/(1+2+3+4)、3/(1+2+3+4)、4/(1+2+3+4)であり、それぞれキュー 1、2、3、および 4 について 1/10、2/10、3/10、および 4/10 です。

Switch(config)# interface fastethernet0/1
Switch(config-if)# wrr-queue bandwidth 1 2 3 4

標準 QoS 情報の表示

標準 QoS 情報を表示するには、 表 29-9 の特権 EXEC コマンドを 1 つまたは複数使用します。

 

表 29-9 標準 QoS 情報を表示するためのコマンド

コマンド
目的

show class-map [ class-map-name ]

トラフィックを分類するための一致条件を定義した QoS クラス マップを表示します。

show mls qos aggregate-policer [ aggregate-policer-name ]

集約ポリサーの設定を表示します。

show mls qos interface [ interface-id ] [ buffers | policers | queueing | statistics ]

インターフェイス レベルで QoS 情報を表示します。これには、出力キューおよび CoS-to-egress-queue マップの設定が含まれ、このインターフェイスでポリサー、入力および出力統計情報(ドロップされたバイト数を含みます)が設定されています。3

show mls qos maps [ cos-dscp | dscp-cos | dscp-mutation | ip-prec-dscp | policed-dscp ]

QoS マッピング情報を表示します。マップは、トラフィックのプライオリティを表す内部 DSCP 値を生成するために使用します。

show policy-map [ policy-map-name [ class class-map-name ]

着信トラフィックの分類条件を定義した QoS ポリシー マップを表示します。

3.mls qos monitor {bytes | dscp dscp1 ... dscp8 | packets} インターフェイス コンフィギュレーション コマンドと show mls qos interface statistics 特権 EXEC コマンドを使用して、バイトまたはパケット統計情報がハードウェアによって収集される最大 16 個の DSCP 値を定義できます。

標準 QoS の設定例

ここでは、図 29-11 に示すように、既存のネットワークとネットワークへの計画済み変更内容に基づき、QoS 機能の導入を簡単に行うために役立つ QoS 移行パスについて説明します。具体的な内容は次のとおりです。

「既存のワイヤリング クローゼット用の QoS 設定」

「インテリジェントなワイヤリング クローゼット用の QoS 設定」

「ディストリビューション レイヤの QoS 設定」

図 29-11 ネットワークでの QoS の設定例

 

既存のワイヤリング クローゼット用の QoS 設定

図 29-11 に、Catalyst 3500 XL スイッチおよび 2900 XL スイッチでの既存のワイヤリング クローゼットの例を示します。これらのスイッチは Cisco IOS Release 12.0(5)XP 以降を実行し、QoS ベースの IEEE 802.1p CoS 値がサポートされます。QoS は、プライオリティが指定された CoS 値をフレームに割り当てることによって分類し、高いプライオリティのトラフィックを優先します。

Catalyst 3500 XL スイッチおよび 2900 XL スイッチでは、各ポートにデフォルト CoS プライオリティ( switchport priority default default-priority-id インターフェイス コンフィギュレーション コマンド)を設定して、入力ポートでタグなし(ネイティブ)イーサネット フレームを分類できます。タグ情報付きの ISL または IEEE 802.1Q フレームの場合、ヘッダー フレームのプライオリティ値が使用されます。Catalyst 3524-PWR XL スイッチおよび 3548 XL スイッチでは、 switchport priority default override インターフェイス コンフィギュレーション コマンドを使用して、このプライオリティのデフォルト値を上書きできます。Catalyst 3500 XL、2950、および上書き機能のないその他の 2900 モデルの場合、配信層の Catalyst 3550-12T スイッチが mls qos cos override インターフェイス コンフィギュレーション コマンドを使用して、IEEE 802.1p CoS 値を上書きできます。

Catalyst 3500 XL スイッチおよび 2900 XL スイッチの場合、CoS では、フレーム タグまたはポートの情報に基づいて、標準プライオリティの送信キューおよび高いプライオリティの送信キューとともに各出力ポートを設定します。標準プライオリティのキュー内のフレームは、高いプライオリティのキュー内のフレームが転送された後に転送されます。IEEE 802.1p CoS 値が 0 ~ 3 のフレームは標準プライオリティの送信キューに配置され、CoS 値が 4 ~ 7 のフレームは緊急(高いプライオリティの)キューに配置されます。

インテリジェントなワイヤリング クローゼット用の QoS 設定

図 29-11 に、Catalyst 3550 マルチレイヤ スイッチでのインテリジェントなワイヤリング クローゼットの例を示します。スイッチの 1 つが、IP アドレスが 172.20.10.16 のビデオ サーバに接続されます。

この例では、ビデオ トラフィックを他のすべてのトラフィックよりも優先させることを目的としています。これを行うには、DSCP 56 をビデオ トラフィックに割り当てます。このトラフィックは緊急キュー(キュー 4)に格納され、他のキューが処理される前に空になるまで処理されます。適切な CoS 値は CoS/出力キュー マップのキュー 4 を選択します。

他のすべてのトラフィックを介したビデオ パケットを優先するようにスイッチを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

access-list 1 permit 172.20.10.16

IP 標準 ACL を定義し、172.20.10.16 のビデオ サーバからのトラフィックを許可します。

ステップ 3

class-map videoclass

videoclass という名前のクラス マップを作成し、クラス マップ コンフィギュレーション モードを開始します。

ステップ 4

match access-group 1

アクセス リスト 1 で指定されたトラフィックと照合する一致条件を定義します。

ステップ 5

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

policy-map videopolicy

videopolicy という名前のポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

ステップ 7

class videoclass

動作させるクラスを指定し、ポリシー マップ クラス コンフィギュレーション モードを開始します。

ステップ 8

set dscp 56

ACL 1 と一致するトラフィックに対して、着信パケットの DSCP を 56 に設定します。

ステップ 9

police 5000000 2000000 exceed-action drop

分類されたビデオ トラフィックのポリサーを定義し、5 Mbps の平均トラフィック レートおよび 2 MB のバースト サイズを超えるトラフィックをドロップします。

ステップ 10

exit

ポリシーマップ コンフィギュレーション モードに戻ります。

ステップ 11

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 12

interface interface-id

ビデオ サーバに接続するスイッチの入力インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 13

service-policy input videopolicy

ポリシーを入力インターフェイスに適用します。

ステップ 14

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 15

interface gigabitethernet0/2

インターフェイス コンフィギュレーション モードを開始し、出力インターフェイスを指定します(キューを設定するため)。

ステップ 16

priority-queue out

緊急キューをイネーブルにします。

ステップ 17

wrr-queue cos-map 4 6 7

CoS 値 6 および 7 でキュー 4 が選択されるように CoS-to-egress-queue を設定します(これがデフォルト設定です)。

デフォルトの DSCP/CoS マップで、DSCP 値 56 ~ 63 が CoS 値 7 にマッピングされているため、DSCP 56 が設定されている一致するトラフィックはキュー 4(プライオリティ キュー)に格納されます。

ステップ 18

end

特権 EXEC モードに戻ります。

ステップ 19

show class-map videoclass

show policy-map videopolicy

show mls qos maps [ cos-dscp | dscp-cos ]

show mls qos interface queueing

入力内容を確認します。

ステップ 20

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ディストリビューション レイヤの QoS 設定

図 29-11 に、ディストリビューション レイヤ スイッチ(たとえば、Catalyst 3550 スイッチ)を示します。この例では、ディストリビューション レイヤ スイッチの設定手順を中心に説明します。分類がネットワークのエッジにあるスイッチによって実行されたため、ディストリビューション レイヤ スイッチで必要な分類手順は少なくなります。

既存のワイヤリング クローゼットへの接続では、ディストリビューション レイヤ スイッチのギガビット イーサネット インターフェイス 1 は、受信した CoS 値を信頼するように設定されます。この場合、マルチレイヤ スイッチのデフォルトの CoS/DSCP マップで十分です。デフォルト マップの設定については、「CoS/DSCP マップの設定」を参照してください。

インテリジェントなワイヤリング クローゼットへの接続では、ディストリビューション レイヤ スイッチのギガビット イーサネット インターフェイス 2 は、受信した DSCP 値を信頼するように設定されます。出力インターフェイスでは、WRED が輻輳回避制御機能を提供できるよう、DSCP/しきい値マップもこの入力インターフェイスに設定する必要があります。デフォルトでは、すべての DSCP 値がしきい値 1 にマッピングされます。

デフォルト設定からスイッチのマップをいくつか設定する必要があります。設定の目的は、DSCP 値 56 だけが緊急キュー(キュー 4)に送信されるようにすることです。デフォルトの CoS/出力キュー マップで十分です。ただし、DSCP 値 57 ~ 63 を CoS 5 にマッピングするために、DSCP/CoS マップを設定する必要があります。

出力インターフェイスでは、ギガビット イーサネット インターフェイス 5 の WRR の重みを、 wrr-queue bandwidth インターフェイス コンフィギュレーション コマンドを使用して設定する必要があります。WRED をイネーブルにする必要があり、各キューにしきい値の割合を設定する必要があります。各キューに割り当てられた帯域幅は、パケットがキューから取り出される頻度のレートを決定するために設定する必要があります。

ディストリビューション レイヤのスイッチを設定するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

mls qos

スイッチ上で QoS をイネーブルにします。

ステップ 3

interface interface-id

既存のワイヤリング クローゼットに接続する入力インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

mls qos trust cos

パケットの CoS 値を使用して、このポートの着信パケットを分類します。

ステップ 5

switchport mode trunk

このポートをトランク ポートとして設定します。

ステップ 6

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 7

interface interface-id

インテリジェントなワイヤリング クローゼットに接続する入力インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 8

mls qos trust dscp

パケットの DSCP 値を信頼することにより、このポートの着信パケットを分類します。

ステップ 9

wrr-queue dscp-map threshold-id dscp1 ... dscp8

出力キューの WRED しきい値に入力 DSCP 値をマッピングします。

デフォルトの DSCP/しきい値マップでは、すべての DSCP 値がしきい値 1 にマッピングされます。

threshold-id に、キューのしきい値 ID を指定します。指定できる範囲は 1 ~ 2 です。

dscp1 ... dscp8 には、しきい値 ID にマッピングする DSCP 値を指定します。コマンドごとに最大 8 個の DSCP 値を入力します。各値はスペースで区切ります。DSCP の範囲は 0 ~ 63 です。

ステップ 10

switchport mode trunk

このポートをトランク ポートとして設定します。

ステップ 11

exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 12

mls qos map dscp-cos dscp-list to cos

DSCP/CoS マップを変更します。DSCP-to-CoS マップには、最大 8 つの DSCP 値をスペースで区切って入力できます。

たとえば、CoS 値 5 に DSCP 値 57 ~ 63 をマッピングするには、次のように入力します。

mls qos map dscp-cos 57 58 59 60 61 62 63 to 5

ステップ 13

interface interface-id

アップストリーム ルータに接続された出力インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 14

priority-queue out

緊急キューをイネーブルにします。

ステップ 15

wrr-queue bandwidth weight1 weight2 weight3 weight4

パケットがキューから取り出される頻度のレートを決定するために、出力キューに WRR の重みを設定します。各値はスペースで区切ります。重みの範囲は 0 ~ 65536 です。

この例では、キュー 4 が他のキューよりも頻繁に処理されるように重みを設定するために、次のように入力します。

wrr-queue bandwidth 1 2 3 4

緊急キューがイネーブルになっているため、最初の 3 個の重みだけがレートの計算に使用されます。

ステップ 16

wrr-queue random-detect max-threshold queue-id threshold-percentage1 threshold-percentage2

WRED をイネーブルにし、ギガビット対応イーサネット ポートの出力キューに 2 個の WRED しきい値を割り当てます。

queue-id で指定できる範囲は 1 ~ 4 です。

threshold-percentage1 threshold-percentage2 の範囲は、1 ~ 100 % です。

この例では、しきい値を設定するために、次のように入力します。

wrr-queue random-detect max-threshold 1 20 100

wrr-queue random-detect max-threshold 2 40 100

wrr-queue random-detect max-threshold 3 60 100

wrr-queue random-detect max-threshold 4 80 100

ステップ 17

end

特権 EXEC モードに戻ります。

ステップ 18

show mls qos interface

および

show interfaces

入力内容を確認します。

ステップ 19

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。