この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章では、自動 Quality of Service(QoS)コマンドを使用して、またはスイッチで標準の QoS コマンドを使用して QoS を設定する方法について説明します。
ご使用のソフトウェア リリースでは、このモジュールで説明されるすべての機能がサポートされているとは限りません。 最新の機能情報と注意事項については、ご使用のプラットフォームとソフトウェア リリースに対応したリリース ノートを参照してください。
プラットフォームのサポートおよびシスコ ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。 Cisco Feature Navigator には、http://www.cisco.com/go/cfn からアクセスします。 Cisco.com のアカウントは必要ありません。
アクセス コントロール リスト(ACL)を使用して QoS 設定する場合は、次のガイドラインに従ってください。
(注) |
ポリシングを使用するには、スイッチが LAN Base イメージを実行している必要があります。 |
一般的な QoS の注意事項を次に示します。
以下は、QoS の制約事項を示しています。
ネットワークは通常、ベスト エフォート型の配信方式で動作します。したがって、すべてのトラフィックに等しいプライオリティが与えられ、適度なタイミングで配信される可能性はどのトラフィックでも同等です。 輻輳が発生すると、すべてのトラフィックが等しくドロップされます。
QoS 機能を設定すると、特定のネットワーク トラフィックを選択し、相対的な重要性に応じてそのトラフィックに優先度を指定し、輻輳管理および輻輳回避技術を使用して、優先処理を実行できます。 ネットワークに QoS を実装すると、ネットワーク パフォーマンスがさらに予測しやすくなり、帯域幅をより効率的に利用できるようになります。
QoS は、インターネット技術特別調査委員会(IETF)の規格である Differentiated Services(Diff-Serv)アーキテクチャに基づいて実装されます。 このアーキテクチャでは、ネットワークに入るときに各パケットを分類することが規定されています。
この分類は IP パケット ヘッダーに格納され、推奨されない IP タイプ オブ サービス(ToS)フィールドの 6 ビットを使用して、分類( クラス)情報として伝達されます。 分類情報をレイヤ 2 フレームでも伝達できます。
レイヤ 2 の ISL(スイッチ間リンク)フレーム ヘッダーには、下位 3 ビットで IEEE 802.1p サービス クラス(CoS)値を伝達する 1 バイトのユーザ フィールドがあります。 レイヤ 2 ISL トランクとして設定されたポートでは、すべてのトラフィックが ISL フレームに収められます。
レイヤ 2 802.1Q フレーム ヘッダーには、2 バイトのタグ制御情報フィールドがあり、上位 3 ビット(ユーザ プライオリティ ビット)で CoS 値が伝達されます。 レイヤ 2 802.1Q トランクとして設定されたポートでは、ネイティブ Virtual LAN(VLAN)のトラフィックを除くすべてのトラフィックが 802.1Q フレームに収められます。
レイヤ 3 IP パケットは、IP precedence 値または Diffserv コード ポイント(DSCP)値のいずれかを伝送できます。 DSCP 値は IP precedence 値と下位互換性があるので、QoS ではどちらの値も使用できます。
IP precedence 値の範囲は 0 ~ 7 です。 DSCP 値の範囲は 0 ~ 63 です。
インターネットにアクセスするすべてのスイッチおよびルータはクラス情報に基づいて、同じクラス情報が与えられているパケットは同じ扱いで転送を処理し、異なるクラス情報のパケットはそれぞれ異なる扱いをします。 パケットのクラス情報は、設定されているポリシー、パケットの詳細な検証、またはその両方に基づいて、エンド ホストが割り当てるか、または伝送中にスイッチまたはルータで割り当てることができます。 パケットの詳細な検証は、コア スイッチおよびルータの負荷が重くならないように、ネットワークのエッジ付近で行います。
パス上のスイッチおよびルータは、クラス情報を使用して、個々のトラフィック クラスに割り当てるリソースの量を制限できます。 Diff-Serv アーキテクチャでトラフィックを処理するときの、各デバイスの動作をホップ単位動作といいます。 パス上のすべてのデバイスに一貫性のあるホップ単位動作をさせることによって、エンドツーエンドの QoS ソリューションを構築できます。
ネットワーク上で QoS を実装する作業は、インターネットワーキング デバイスが提供する QoS 機能、ネットワークのトラフィック タイプおよびパターン、さらには着信および発信トラフィックに求める制御のきめ細かさによって、簡単にも複雑にもなります。
QoS を実装するには、スイッチ上でパケットまたはフローを相互に区別し(分類)、パケットがスイッチを通過するときに所定の QoS を表すラベルを割り当て、設定されたリソース使用率制限にパケットを適合させ(ポリシングおよびマーキング)、リソース競合が発生する状況に応じて異なる処理(キューイングおよびスケジューリング)を行う必要があります。 また、スイッチから送信されたトラフィックが特定のトラフィック プロファイルを満たすようにする必要もあります(シェーピング)。
入力ポートでのアクションには、トラフィックの分類、ポリシング、マーキング、、およびスケジューリングがあります。
(注) |
キューイングおよびスケジューリングは、スイッチの出力でのみサポートされ、入力ではサポートされません。 |
出力ポートでのアクションには、キューイングおよびスケジューリングがあります。
分類とは、パケットのフィールドを検証して、トラフィックの種類を区別するプロセスです。 QoS がスイッチ上でグローバルにイネーブルになっている場合のみ、分類はイネーブルです。 デフォルトでは、QoS はグローバルにディセーブルになっているため、分類は実行されません。
分類中に、スイッチは検索処理を実行し、パケットに QoS ラベルを割り当てます。 QoS ラベルは、パケットに対して実行するすべての QoS アクション、およびパケットの送信元キューを識別します。
QoS ラベルは、パケット内の DSCP または CoS 値に基づいて、パケットに実行されるキューイングおよびスケジューリング アクションを決定します。 QoS ラベルは信頼設定およびパケット タイプに従ってマッピングされます(分類フローチャートを参照)。
分類されたパケットは、ポリシングおよびマーキングの各段階に送られます。
IP のトラフィック分類 |
説明 |
---|---|
DSCP 値の信頼 |
着信パケットの DSCP 値を信頼し(DSCP を信頼するようにポートを設定し)、同じ DSCP 値をパケットに割り当てます。 IETF は、1 バイトの ToS フィールドの上位 6 ビットを DSCP として定義しています。 特定の DSCP 値が表すプライオリティは、設定可能です。 DSCP 値の範囲は 0 ~ 63 です。 また IPv6 DSCP に基づいて IP トラフィックを分類することもできます。 2 つの QoS 管理ドメインの境界上にあるポートの場合は、設定可能な DSCP/DSCP 変換マップを使用して、DSCP を別の値に変更できます。 |
IP precedence 値の信頼 |
着信パケットの IP precedence 値を信頼し(IP precedence を信頼するようにポートを設定し)、設定可能な IP precedence/DSCP マップを使用してパケットの DSCP 値を生成します。 IP バージョン 4 仕様では、1 バイトの ToS フィールドの上位 3 ビットが IP precedence として定義されています。 IP precedence 値の範囲は 0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。 また IPv6 precedence に基づいて IP トラフィックを分類することもできます。 |
CoS 値の信頼 |
着信パケットに CoS 値がある場合には、その CoS 値を信頼し、CoS/DSCP マップを使用してパケットの DSCP 値を生成します。 CoS 値が存在しない場合は、デフォルトのポート CoS 値を使用します。 |
IP 標準または拡張 ACL |
設定された IP 標準 ACL または IP 拡張 ACL(IP ヘッダーの各フィールドを調べる)に基づいて、分類を実行します。 ACL が設定されていない場合、パケットには DSCP および CoS 値として 0 が割り当てられ、トラフィックがベストエフォート型であることを意味します。 ACL が設定されている場合は、ポリシーマップ アクションによって、着信フレームに割り当てられる DSCP または CoS 値が指定されます。 |
設定された CoS の上書き |
着信パケットに設定された CoS を上書きし、デフォルトのポート CoS 値を適用します。 IPv6 パケットの場合、DSCP 値は CoS/DSCP マップとポートのデフォルトの CoS を使用して書き換えられます。 これは、IPv4 と IPv6 の両方のトラフィックに対して実行できます。 |
分類されたパケットは、ポリシングおよびマーキングの各段階に送られます。
IP 標準 ACL、IP 拡張 ACL、またはレイヤ 2 MAC ACL を使用すると、同じ特性を備えたパケット グループ(クラス)を定義できます。 また IPv6 ACL に基づいて IP トラフィックを分類することもできます。
QoS のコンテキストでは、アクセス コントロール エントリ(ACE)の許可および拒否アクションの意味が、セキュリティ ACL の場合とは異なります。
(注) |
アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。 |
ACL でトラフィック クラスを定義した後で、そのトラフィック クラスにポリシーを結合できます。 ポリシーにはそれぞれにアクションを指定した複数のクラスを含めることができます。 ポリシーには、特定の集約としてクラスを分類する(DSCP を割り当てるなど)コマンドまたはクラスのレート制限を実施するコマンドを含めることができます。 このポリシーを特定のポートに結合すると、そのポートでポリシーが有効になります。
IP ACL を実装して IP トラフィックを分類する場合は、 access-list グローバル コンフィギュレーション コマンドを使用します。レイヤ 2 MAC ACL を実装して非 IP トラフィックを分類する場合は、 mac access-list extended グローバル コンフィギュレーション コマンドを使用します。
ポリシー マップを使用するには、スイッチが LAN Base イメージを実行している必要があります。
クラス マップは、特定のトラフィック フロー(またはクラス)に名前を付けて、他のすべてのトラフィックと区別するためのメカニズムです。 クラス マップでは、さらに細かく分類するために、特定のトラフィック フローと照合する条件を定義します。 この条件には、ACL で定義されたアクセス グループとの照合、または DSCP 値や IP precedence 値の特定のリストとの照合を含めることができます。 複数のトラフィック タイプを分類する場合は、別のクラス マップを作成し、異なる名前を使用できます。 パケットをクラス マップ条件と照合した後で、ポリシー マップを使用してさらに分類します。
ポリシー マップでは、作用対象のトラフィック クラスを指定します。 トラフィック クラスの CoS、DSCP、または IP precedence 値を信頼するアクションや、トラフィック クラスに特定の DSCP または IP precedence 値を設定するアクション、またはトラフィック帯域幅の制限やトラフィックが不適合な場合の対処法を指定するアクションなどを指定できます。 ポリシー マップを効率的に機能させるには、ポートにポリシー マップを結合する必要があります。
クラス マップを作成するには、class-map グローバル コンフィギュレーション コマンドまたは class ポリシー マップ コンフィギュレーション コマンドを使用します。 多数のポート間でマップを共有する場合には、class-map コマンドを使用する必要があります。 class-map コマンドを入力すると、クラス マップ コンフィギュレーション モードが開始されます。 このモードで、match クラス マップ コンフィギュレーション コマンドを使用して、トラフィックの一致条件を定義します。
class class-default ポリシー マップ コンフィギュレーション コマンドを使用して、デフォルト クラスを設定できます。 分類されていないトラフィック(ポリシー マップで設定された他のトラフィック クラスで指定されているトラフィック)は、デフォルト トラフィックとして処理されます。
ポリシー マップは、policy-map グローバル コンフィギュレーション コマンドを使用して作成し、名前を付けます。 このコマンドを入力すると、ポリシー マップ コンフィギュレーション モードが開始されます。 このモードでは、class、trust、または set ポリシー マップ コンフィギュレーション コマンドおよびポリシー マップ クラス コンフィギュレーション コマンドを使用して、特定のトラフィック クラスに対して実行するアクションを指定します。
ポリシー マップには、ポリサー、トラフィックの帯域幅限度、および限度を超えた場合のアクションを定義する police および police aggregate ポリシー マップ クラス コンフィギュレーション コマンドを含めることもできます。
ポリシー マップをイネーブルにするには、service-policy インターフェイス コンフィギュレーション コマンドを使用してポートにマップを結合します。
パケットを分類し、DSCP または CoS に基づいて QoS ラベルを割り当てたあとで、ポリシングおよびマーキング プロセスを開始できます。
ポリシングには、トラフィックの帯域幅限度を指定するポリサーの作成が伴います。 制限を超えるパケットは、「 アウト オブ プロファイル」または「 不適合」になります。 各ポリサーはパケットごとに、パケットが適合か不適合かを判別し、パケットに対するアクションを指定します。 これらのアクションはマーカーによって実行されます。パケットを変更しないで通過させるアクション、パケットをドロップするアクション、またはパケットに割り当てられた DSCP 値を変更(マークダウン)してパケットの通過を許可するアクションなどがあります。 設定可能なポリシング済み DSCP マップを使用すると、パケットに新しい DSCP ベース QoS ラベルが設定されます。 マークダウンされたパケットは、元の QoS ラベルと同じキューを使用して、フロー内のパケットの順番が崩れないようにします。
(注) |
すべてのトラフィックは、ブリッジングされるかルーティングされるかに関係なく、ポリサーの影響を受けます(ポリサーが設定されている場合)。 その結果、ブリッジングされたパケットは、ポリシングまたはマーキングが行われたときにドロップされたり、DSCP または CoS フィールドが変更されたりすることがあります。 |
ポリシングは物理ポートに対して設定できます。 ポリシー マップおよびポリシング アクションを設定した後で、service-policy インターフェイス コンフィギュレーション コマンドを使用して、ポリシーを統合します。
物理ポートのポリシー マップでは、次のポリサー タイプを作成できます。
ポリシングは、トークン バケット アルゴリズムを使用します。 各フレームがスイッチに着信すると、バケットにトークンが追加されます。 バケットにはホールがあり、平均トラフィック レートとして指定されたレート(ビット/秒)で送信されます。 バケットにトークンが追加されるたびに、スイッチは、バケット内に十分なスペースがあるかを確認します。 十分なスペースがなければ、パケットは不適合とマーキングされ、指定されたポリサー アクション(ドロップまたはマークダウン)が実行されます。
バケットが満たされる速度は、バケット深度(burst-byte)、トークンが削除されるレート(rate-bps)、および平均レートを上回るバースト期間によって決まります。 バケットのサイズによってバースト長に上限が設定され、バックツーバックで送信できるフレーム数が制限されます。 バースト期間が短い場合、バケットはオーバーフローせず、トラフィック フローに何のアクションも実行されません。 ただし、バースト期間が長く、レートが高い場合、バケットはオーバーフローし、そのバーストのフレームに対してポリシング アクションが実行されます。
バケットの深さ(バケットがオーバーフローするまでの許容最大バースト)を設定するには、 police ポリシー マップ クラス コンフィギュレーション コマンドの burst-byte オプションまたは mls qos aggregate-policer グローバル コンフィギュレーション コマンドを使用します。 トークンがバケットから削除される速度(平均速度)を設定するには、 police ポリシー マップ クラス コンフィギュレーション コマンドの rate-bps オプションまたは mls qos aggregate-policer グローバル コンフィギュレーション コマンドを使用します。
QoS を処理している間、すべてのトラフィック(非 IP トラフィックを含む)のプライオリティは、分類段階で取得された DSCP または CoS 値に基づいて、QoS ラベルで表されます。
CoS/DSCP、DSCP/CoS、および IP precedence/DSCP マップのデフォルト値は、使用しているネットワークに適する場合と適さない場合があります。
デフォルトの DSCP/DSCP 変換マップおよびデフォルトのポリシング済み DSCP マップは、空のマップです。これらのマップでは、着信した DSCP 値が同じ DSCP 値にマッピングされます。 DSCP/DSCP 変換マップは、特定のポートに適用できる唯一のマップです。 その他のすべてのマップはスイッチ全体に適用されます。
スイッチは、輻輳を防ぐために特定の場所にキューがあります。
出力キューは、重み付けテール ドロップ(WTD)と呼ばれるテール ドロップ輻輳回避メカニズムの拡張バージョンを使用します。 WTD はキュー長を管理したり、トラフィック分類ごとにドロップ優先順位を設定したりするために実装されています。
フレームが特定のキューにキューイングされると、WTD はフレームに割り当てられた QoS ラベルを使用して、それぞれ異なるしきい値を適用します。 この QoS ラベルのしきい値を超えると(宛先キューの空きスペースがフレーム サイズより小さくなると)、フレームはドロップされます。
各キューには 3 つのしきい値があります。 QoS ラベルは、3 つのしきい値のうちのどれがフレームの影響を受けるかを決定します。 3 つのしきい値のうち、2 つは設定可能(明示的)で、1 つは設定不可能(暗示的)です。
この例では、CoS 値 6 および 7 は他の CoS 値よりも重要度が高く、100% ドロップしきい値に割り当てられます(キューフル ステート)。 CoS 値 4 および 5 は 60% しきい値に、CoS 値 0 ~ 3 は 40% しきい値に割り当てられます。
600 個のフレームが格納されているキューに、新しいフレームが着信したとします。 このフレームの CoS 値は 4 および 5 で、60% のしきい値が適用されます。 このフレームがキューに追加されると、しきい値を超過するため、フレームは廃棄されます。
出力キューはシェーピング ラウンド ロビン(SRR)で処理され、SRR によってパケットの送信レートが制御されます。 出力キューでは、SRR によってパケットが出力ポートに送信されます。
出力キューでは、SRR を共有またはシェーピング用に設定できます。
シェーピング モードでは、出力キューの帯域幅割合が保証され、この値にレートが制限されます。 リンクがアイドルの場合でも、シェーピングされたトラフィックは割り当てられた帯域幅を超えて使用できません。 シェーピングを使用すると、時間あたりのトラフィック フローがより均一になり、バースト トラフィックの最高時と最低時を削減します。 シェーピングの場合は、各重みの絶対値を使用して、キューに使用可能な帯域幅が計算されます。
共有モードでは、設定された重みによりキュー間で帯域幅が共有されます。 このレベルでは帯域幅は保証されていますが、このレベルに限定されていません。 たとえば、特定のキューが空であり、リンクを共有する必要がない場合、残りのキューは未使用の帯域幅を使用して、共有できます。 共有の場合、キューからパケットを取り出す頻度は重みの比率によって制御されます。重みの絶対値は関係ありません。 シェーピングおよび共有は、インターフェイスごとに設定されます。 各インターフェイスは、一意に設定できます。
次の図は、スイッチの出力ポートのキューイングおよびスケジューリングのフロー チャートを示しています。
(注) |
緊急キューがイネーブルの場合、SRR によって空になるまで処理されてから、他の 3 つのキューが処理されます。 |
各ポートは、そのうち 1 つ(キュー 1)を出力緊急キューにできる、4 つの出力キューをサポートしています。 これらのキューはキューセットに割り当てられます。 スイッチに存在するすべてのトラフィックは、パケットに割り当てられた QoS ラベルに基づいて、これらの 4 つのキューのいずれかを通過し、しきい値の影響を受けます。
(注) |
緊急キューがイネーブルの場合、SRR によって空になるまで処理されてから、他の 3 つのキューが処理されます。 |
次の図は、出力キューのバッファを示しています。
バッファのアベイラビリティの保証、ドロップしきい値の設定、およびキューセットの最大メモリ割り当ての設定を行うには、 mls qos queue-set output qset-id threshold queue-id drop-threshold1 drop-threshold2 reserved-threshold maximum-threshold グローバル コンフィギュレーション コマンドを使用します。 各しきい値はキューに割り当てられたメモリの割合です。このパーセント値を指定するには、 mls qos queue-set output qset-id buffers allocation1 ... allocation4 グローバル コンフィギュレーション コマンドを使用します。 割り当てられたすべてのバッファの合計が専用プールになります。残りのバッファは共通プールの一部になります。
バッファ割り当てを行うと、ハイプライオリティ トラフィックを確実にバッファに格納できます。 たとえば、バッファ スペースが 400 の場合、バッファ スペースの 70% をキュー 1 に割り当てて、10% をキュー 2 ~ 4 に割り当てることができます。 キュー 1 には 280 バッファが割り当てられ、キュー 2 ~ 4 にはそれぞれ 40 バッファが割り当てられます。
割り当てられたバッファをキューセット内の特定のキュー用に確保するよう保証できます。 たとえば、キュー用として 100 バッファがある場合、50%(50 バッファ)を確保できます。 残りの 50 バッファは共通プールに戻されます。 また、最大しきい値を設定することにより、いっぱいになったキューが確保量を超えるバッファを取得できるようにすることもできます。 共通プールが空でない場合、必要なバッファを共通プールから割り当てることができます。
スイッチを通過する各パケットをキューおよびしきい値に割り当てることができます。
特に、出力キューには DSCP または CoS 値、しきい値 ID には DSCP または CoS 値をそれぞれマッピングします。 mls qos srr-queue output dscp-map queue queue-id { dscp1...dscp8 | threshold threshold-id dscp1...dscp8} または mls qos srr-queue output cos-map queue queue-id { cos1...cos8 | threshold threshold-id cos1...cos8} グローバル コンフィギュレーション コマンドを使用します。 DSCP 出力キューしきい値マップおよび CoS 出力キューしきい値マップを表示するには、 show mls qos maps 特権 EXEC コマンドを使用します。
キューは WTD を使用して、トラフィック クラスごとに異なるドロップ割合をサポートします。 各キューには 3 つのドロップしきい値があります。そのうちの 2 つは設定可能( 明示的)な WTD しきい値で、もう 1 つはキューフル ステートに設定済みの設定不可能( 暗示的)なしきい値です。 しきい値 ID 1 および ID 2 用の 2 つの WTD しきい値割合を割り当てます。 しきい値 ID 3 のドロップしきい値は、キューフル ステートに設定済みで、変更できません。 キューセットにポートをマッピングするには、 queue-set qset-id インターフェイス コンフィギュレーション コマンドを使用します。 WTD しきい値の割合を変更するには、キューセット設定を変更します。
SRR は、シェーピング モードまたは共有モードでキューセットを処理します。 キューセットにポートをマッピングするには、 queue-set qset-id インターフェイス コンフィギュレーション コマンドを使用します。 ポートに共有重みまたはシェーピング重みを割り当てるには、 srr-queue bandwidth share weight1 weight2 weight3 weight4 または s rr-queue bandwidth shape weight1 weight2 weight3 weight4 インターフェイス コンフィギュレーション コマンドを使用します。
バッファ割り当てと SRR 重み比率を組み合わせることにより、パケットがドロップされる前にバッファに格納して送信できるデータ量が制御されます。 重みの比率は、SRR スケジューラが各キューからパケットを送信する頻度の比率です。
緊急キューがイネーブルでない限り、4 つのキューはすべて SRR に参加し、この場合、1 番めの帯域幅重みは無視されて比率計算に使用されません。 緊急キューはプライオリティ キューであり、他のキューのサービスが提供される前に空になるまでサービスを提供します。 緊急キューをイネーブルにするには、 priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。
ここに記載されたコマンドを組み合わせると、特定の DSCP または CoS を持つパケットを特定のキューに格納したり、大きなキュー サイズを割り当てたり、キューをより頻繁に処理したり、プライオリティが低いパケットがドロップされるようにキューのしきい値を調整したりして、トラフィックのプライオリティを設定できます。
(注) |
出力キューのデフォルト設定は、ほとんどの状況に適しています。 出力キューについて十分理解したうえで、この設定がユーザの QoS ソリューションを満たさないと判断した場合に限り、設定を変更してください。 |
QoS を設定するには、パケットの分類、ポリシング、キューイングを行います。 QoS を提供するプロセス中に次のパケットの変更が発生することがあります。
パケットが変更されないため、信頼できるポートまたは信頼できないポートといった概念はありません。 パケット内の CoS、DSCP、および IP precedence 値は変更されません。
トラフィックは Pass-Through モードでスイッチングされます。 パケットは書き換えられることなくスイッチングされ、ポリシングなしのベスト エフォートに分類されます。
mls qos グローバル コンフィギュレーション コマンドを使用して QoS をイネーブルにし、その他のすべての QoS 設定がデフォルトである場合、トラフィックはポリシングを伴わないベストエフォート型として分類されます(DSCP および CoS 値は 0 に設定されます)。 ポリシー マップは設定されません。 すべてのポート上のデフォルト ポートの信頼性は、信頼性なし(untrusted)の状態です。
(注) |
WTD ドロップしきい値 1、WTD ドロップしきい値 2、予約しきい値、および最大しきい値のユーザ設定可能な最大値はそれぞれ 3200 パーセントです。 |
デフォルトの DSCP/DSCP 変換マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。
デフォルトのポリシング済み DSCP マップは、着信 DSCP 値を同じ DSCP 値にマッピングする(マークダウンしない)空のマップです。
デフォルトでは、QoS はスイッチ上でディセーブルに設定されています。
QoS をイネーブルにするために次の手順が必要です。
ここでは、ポートの信頼状態を使用して着信トラフィックを分類する方法について説明します。
(注) |
ネットワークの設定によって、このモジュールのこれらのタスクの 1 つ以上または 37 ~ 47 ページの「QoS ポリシー設定」の項のタスクの 1 つ以上を実行する必要があります。 |
QoS ドメインに入るパケットは、QoS ドメインのエッジで分類されます。 パケットがエッジで分類されると、QoS ドメイン内の各スイッチでパケットを分類する必要がないので、QoS ドメイン内のスイッチ ポートをいずれか 1 つの信頼状態に設定できます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|
ステップ 2 |
interface
interface-id 例: Switch(config)# interface gigabitethernet 1/0/2 |
信頼するポートを指定し、インターフェイス コンフィギュレーション モードを開始します。 指定できるインターフェイスは、物理ポートです。 |
ステップ 3 |
mls qos trust [
cos |
dscp |
ip-precedence] 例: Switch(config-if)# mls qos trust cos |
デフォルトでは、ポートは trusted ではありません。 キーワードを指定しない場合、デフォルトは dscp です。
untrusted ステートにポートを戻す場合は、 no mls qos trust インターフェイス コンフィギュレーション コマンドを使用します。 |
ステップ 4 |
end 例: Switch(config-if)# end |
|
ステップ 5 |
show mls qos interface 例: Switch# show mls qos interface |
|
ステップ 6 |
copy running-config startup-config 例: Switch# copy running-config startup-config |
QoS は、trusted ポートおよび untrusted ポートで受信したタグなしフレームに、 mls qos cos インターフェイス コンフィギュレーション コマンドで指定された CoS 値を割り当てます。
ポートのデフォルト CoS 値を定義する場合、またはポート上のすべての着信パケットにデフォルト CoS 値を割り当てる場合には、特権 EXEC モードから次の手順を実行します。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
interface
interface-id 例: Switch(config)# interface gigabitethernet 1/1/1 |
|||
ステップ 3 |
mls qos cos {
default-cos |
override} 例: Switch(config-if)# mls qos override |
|
||
ステップ 4 |
end 例: Switch(config-if)# end |
|||
ステップ 5 |
show mls qos interface 例: Switch# show mls qos interface |
|||
ステップ 6 |
copy running-config startup-config 例: Switch# copy running-config startup-config |
一般的なネットワークでは、スイッチ ポートに Cisco IP Phone を接続し、電話の背後からデータ パケットを生成するデバイスをカスケードします。 Cisco IP Phone では、音声パケット CoS レベルをハイ プライオリティ(CoS = 5)にマーキングし、データ パケットをロー プライオリティ(CoS = 0)にマーキングすることで、共有データ リンクを通して音声品質を保証しています。 電話からスイッチに送信されたトラフィックは通常 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 を介して電話を設定できます。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
cdp run 例: Switch(config)# cdp run |
|||
ステップ 3 |
interface
interface-id 例: Switch(config)# interface gigabitethernet 2/1/1 |
|||
ステップ 4 |
cdp enable 例: Switch(config-if)# cdp enable |
|||
ステップ 5 |
次のいずれかを使用します。
例: Switch(config-if)# mls qos trust cos |
Cisco IP Phone から受信したトラフィックの CoS 値を信頼するようにスイッチ ポートを設定します。 |
||
ステップ 6 |
mls qos trust device cisco-phone 例: Switch(config-if)# mls qos trust device cisco-phone |
Cisco IP Phone が信頼できるデバイスであることを指定します。 信頼境界機能と自動 QoS( auto qos voip インターフェイス コンフィギュレーション コマンド)を同時にイネーブルにはできません。両者は相互に排他的です。
|
||
ステップ 7 |
end 例: Switch(config-if)# end |
|||
ステップ 8 |
show mls qos interface 例: Switch# show mls qos interface |
|||
ステップ 9 |
copy running-config startup-config 例: Switch# copy running-config startup-config |
スイッチは透過的な DSCP 機能をサポートします。 この機能は発信パケットの DSCP フィールドのみに作用します。 デフォルトでは、DSCP 透過性はディセーブルです。 スイッチでは着信パケットの DSCP フィールドが変更され、発信パケットの DSCP フィールドは、ポートの信頼設定、ポリシングとマーキング、DSCP/DSCP 変換マップを含めて Quality of Service(QoS)に基づきます。
no mls qos rewrite ip dscp コマンドを使用して DSCP 透過がイネーブルになっている場合、スイッチは着信パケットの DSCP フィールドは変更せず、送信パケットの DSCP フィールドも着信パケットのものと同じになります。
透過的な DSCP 設定にかかわらず、スイッチはパケット内部の DSCP 値を変更し、トラフィックのプライオリティを提示する CoS 値を生成します。 また、スイッチは内部 DSCP 値を使用して、出力キューおよびしきい値を選択します。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|
ステップ 2 |
mls qos 例: Switch(config)# mls qos |
|
ステップ 3 |
no mls qos rewrite ip dscp 例: Switch(config)# no mls qos rewrite ip dscp |
DSCP 透過性をイネーブルにします。 スイッチが IP パケットの DSCP フィールドを変更しないよう設定されます。 |
ステップ 4 |
end 例: Switch(config)# end |
|
ステップ 5 |
show mls qos interface [
interface-id] 例: Switch# show mls qos interface gigabitethernet 2/1/1 |
|
ステップ 6 |
copy running-config startup-config 例: Switch# copy running-config startup-config |
透過的な DSCP 機能をディセーブルにして、信頼設定または ACL に基づいてスイッチに DSCP 値を変更させる設定にするには、 mls qos rewrite ip dscp グローバル コンフィギュレーション コマンドを使用します。
no mls qos グローバル コンフィギュレーション コマンドで、QoS をディセーブルにした場合、CoS および DSCP 値は変更されません(デフォルトの QoS 設定)。
no mls qos rewrite ip dscp グローバル コンフィギュレーション コマンドを入力して DSCP 透過をイネーブルにしてから、 mls qos trust [ cos | dscp] インターフェイス コンフィギュレーション コマンドを入力した場合、DSCP 透過はイネーブルのままとなります。
2 つの異なる QoS ドメインを管理しているときに、その QoS ドメイン間の IP トラフィックに QoS 機能を実装する場合は、ドメインの境界に位置するスイッチ ポートを DSCP trusted ステートに設定できます。 受信ポートでは DSCP trusted 値をそのまま使用し、QoS の分類手順が省略されます。 2 つのドメインで異なる DSCP 値が使用されている場合は、他のドメイン内での定義に一致するように一連の DSCP 値を変換する DSCP/DSCP 変換マップを設定できます。
ポート上に DSCP trusted ステートを設定して、DSCP/DSCP 変換マップを変更するには、特権 EXEC モードで次の手順を実行します。 両方の QoS ドメインに一貫した方法でマッピングするには、両方のドメイン内のポート上で次の手順を実行する必要があります。
2.
mls qos map dscp-mutation
dscp-mutation-name in-dscp
to
out-dscp
5.
mls qos dscp-mutation
dscp-mutation-name
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos map dscp-mutation
dscp-mutation-name in-dscp
to
out-dscp 例: Switch(config)# mls qos map dscp-mutation gigabitethernet1/0/2-mutation 10 11 12 13 to 30 |
デフォルトの DSCP/DSCP 変換マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。 |
||
ステップ 3 |
interface
interface-id 例: Switch(config)# interface gigabitethernet1/0/2 |
|||
ステップ 4 |
mls qos trust dscp 例: Switch(config-if)# mls qos trust dscp |
DSCP trusted ポートとして入力ポートを設定します。 デフォルトでは、ポートは trusted ではありません。
|
||
ステップ 5 |
mls qos dscp-mutation
dscp-mutation-name 例: Switch(config-if)# mls qos dscp-mutation gigabitethernet1/0/2-mutation |
指定された DSCP trusted 入力ポートにマップを適用します。 dscp-mutation-name には、ステップ 2 で作成した変換マップ名を指定します。 1 つの入力ポートに複数の DSCP/DSCP 変換マップを設定できます。
|
||
ステップ 6 |
end 例: Switch(config-if)# end |
|||
ステップ 7 |
show mls qos maps dscp-mutation 例: Switch# show mls qos maps dscp-mutation |
|||
ステップ 8 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。
|
ここでは、トラフィックを分類、ポリシング、マーキングする方法について説明します。 ネットワーク設定に応じて、この項のモジュールの 1 つ以上を実行します。
IPv4 標準 ACLS、IPv4 拡張 ACL または IPv6 ACL を使用して IP トラフィックを分類できます。
非 IP トラフィックの分類はレイヤ 2 MAC ACL でできます。
この作業を実行する前に、QoS 設定のために使用するアクセス リストを決定します。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
access-list
access-list-number {
deny |
permit}
source [
source-wildcard] 例: Switch(config)# access-list 1 permit 192.2.255.0 1.1.1.255 |
IP 標準 ACL を作成し、必要な回数だけコマンドを繰り返します。
アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show access-lists 例: Switch# show access-lists
|
|||
ステップ 5 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
この作業を実行する前に、QoS 設定のために使用するアクセス リストを決定します。
2.
access-list
access-list-number {
deny |
permit}
protocol source source-wildcard destination destination-wildcard
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
access-list
access-list-number {
deny |
permit}
protocol source source-wildcard destination destination-wildcard 例: Switch(config)# access-list 100 permit ip any any dscp 32 |
IP 拡張 ACL を作成し、必要な回数だけコマンドを繰り返します。
アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show access-lists 例: Switch# show access-lists
|
|||
ステップ 5 |
copy running-config startup-config 例: Switch# copy-running-config startup-config
|
この作業を実行する前に、QoS 設定のために使用するアクセス リストを決定します。
2.
ipv6 access-list
access-list-name
3. { deny | permit} protocol { source-ipv6-prefix/prefix-length | any | host source-ipv6-address} [ operator [ port-number]] { destination-ipv6-prefix/ prefix-length | any | host destination-ipv6-address} [ operator [ port-number]] [ dscp value] [ fragments] [ log] [ log-input] [ routing] [ sequence value] [ time-range name]
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
ipv6 access-list
access-list-name 例: Switch(config)# ipv6 access-list ipv6_Name_ACL |
IPv6 ACL を定義し、IPv6 アクセス リスト コンフィギュレーション モードを開始します。 アクセス リスト名にはスペースまたは引用符を含めることはできません。また、数字で開始することもできません。
|
||
ステップ 3 |
{
deny |
permit}
protocol {
source-ipv6-prefix/prefix-length |
any |
host
source-ipv6-address} [
operator [
port-number]] {
destination-ipv6-prefix/
prefix-length |
any |
host
destination-ipv6-address} [
operator [
port-number]] [
dscp
value] [
fragments] [
log] [
log-input] [
routing] [
sequence
value] [
time-range
name] 例: Switch(config-ipv6-acl)# permit ip host 10::1 host 11::2 host |
条件が一致した場合に、パケットを拒否するには deny、許可する場合には permit を入力します。 次に、条件について説明します。 protocol には、インターネット プロトコルの名前または番号を入力します。 ahp、 esp、 icmp、 ipv6、 pcp、 stcp、 tcp、 udp、または IPv6 プロトコル番号を表す 0 ~ 255 の整数を使用できます。
|
||
ステップ 4 |
end 例: Switch(config-ipv6-acl)# end |
|||
ステップ 5 |
show ipv6 access-list 例: Switch# show ipv6 access-list |
|||
ステップ 6 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
この作業を実行する前に、レイヤ 2 の MAC アクセス リストが QoS 設定に必要であることを決定します。
2.
mac access-list extended
name
3. { permit | deny} { host src-MAC-addr mask | any | host dst-MAC-addr | dst-MAC-addr mask} [ type mask]
5.
show access-lists [
access-list-number |
access-list-name]
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mac access-list extended
name 例: Switch(config)# mac access-list extended maclist1 |
リストの名前を指定することによって、レイヤ 2 MAC ACL を作成します。 このコマンドを入力すると、拡張 MAC ACL コンフィギュレーション モードに切り替わります。
|
||
ステップ 3 |
{
permit |
deny} {
host
src-MAC-addr mask |
any |
host
dst-MAC-addr |
dst-MAC-addr mask} [
type mask] 例: Switch(config-ext-mac1) # permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0 Switch(config-ext-mac1) # permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp |
条件が一致した場合に許可または拒否するトラフィック タイプを指定します。必要な回数だけコマンドを入力します。
アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。 |
||
ステップ 4 |
end 例: Switch(config-ext-mac1)# end |
|||
ステップ 5 |
show access-lists [
access-list-number |
access-list-name] 例: Switch# show access-lists |
|||
ステップ 6 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
個々のトラフィック フロー(またはクラス)を他のすべてのトラフィックから分離して名前を付けるには、 class-map グローバル コンフィギュレーション コマンドを使用します。 クラス マップでは、さらに細かく分類するために、特定のトラフィック フローと照合する条件を定義します。 match ステートメントには、ACL、IP precedence 値、DSCP 値などの条件を指定できます。 一致条件は、クラス マップ コンフィギュレーション モードの中で match ステートメントを 1 つ入力することによって定義します。
(注) |
class ポリシー マップ コンフィギュレーション コマンドを使用することによって、ポリシー マップの作成時にクラス マップを作成することもできます。 |
3.
class-map [
match-all |
match-any]
class-map-name
4.
match {
access-group
acl-index-or-name |
ip dscp
dscp-list |
ip precedence
ip-precedence-list}
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
次のいずれかを使用します。
例: Switch(config)# access-list 103 permit ip any any dscp 10 |
必要な回数だけコマンドを繰り返し、IP 標準または IP 拡張 ACL、IP トラフィック用の IPv6 ACL、または非 IP トラフィック用のレイヤ 2 MAC ACL を作成します。 アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。 |
||
ステップ 3 |
class-map [
match-all |
match-any]
class-map-name 例: Switch(config)# class-map class1 |
クラス マップを作成し、クラスマップ コンフィギュレーション モードを開始します。
match-all または match-any のどちらのキーワードも指定されていない場合、デフォルトは match-all です。
|
||
ステップ 4 |
match {
access-group
acl-index-or-name |
ip dscp
dscp-list |
ip precedence
ip-precedence-list} 例: Switch(config-cmap)# match ip dscp 10 11 12 |
クラス マップごとにサポートされる一致条件は 1 つだけです。また、クラス マップごとにサポートされる ACL は 1 つだけです。
|
||
ステップ 5 |
end 例: Switch(config-cmap)# end |
|||
ステップ 6 |
show class-map 例: Switch# show class-map |
|||
ステップ 7 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
プライマリ一致基準を IPv4 トラフィックに対してのみ適用するには、 match protocol コマンドで ip キーワードを使用します。 プライマリ一致基準を IPv6 トラフィックに対してのみ適用するには、 match protocol コマンドで ipv6 キーワードを使用します。
2.
class-map {
match-all}
class-map-name
3.
match protocol [
ip
|
ipv6]
4.
match {
ip dscp
dscp-list |
ip precedence
ip-precedence-list}
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
class-map {
match-all}
class-map-name 例: Switch(config)# class-map cm-1 |
クラス マップを作成し、クラスマップ コンフィギュレーション モードを開始します。 match protocol コマンドを使用する場合、 match-all キーワードのみがサポートされます。 match-all または match-any のどちらのキーワードも指定されていない場合、デフォルトは match-all です。
|
||
ステップ 3 |
match protocol [
ip
|
ipv6] 例: Switch(config-cmap)# match protocol ip |
|||
ステップ 4 |
match {
ip dscp
dscp-list |
ip precedence
ip-precedence-list} 例: Switch(config-cmap)# match ip dscp 10 |
|
||
ステップ 5 |
end 例: Switch(config-cmap)# end |
|||
ステップ 6 |
show class-map 例: Switch# show class-map |
|||
ステップ 7 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
作用対象となるトラフィック クラスを指定するポリシー マップを、物理ポート上に設定できます。 トラフィック クラスの CoS 値、DSCP 値、または IP precedence 値を信頼するアクション、トラフィック クラスに特定の DSCP 値または IP precedence 値を設定するアクション、および一致する各トラフィック クラスにトラフィック帯域幅限度を指定するアクション(ポリサー)や、トラフィックが不適合な場合の対処法を指定するアクション(マーキング)などを指定できます。
ポリシー マップには、次の特性もあります。
物理ポートでポリシー マップを設定する場合には、次の注意事項に従ってください。
2.
class-map [
match-all |
match-any]
class-map-name
4.
class [
class-map-name |
class-default]
5.
trust [
cos |
dscp |
ip-precedence]
6.
set {
dscp
new-dscp |
ip precedence
new-precedence}
7.
police
rate-bps burst-byte [
exceed-action {
drop |
policed-dscp-transmit}]
11.
service-policy input
policy-map-name
13.
show policy-map [
policy-map-name [
class
class-map-name]]
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
class-map [
match-all |
match-any]
class-map-name 例: Switch(config)# class-map ipclass1 |
クラス マップを作成し、クラスマップ コンフィギュレーション モードを開始します。
match-all または match-any のどちらのキーワードも指定されていない場合、デフォルトは match-all です。 |
||
ステップ 3 |
policy-map
policy-map-name 例: Switch(config-cmap)# policy-map flowit |
ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。 ポリシー マップのデフォルトの動作では、パケットが IP パケットの場合は DSCP が 0 に、パケットがタグ付きの場合は CoS が 0 に設定されます。 ポリシングは実行されません。
|
||
ステップ 4 |
class [
class-map-name |
class-default] 例: Switch(config-pmap)# class ipclass1 |
トラフィックの分類を定義し、ポリシーマップ クラス コンフィギュレーション モードを開始します。 デフォルトでは、ポリシー マップ クラス マップは定義されていません。 すでに class-map グローバル コンフィギュレーション コマンドを使用してトラフィック クラスが定義されている場合は、このコマンドで class-map-name にその名前を指定します。 class-default トラフィック クラスは定義済みで、どのポリシーにも追加できます。 このトラフィック クラスは、常にポリシー マップの最後に配置されます。 暗黙の match any が class-default クラスに含まれている場合、他のトラフィック クラスと一致していないすべてのパケットは class-default と一致します。
|
||
ステップ 5 |
trust [
cos |
dscp |
ip-precedence] 例: Switch(config-pmap-c)# trust dscp |
CoS ベースまたは DSCP ベースの QoS ラベルを生成するために QoS が使用する信頼ステートを設定します。 このコマンドと set コマンドは、同じポリシー マップ内で相互に排他的になります。 trust コマンドを入力する場合は、ステップ 6 へ進んでください。 デフォルトでは、ポートは trusted ではありません。 キーワードを指定せずにコマンドを入力した場合、デフォルトは dscp です。
|
||
ステップ 6 |
set {
dscp
new-dscp |
ip precedence
new-precedence} 例: Switch(config-pmap-c)# set dscp 45 |
パケットに新しい値を設定することによって、IP トラフィックを分類します。
|
||
ステップ 7 |
police
rate-bps burst-byte [
exceed-action {
drop |
policed-dscp-transmit}] 例: Switch(config-pmap-c)# police 100000 80000 drop |
|
||
ステップ 8 |
exit 例: Switch(config-pmap-c)# exit |
|||
ステップ 9 |
exit 例: Switch(config-pmap)# exit |
|||
ステップ 10 |
interface
interface-id 例: Switch(config)# interface gigabitethernet 2/0/1 |
|||
ステップ 11 |
service-policy input
policy-map-name 例: Switch(config-if)# service-policy input flowit |
サポートされるポリシー マップは、入力ポートに 1 つだけです。
|
||
ステップ 12 |
end 例: Switch(config-if)# end |
|||
ステップ 13 |
show policy-map [
policy-map-name [
class
class-map-name]] 例: Switch# show policy-map |
|||
ステップ 14 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
集約ポリサーを使用すると、同じポリシー マップ内の複数のトラフィック クラスで共有されるポリサーを作成できます。 ただし、集約ポリサーを複数の異なるポリシー マップまたはポートにわたって使用することはできません。
2.
mls qos aggregate-policer
aggregate-policer-name rate-bps burst-byte
exceed-action {
drop |
policed-dscp-transmit}
3.
class-map [
match-all |
match-any]
class-map-name
5.
class [
class-map-name |
class-default]
6.
police aggregate
aggregate-policer-name
9.
service-policy input
policy-map-name
11.
show mls qos aggregate-policer [
aggregate-policer-name]
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|
ステップ 2 |
mls qos aggregate-policer
aggregate-policer-name rate-bps burst-byte
exceed-action {
drop |
policed-dscp-transmit} 例: Switch(config)# mls qos aggregate-police transmit1 48000 8000 exceed-action policed-dscp-transmit |
同じポリシー マップ内の複数のトラフィック クラスに適用できるポリサー パラメータを定義します。
|
ステップ 3 |
class-map [
match-all |
match-any]
class-map-name 例: Switch(config)# class-map ipclass1 |
|
ステップ 4 |
policy-map
policy-map-name 例: Switch(config-cmap)# policy-map aggflow1 |
ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。 |
ステップ 5 |
class [
class-map-name |
class-default] 例: Switch(config-cmap-p)# class ipclass1 |
|
ステップ 6 |
police aggregate
aggregate-policer-name 例: Switch(configure-cmap-p)# police aggregate transmit1 |
同じポリシー マップ内の複数のクラスに集約ポリサーを適用します。 aggregate-policer-name には、ステップ 2 で指定した名前を入力します。 指定された集約ポリサーをポリシー マップから削除するには、 no police aggregate aggregate-policer-name ポリシー マップ コンフィギュレーション コマンドを使用します。 集約ポリサーおよびそのパラメータを削除するには、 no mls qos aggregate-policer aggregate-policer-name グローバル コンフィギュレーション コマンドを使用します。 |
ステップ 7 |
exit 例: Switch(configure-cmap-p)# exit |
|
ステップ 8 |
interface
interface-id 例: Switch(config)# interface gigabitethernet 2/0/1 |
|
ステップ 9 |
service-policy input
policy-map-name 例: Switch(config-if)# service-policy input aggflow1 |
|
ステップ 10 |
end 例: Switch(configure-if)# end |
|
ステップ 11 |
show mls qos aggregate-policer [
aggregate-policer-name] 例: Switch# show mls qos aggregate-policer transmit1 |
|
ステップ 12 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
CoS/DSCP マップを使用して、着信パケットの CoS 値を、QoS がトラフィックのプライオリティを表すために内部使用する DSCP 値にマッピングします。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos map cos-dscp
dscp1...dscp8 例: Switch(config)# mls qos map cos-dscp 10 15 20 25 30 35 40 45 |
dscp1...dscp8 には、CoS 値 0 ~ 7 に対応する 8 つの DSCP 値を入力します。 各 DSCP 値はスペースで区切ります。
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show mls qos maps cos-dscp 例: Switch# show mls qos maps cos-dscp |
|||
ステップ 5 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
着信パケットの IP precedence 値を、QoS がトラフィックのプライオリティを表すために内部使用する DSCP 値にマッピングするには、IP precedence/DSCP マップを使用します。
IP precedence/DSCP マップを変更するには、特権 EXEC モードで次の手順を実行します。 この手順は任意です。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos map ip-prec-dscp
dscp1...dscp8 例: Switch(config)# mls qos map ip-prec-dscp 10 15 20 25 30 35 40 45 |
dscp1...dscp8 には、IP precedence 値 0 ~ 7 に対応する 8 つの DSCP 値を入力します。 各 DSCP 値はスペースで区切ります。
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show mls qos maps ip-prec-dscp 例: Switch# show mls qos maps ip-prec-dscp
|
|||
ステップ 5 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
ポリシングおよびマーキング アクションによって得られる新しい値に DSCP 値をマークダウンするには、ポリシング済み DSCP マップを使用します。
デフォルトのポリシング設定 DSCP マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos map policed-dscp
dscp-list
to
mark-down-dscp 例: Switch(config)# mls qos map policed-dscp 50 51 52 53 54 55 56 57 to 0 |
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show mls qos maps policed-dscp 例: Switch(config)# show mls qos maps policed-dscp |
|||
ステップ 5 |
copy running-config startup-config 例: Switch# |
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos map dscp-cos
dscp-list
to
cos 例: Switch# mls qos map dscp-cos 0 8 16 24 32 40 48 50 to 0 |
DSCP の範囲は 0 ~ 63、CoS の範囲は 0 ~ 7 です。
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show mls qos maps dscp-to-cos 例: Switch# show mls qos maps dscp-to-cos |
|||
ステップ 5 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
2 つの QoS ドメインで異なる DSCP 定義が使用されている場合は、一方のドメインの一連の DSCP 値を変換して、もう一方のドメインの定義に一致させる DSCP/DSCP 変換マップを使用します。 DSCP/DSCP 変換マップは、QoS 管理ドメインの境界にある受信ポートに適用します(入力変換)。
入力変換により、パケットの DSCP 値が新しい DSCP 値で上書きされ、QoS はこの新しい値をパケットに適用します。 スイッチは、新しい DSCP 値とともにそのパケットをポートへ送出します。
1 つの入力ポートに複数の DSCP/DSCP 変換マップを設定できます。 デフォルトの DSCP/DSCP 変換マップは、着信 DSCP 値を同じ DSCP 値にマッピングするヌル マップです。
2.
mls qos map dscp-mutation
dscp-mutation-name in-dscp
to
out-dscp
5.
mls qos dscp-mutation
dscp-mutation-name
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos map dscp-mutation
dscp-mutation-name in-dscp
to
out-dscp 例: Switch(config)# mls qos map dscp-mutation mutation1 1 2 3 4 5 6 7 to 0 |
|
||
ステップ 3 |
interface
interface-id 例: Switch(config)# interface gigabitethernet1/0/1 |
|||
ステップ 4 |
mls qos trust dscp 例: Switch(config-if)# mls qos trust dscp |
DSCP trusted ポートとして入力ポートを設定します。 デフォルトでは、ポートは trusted ではありません。 |
||
ステップ 5 |
mls qos dscp-mutation
dscp-mutation-name 例: Switch(config-if)# mls qos dscp-mutation mutation1 |
|||
ステップ 6 |
end 例: Switch(config-if)# end |
|||
ステップ 7 |
show mls qos maps dscp-mutation 例: Switch# show mls qos maps dscp-mutation |
|||
ステップ 8 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
ネットワークおよび QoS ソリューションの複雑さに応じて、次のモジュールで示す作業をすべて実行しなければならない場合があります。 次の特性を決定する必要があります。
緊急キューがイネーブルにされているとき、または SRR の重みに基づいて出力キューのサービスが提供されるときには、次の注意事項に従ってください。
バッファのアベイラビリティの保証、WTD しきい値の設定、およびキューセットの最大メモリ割り当ての設定を行うには、 mls qos queue-set output qset-id threshold queue-id drop-threshold1 drop-threshold2 reserved-threshold maximum-threshold グローバル コンフィギュレーション コマンドを使用します。
各しきい値はキューに割り当てられたバッファの割合です。このパーセント値を指定するには、 mls qos queue-set output qset-id buffers allocation1 ... allocation4 グローバル コンフィギュレーション コマンドを使用します。 キューは WTD を使用して、トラフィック クラスごとに異なるドロップ割合をサポートします。
(注) |
出力キューのデフォルト設定は、ほとんどの状況に適しています。 出力キューについて十分理解したうえで、この設定がユーザの QoS ソリューションを満たさないと判断した場合に限り、設定を変更してください。 |
キューセットのメモリ割り当てとドロップしきい値を設定するには、特権 EXEC モードで次の手順を実行します。 この手順は任意です。
2.
mls qos queue-set output
qset-id
buffers
allocation1 ... allocation4
3.
mls qos queue-set output
qset-id
threshold
queue-id drop-threshold1 drop-threshold2 reserved-threshold maximum-threshold
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos queue-set output
qset-id
buffers
allocation1 ... allocation4 例: Switch(config)# mls qos queue-set output 2 buffers 40 20 20 20 |
デフォルトでは、すべての割り当て値は 4 つのキューに均等にマッピングされます(25、25、25、25)。 各キューがバッファ スペースの 1/4 を持ちます。
トラフィックの重要度に応じてバッファを割り当てます。たとえば、最高プライオリティのトラフィックを持つキューには多くの割合のバッファを与えます。
|
||
ステップ 3 |
mls qos queue-set output
qset-id
threshold
queue-id drop-threshold1 drop-threshold2 reserved-threshold maximum-threshold 例: Switch(config)# mls qos queue-set output 2 threshold 2 40 60 100 200 |
WTD しきい値を設定し、バッファのアベイラビリティを保証し、キューセット(ポートごとに 4 つの出力キュー)の最大メモリ割り当てを設定します。 デフォルトでは、キュー 1、3、および 4 の WTD は 100% に設定されています。 キュー 2 の WTD は 200% に設定されています。 キュー 1、2、3、および 4 の専用は 50% に設定されています。 すべてのキューの最大しきい値はデフォルトで 400% に設定されています。
|
||
ステップ 4 |
interface
interface-id 例: Switch(config)# interface gigabitethernet1/0/1 |
|||
ステップ 5 |
queue-set
qset-id 例: Switch(config-id)# queue-set 2 |
qset-id には、ステップ 2 で指定したキューセットの ID を入力します。 指定できる範囲は 1 ~ 2 です。 デフォルトは 1 です。 |
||
ステップ 6 |
end 例: Switch(config-id)# end |
|||
ステップ 7 |
show mls qos interface [
interface-id]
buffers 例: Switch# show mls qos interface buffers |
|||
ステップ 8 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 デフォルトの設定に戻すには、no mls qos queue-set output qset-id buffers グローバル コンフィギュレーション コマンドを使用します。 デフォルトの WTD しきい値の割合に戻すには、no mls qos queue-set output qset-id threshold [queue-id] グローバル コンフィギュレーション コマンドを使用します。 |
トラフィックにプライオリティを設定するには、特定の DSCP または CoS を持つパケットを特定のキューに格納し、より低いプライオリティを持つパケットがドロップされるようにキューのしきい値を調整します。
(注) |
出力キューのデフォルト設定は、ほとんどの状況に適しています。 デフォルト設定の変更が必要となるのは、出力キューについて完全に理解している場合、およびデフォルトの設定がご使用の QoS ソリューションを満たしていない場合だけです。 |
DSCP または CoS 値を出力キューおよびしきい値 ID にマッピングするには、特権 EXEC モードで次の手順を実行します。 この手順は任意です。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
次のいずれかを使用します。
例: Switch(config)# mls qos srr-queue output dscp-map queue 1 threshold 2 10 11 |
DSCP または CoS 値を出力キューおよびしきい値 ID にマッピングします。 デフォルトでは、DSCP 値 0 ~ 15 はキュー 2 およびしきい値 1 に、 DSCP 値 16 ~ 31 はキュー 3 およびしきい値 1 に、 DSCP 値 32 ~ 39 および 48 ~ 63 はキュー 4 およびしきい値 1 に、 DSCP 値 40 ~ 47 はキュー 1 およびしきい値 1 にマッピングされます。 デフォルトでは、CoS 値 0 および 1 はキュー 2 およびしきい値 1 に、 CoS 値 2 および 3 はキュー 3 およびしきい値 1 に、 CoS 値 4、6、および 7 はキュー 4 およびしきい値 1 に、 CoS 値 5 はキュー 1 およびしきい値 1 にマッピングされます。
|
||
ステップ 3 |
end 例: Switch(config)# end |
|||
ステップ 4 |
show mls qos maps 例: Switch# show mls qos maps |
DSCP 出力キューしきい値マップは、表形式で表示されます。 d1 列は DSCP 値の最上位桁、d2 行は DSCP 値の最下位桁を示します。 d1 および d2 値の交点がキュー ID およびしきい値 ID です。たとえば、キュー 2 およびしきい値 1(02-01)のようになります。 CoS 出力キューしきい値マップでは、先頭行に CoS 値、2 番めの行に対応するキュー ID およびしきい値 ID が示されます。たとえば、キュー 2 およびしきい値 2(2-2)のようになります。 |
||
ステップ 5 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 デフォルトの DSCP 出力キューしきい値マップまたはデフォルトの CoS 出力キューしきい値マップに戻すには、 no mls qos srr-queue output dscp-map または no mls qos srr-queue output cos-map グローバル コンフィギュレーション コマンドを使用します。 |
各キューに割り当てられる使用可能な帯域幅の量を指定できます。 重みの比率は、SRR スケジューラが各キューからパケットを送信する頻度の比率です。
出力キューにシェーピング重み、共有重み、またはその両方を設定できます。 バースト性のあるトラフィックをスムーズにする、または長期にわたって出力をスムーズにする場合に、シェーピングを使用します。
ポートにマッピングされた 4 つの出力キューにシェーピング重みを割り当てて、帯域幅のシェーピングをイネーブルにするには、特権 EXEC モードで次の手順を実行します。 この手順は任意です。
3.
srr-queue bandwidth shape
weight1 weight2 weight3 weight4
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例: Switch# configure terminal |
|
ステップ 2 |
interface
interface-id 例: Switch(config)# interface gigabitethernet2/0/1 |
|
ステップ 3 |
srr-queue bandwidth shape
weight1 weight2 weight3 weight4 例: Switch(config-if)# srr-queue bandwidth shape 8 0 0 0 |
出力キューに SRR 重みを割り当てます。 デフォルトでは、weight1 は 25、weight2、weight3、および weight4 は 0 に設定されています。これらのキューは共有モードです。 weight1 weight2 weight3 weight4 には、シェーピングされるポートの割合を制御する重みを入力します。 このキューのシェーピング帯域幅は、インバース比率(1/weight)によって制御されます。 各値はスペースで区切ります。 指定できる範囲は 0 ~ 65535 です。 重み 0 を設定した場合は、対応するキューが共有モードで動作します。 srr-queue bandwidth shape コマンドで指定された重みは無視され、 srr-queue bandwidth share インターフェイス コンフィギュレーション コマンドで設定されたキューの重みが有効になります。 シェーピングおよび共有の両方に対して同じキューセットのキューを設定した場合は、必ず番号が最も小さいキューにシェーピングを設定してください。 デフォルトの設定に戻すには、no srr-queue bandwidth shape インターフェイス コンフィギュレーション コマンドを使用します。 |
ステップ 4 |
end 例: Switch(config-if)# end |
|
ステップ 5 |
show mls qos interface
interface-id
queueing 例: Switch# show mls qos interface interface-id queuing |
|
ステップ 6 |
copy running-config startup-config 例: Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 デフォルトの設定に戻すには、no srr-queue bandwidth shape インターフェイス コンフィギュレーション コマンドを使用します。 |
共有モードでは、設定された重みによりキュー間で帯域幅が共有されます。 このレベルでは帯域幅は保証されていますが、このレベルに限定されていません。 たとえば、特定のキューが空であり、リンクを共有する必要がない場合、残りのキューは未使用の帯域幅を使用して、共有ができます。 共有の場合、キューからパケットを取り出す頻度は重みの比率によって制御されます。重みの絶対値は関係ありません。
(注) |
出力キューのデフォルト設定は、ほとんどの状況に適しています。 出力キューについて十分理解したうえで、この設定がユーザの QoS ソリューションを満たさないと判断した場合に限り、設定を変更してください。 |
ポートにマッピングされた 4 つの出力キューに共有重みを割り当てて、帯域幅の共有をイネーブルにするには、特権 EXEC モードで次の手順を実行します。 この手順は任意です。
3.
srr-queue bandwidth share
weight1 weight2 weight3 weight4
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|
ステップ 2 |
interface
interface-id 例: Switch(config)# interface gigabitethernet2/0/1 |
|
ステップ 3 |
srr-queue bandwidth share
weight1 weight2 weight3 weight4 例: Switch(config-id)# srr-queue bandwidth share 1 2 3 4 |
出力キューに SRR 重みを割り当てます。 デフォルトでは、4 つの重みがすべて 25 です(各キューに帯域幅の 1/4 が割り当てられています)。 weight1 weight2 weight3 weight4 には、SRR スケジューラがパケットを送信する頻度の比率を制御する重みを入力します。 各値はスペースで区切ります。 指定できる範囲は 1 ~ 255 です。 デフォルトの設定に戻すには、no srr-queue bandwidth share インターフェイス コンフィギュレーション コマンドを使用します。 |
ステップ 4 |
end 例: Switch(config-id)# end |
|
ステップ 5 |
show mls qos interface
interface-id
queueing 例: Switch# show mls qos interface interface_id queuing |
|
ステップ 6 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 デフォルトの設定に戻すには、no srr-queue bandwidth share インターフェイス コンフィギュレーション コマンドを使用します。 |
出力緊急キューにパケットを入れることにより、特定のパケットのプライオリティを他のすべてのパケットより高く設定できます。 SRR は、このキューが空になるまで処理してから他のキューを処理します。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
mls qos 例: Switch(config)# mls qos |
|||
ステップ 3 |
interface
interface-id 例: Switch(config)# interface gigabitethernet1/0/1 |
|||
ステップ 4 |
priority-queue out 例: Switch(config-if)# priority-queue out |
デフォルトでディセーブルに設定されている出力緊急キューをイネーブルにします。 このコマンドを設定すると、SRR に参加するキューは 1 つ少なくなるため、SRR 重みおよびキュー サイズの比率が影響を受けます。 つまり、 srr-queue bandwidth shape または srr-queue bandwidth share コマンドの weight1 が無視されます(比率計算に使用されません)。
|
||
ステップ 5 |
end 例: Switch(config-if)# end |
|||
ステップ 6 |
show running-config 例: Switch# show running-config |
|||
ステップ 7 |
copy running-config startup-config 例: Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 出力緊急キューをディセーブルにするには、no priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。 |
出力ポートの帯域幅は制限できます。 たとえば、カスタマーが高速リンクの一部しか費用を負担しない場合は、帯域幅をその量に制限できます。
(注) |
出力キューのデフォルト設定は、ほとんどの状況に適しています。 出力キューについて十分理解したうえで、この設定がユーザの QoS ソリューションを満たさないと判断した場合に限り、設定を変更してください。 |
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure
terminal 例: Switch# configure terminal |
|||
ステップ 2 |
interface
interface-id 例: Switch(config)# interface gigabitethernet2/0/1 |
|||
ステップ 3 |
srr-queue bandwidth limit
weight1 例: Switch(config-if)# srr-queue bandwidth limit 80 |
ポートの上限となるポート速度の割合を指定します。 指定できる範囲は 10 ~ 90 です。 デフォルトでは、ポートのレートは制限されず、100% に設定されています。
|
||
ステップ 4 |
end 例: Switch(config-if)# end |
|||
ステップ 5 |
show mls qos interface [
interface-id]
queueing 例: Switch# show mls qos interface interface_id queueing |
|||
ステップ 6 |
copy running-config startup-config 例: Switch# copy-running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 デフォルトの設定に戻すには、no srr-queue bandwidth limit インターフェイス コンフィギュレーション コマンドを使用します。 |
コマンド |
説明 |
---|---|
show mls qos interface [ interface-id] [ buffers | policers | queueing | statistics] |
バッファ割り当て、ポリサーが設定されているポート、キューイング方式、入出力統計情報など、ポート レベルの QoS 情報が表示されます。 |
show mls qos maps [ cos-dscp | | cos-output-q | dscp-cos | | dscp-mutation dscp-mutation-name | dscp-output-q | ip-prec-dscp | policed-dscp] |
|
着信トラフィックの分類条件を定義した QoS ポリシー マップを表示します。 着信トラフィックの分類情報を表示する場合は、 show policy-map interface 特権 EXEC コマンドを使用しないでください。 control-plane および interface キーワードはサポートされていません。表示される統計情報は無視してください。 |
|
次に、ポートが DSCP を信頼する状態に設定し、着信した DSCP 値 10 ~ 13 が DSCP 値 30 にマッピングされるように DSCP/DSCP 変換マップ( gi1/0/2-mutation)を変更する例を示します。
Switch(config)# mls qos map dscp-mutation gigabitethernet1/0/2-mutation 10 11 12 13 to 30 Switch(config)# interface gigabitethernet1/0/2 Switch(config-if)# mls qos trust dscp Switch(config-if)# mls qos dscp-mutation gigabitethernet1/0/2-mutation Switch(config-if)# end
次に、指定された 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)
次に、任意の送信元から、DSCP 値が 32 に設定されている任意の宛先への IP トラフィックを許可する ACL を作成する例を示します。
Switch(config)# access-list 100 permit ip any any dscp 32
次に、10.1.1.1 の送信元ホストから 10.1.1.2 の宛先ホストへの IP トラフィック(precedence 値は 5)を許可する ACL を作成する例を示します。
Switch(config)# access-list 100 permit ip host 10.1.1.1 host 10.1.1.2 precedence 5
次に、任意の送信元からアドレス 224.0.0.2 の宛先グループへの PIM トラフィック(DSCP 値は 32)を許可する ACL を作成する例を示します。
Switch(config)# access-list 102 permit pim any 224.0.0.2 dscp 32
次に、任意の送信元から、DSCP 値が 32 に設定されている任意の宛先への IPv6 トラフィックを許可する ACL を作成する例を示します。
Switch(config)# ipv6 access-list 100 permit ip any any dscp 32
次に、10.1.1.1 の送信元ホストから 10.1.1.2 の宛先ホストへの IPv6 トラフィック(precedence 値は 5)を許可する ACL を作成する例を示します。
Switch(config)# ipv6 access-list ipv6_Name_ACL permit ip host 10::1 host 10.1.1.2 precedence 5
次に、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)
次に、 class1 というクラス マップの設定例を示します。 class1 にはアクセス リスト 103 という一致条件が 1 つ設定されています。 このクラス マップによって、任意のホストから任意の宛先へのトラフィック(DSCP 値は 10)が許可されます。
Switch(config)# access-list 103 permit ip any any dscp 10 Switch(config)# class-map class1 Switch(config-cmap)# match access-group 103 Switch(config-cmap)# end Switch#
次に、DSCP 値が 10、11、および 12 である着信トラフィックと照合する、 class2 という名前のクラス マップを作成する例を示します。
Switch(config)# class-map class2 Switch(config-cmap)# match ip dscp 10 11 12 Switch(config-cmap)# end Switch#
次に、IP precedence 値が 5、6、および 7 である着信トラフィックと照合する、 class3 という名前のクラス マップを作成する例を示します。
Switch(config)# class-map class3 Switch(config-cmap)# match ip precedence 5 6 7 Switch(config-cmap)# end Switch#
次に、IP DSCP および IPv6 と照合するクラス マップを設定する例を示します。
Switch(config)# Class-map cm-1 Switch(config-cmap)# match ip dscp 10 Switch(config-cmap)# match protocol ipv6 Switch(config-cmap)# exit Switch(config)# Class-map cm-2 Switch(config-cmap)# match ip dscp 20 Switch(config-cmap)# match protocol ip Switch(config-cmap)# exit Switch(config)# Policy-map pm1 Switch(config-pmap)# class cm-1 Switch(config-pmap-c)# set dscp 4 Switch(config-pmap-c)# exit Switch(config-pmap)# class cm-2 Switch(config-pmap-c)# set dscp 6 Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface G1/0/1 Switch(config-if)# service-policy input pm1
次に、IPv4 トラフィックと IPv6 トラフィックの両方に適用するクラス マップを設定する例を示します。
Switch(config)# ip access-list 101 permit ip any any Switch(config)# ipv6 access-list ipv6-any permit ip any any Switch(config)# Class-map cm-1 Switch(config-cmap)# match access-group 101 Switch(config-cmap)# exit Switch(config)# class-map cm-2 Switch(config-cmap)# match access-group name ipv6-any Switch(config-cmap)# exit Switch(config)# Policy-map pm1 Switch(config-pmap)# class cm-1 Switch(config-pmap-c)# set dscp 4 Switch(config-pmap-c)# exit Switch(config-pmap)# class cm-2 Switch(config-pmap-c)# set dscp 6 Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface G0/1 Switch(config-if)# switch mode access Switch(config-if)# service-policy input pm1
次に、ポリシー マップを作成し、入力ポートに結合する例を示します。 この設定では、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 1000000 8000 exceed-action policed-dscp-transmit Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface gigabitethernet2/0/1 Switch(config-if)# service-policy input flow1t
次に、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)# 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 maclist2 Switch(config-pmap-c)# set dscp 45 Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface gigabitethernet1/0/1 Switch(config-if)# mls qos trust cos Switch(config-if)# service-policy input macpolicy1
次に、分類されていないトラフィックに適用されるデフォルト クラスを使用して、IPv4 と IPv6 の両方のトラフィックに適用されるクラス マップを作成する例を示します。
Switch(config)# ip access-list 101 permit ip any any Switch(config)# ipv6 access-list ipv6-any permit ip any any Switch(config)# class-map cm-1 Switch(config-cmap)# match access-group 101 Switch(config-cmap)# exit Switch(config)# class-map cm-2 Switch(config-cmap)# match access-group name ipv6-any Switch(config-cmap)# exit Switch(config)# policy-map pm1 Switch(config-pmap)# class cm-1 Switch(config-pmap-c)# set dscp 4 Switch(config-pmap-c)# exit Switch(config-pmap)# class cm-2 Switch(config-pmap-c)# set dscp 6 Switch(config-pmap-c)# exit Switch(config-pmap)# class class-default Switch(config-pmap-c)# set dscp 10 Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface G0/1 Switch(config-if)# switch mode access Switch(config-if)# service-policy input pm1
次に、集約ポリサーを作成して、ポリシー マップ内の複数のクラスに結合する例を示します。 この設定では、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)# class class-default Switch(config-pmap-c)# set dscp 10 Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface gigabitethernet2/0/1 Switch(config-if)# service-policy input aggflow1 Switch(config-if)# exit
次に、CoS/DSCP マップを変更して表示する例を示します。
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 マップを変更して表示する例を示します。
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 50 ~ 57 を、マークダウンされる DSCP 値 0 にマッピングする例を示します。
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 値 0、8、16、24、32、40、48、および 50 を CoS 値 0 にマッピングして、マップを表示する例を示します。
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 変換マップを定義する方法を示します。 明示的に設定されていないすべてのエントリは変更されません(空のマップで指定された値のままです)。
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 gigabitethernet1/0/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 です。 |
次の例では、ポートをキューセット 2 にマッピングする方法を示します。 出力キュー 1 にはバッファ スペースの 40%、出力キュー 2、3、および 4 には 20% が割り当てられます。 キュー 2 のドロップしきい値は割り当てメモリの 40 および 60% に設定され、割り当てメモリの 100% が保証(確保)され、パケットがドロップされるまでこのキューが使用できる最大メモリが 200% に設定されます。
Switch(config)# mls qos queue-set output 2 buffers 40 20 20 20 Switch(config)# mls qos queue-set output 2 threshold 2 40 60 100 200 Switch(config)# interface gigabitethernet1/0/1 Switch(config-if)# queue-set 2
次に、DSCP 値 10 および 11 を出力キュー 1 およびしきい値 2 にマッピングする例を示します。
Switch(config)# mls qos srr-queue output dscp-map queue 1 threshold 2 10 11
次に、キュー 1 に帯域幅のシェーピングを設定する例を示します。 キュー 2、3、4 の重み比が 0 に設定されているので、これらのキューは共有モードで動作します。 キュー 1 の帯域幅の重みは 1/8(12.5%)です。
Switch(config)# interface gigabitethernet2/0/1 Switch(config-if)# srr-queue bandwidth shape 8 0 0 0
次の例では、出力ポートで稼働する SRR スケジューラの重み比を設定する方法を示します。 4 つのキューが使用され、共有モードで各キューに割り当てられる帯域幅の比率は、キュー 1、2、3、および 4 に対して 1/(1 + 2 + 3 + 4)、2/(1 + 2 + 3 + 4)、3/(1 + 2 + 3 + 4)、および 4/(1 + 2 + 3 + 4) になります(それぞれ、10、20、30、および 40%)。 キュー 4 はキュー 1 の帯域幅の 4 倍、キュー 2 の帯域幅の 2 倍、キュー 3 の帯域幅の 1 と 1/3 倍であることを示します。
Switch(config)# interface gigabitethernet2/0/1 Switch(config-if)# srr-queue bandwidth share 1 2 3 4
次の例では、SRR の重みが設定されている場合、出力緊急キューをイネーブルにする方法を示します。 出力緊急キューは、設定された SRR ウェイトを上書きします。
Switch(config)# interface gigabitethernet1/0/1 Switch(config-if)# srr-queue bandwidth shape 25 0 0 0 Switch(config-if)# srr-queue bandwidth share 30 20 25 25 Switch(config-if)# priority-queue out Switch(config-if)# end
Switch(config)# interface gigabitethernet2/0/1 Switch(config-if)# srr-queue bandwidth limit 80
このコマンドを 80% に設定すると、ポートは該当期間の 20% はアイドルになります。 回線レートは接続速度の 80%(800 Mbps)に低下します。 ただし、ハードウェアはライン レートを 6%単位で調整しているため、この値は厳密ではありません。
関連項目 | マニュアル タイトル |
---|---|
このマニュアルで使用するコマンドの構文および使用方法の詳細。 |
Catalyst 2960-X Switch Quality of Service Command Reference |
標準/RFC | タイトル |
---|---|
— |
— |
MIB | MIB のリンク |
---|---|
本リリースでサポートするすべての MIB |
選択したプラットフォーム、Cisco IOS リリース、およびフィーチャ セットに関する MIB を探してダウンロードするには、次の URL にある Cisco MIB Locator を使用します。 |
説明 | リンク |
---|---|
シスコのサポート Web サイトでは、シスコの製品やテクノロジーに関するトラブルシューティングにお役立ていただけるように、マニュアルやツールをはじめとする豊富なオンライン リソースを提供しています。 お使いの製品のセキュリティ情報や技術情報を入手するために、Cisco Notification Service(Field Notice からアクセス)、Cisco Technical Services Newsletter、Really Simple Syndication(RSS)フィードなどの各種サービスに加入できます。 シスコのサポート Web サイトのツールにアクセスする際は、Cisco.com のユーザ ID およびパスワードが必要です。 |
リリース | 変更内容 |
---|---|
Cisco IOS 15.0(2)EX |
この機能が導入されました。 |