Home|Log In|Register|Feedback|Help 
  
Select a Location / Language
Japan: Japanese
 
日本語マニュアル一覧
スイッチ
Catalyst 3550 シリーズ
Catalyst 3550 マルチレイヤ スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEE
はじめに
このマニュアルについて
概要
CLI の使用方法
スイッチの IP アドレスおよびデフォルト ゲートウェイの割り当て
Cisco IOS CNS エージェントの設定
スイッチのクラスタ設定
スイッチの管理
スイッチベースの認証の設定
IEEE 802.1X ポートベースの認証の設定
インターフェイス特性の設定
SmartPort マクロの設定
VLAN の設定
VTP の設定
音声 VLAN の設定
IEEE 802.1Q およびレイヤ 2 プロトコル トンネリングの設定
STP の設定
MSTP の設定
オプションのスパニングツリー機能の設定方法
Flex Link および MAC アドレステーブル移行更新機能の設定
DHCP 機能の設定
ダイナミック ARP 検査の設定
IGMP スヌーピングおよび MVR の設定
ポートベースのトラフィック制御の設定
CDP の設定
UDLD の設定
SPAN および RSPAN の設定
RMON の設定
システム メッセージ ロギングの設定
SNMP の設定
ACL によるネットワーク セキュリティの設定
QoS の設定
EtherChannel の設定
IP ユニキャスト ルーティングの設定
HSRP の設定
WCCP による Web キャッシュ サービスの設定
IP マルチキャスト ルーティングの設定
MSDP の設定
代替ブリッジングの設定
トラブルシューティング
サポートされている MIB
Cisco IOS ファイル システム、コンフィギュレーション ファイル、およびソフトウェア イメージの操作
Cisco IOS Release 12.2(25)SEE でサポートされていない CLI コマンド

スイッチ
Catalyst 3550 マルチレイヤ スイッチソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEE

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

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

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

QoS の概要
自動 QoS の設定
自動 QoS 情報の表示
自動 QoS の設定例
標準 QoS の設定
標準 QoS 情報の表示
標準 QoS の設定例

スイッチの QoS パラメータを設定するとき、使用可能な QoS Access Control Entry(ACE; アクセス制御エントリ)の数が最大となるようにシステム リソースを割り当てるためには、 sdm prefer access グローバル コンフィギュレーション コマンドを使用して、アクセス テンプレートに Switch Database Management(SDM)機能を設定します。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 は新たに普及しつつある Internet Engineering Task Force(IETF)の規格である DiffServ アーキテクチャに基づいて実装されています。DiffServアーキテクチャでは、ネットワークの入り口で各パケットが分類されます。この分類は IP パケット ヘッダーに格納され、現在ほとんど使用されていない IP Type of Service(ToS; サービス タイプ)フィールドの 6 ビットを使用して、分類( クラス )情報が伝達されます。レイヤ2フレームに格納して分類を伝達することもできます。次に、レイヤ 2 フレームまたはレイヤ 3 パケット内のこれらの特殊ビットについて説明します。 図30-1 を参照してください。

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

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

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

その他のフレーム タイプでは、レイヤ2のCoS値を伝達できません。

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

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

レイヤ3 IPパケットは、IP precedence値またはDifferentiated Services Code Point(DSCP)値のいずれかを伝達します。DSCP値はIP precedence値と下位互換性があるので、QoSではどちらの値も使用できます。

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

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

図30-1 フレームおよびパケットの QoS 分類ビット

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

クラス情報ごとに異なる方法でパケットを転送するには、インターネットにアクセスするすべてのスイッチおよびルータでクラス情報を信頼します。エンド ホストやパス上のスイッチまたはルータでは、設定されたポリシーやパケットの調査結果、あるいはその両方に基づいて、パケットにクラス情報を割り当てることができます。通常は、主要なスイッチやルータが過負荷にならないように、ネットワークのエッジ付近でパケットが詳細に調査されます。

パス上のスイッチおよびルータでは、クラス情報に基づいて、トラフィック クラスごとに割り当てられるリソース量を制限できます。DiffServ アーキテクチャでトラフィックを処理するときの各デバイスの動作は、ホップ単位動作と呼ばれます。パス上にあるすべてのデバイスのホップ単位動作が一貫している場合は、エンドツーエンドのQoSソリューションを構築できます。

ネットワークにQoSを実装する作業は、インターネットワーキング デバイス、ネットワーク内のトラフィック タイプとパターン、および着信/送信トラフィックに必要な制御の細かさによって、難易度が変化します。

ここでは、QoS の処理手順およびその機能について説明します。

基本的な QoS モデル
分類
ポリシングおよびマーキング
マッピング テーブル
キューイングおよびスケジューリング
パケットの変更

基本的な QoS モデル

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

・ 分類では、トラフィックの種類を区別します。分類プロセスを実行するとパケットに内部DSCPが生成されます。生成されると、このパケットに対して実行されるすべてのQoSアクションは、この内部DSCPで識別されます。詳細については、 分類 を参照してください。
・ ポリシングでは、内部 DSCP を設定済みポリサーと比較してパケットの適合、不適合を判別し、ポリサーは、トラフィック フローで消費される帯域幅を制限します。この判別結果はマーカーに渡されます。詳細については、 ポリシングおよびマーキング を参照してください。
・ マーキングでは、ポリサーおよびパケットが不適合である場合の対処法に関する設定情報を評価します。また、パケットに関する処理内容(変更しないでパケットを通過させるか、パケットにDSCP値をマークダウンするか、またはパケットを廃棄するか)を決定します。詳細については、 ポリシングおよびマーキング を参照してください。

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

・ キューイングの場合は内部DSCPが評価され、4つの出力キューのいずれにパケットを格納するかが決まります。DSCP値はCoS値にマッピングされ、これによってキューの1つが選択されます。詳細については、 マッピング テーブル を参照してください。
・ スケジューリングでは、設定されたWeighted Round Robin(WRR;重み付きラウンドロビン)のウェイトおよびスレッシュホールドに基づいて、4つの出力キューを処理します。キューの1つを緊急キューとして使用できます。緊急キューが空になるまで、ほかのキューは処理されません。輻輳回避技術には、ギガビット対応イーサネット ポートで行われるテール ドロップとWeighted Random Early Detection(WRED;重み付きランダム早期検出)、10/100イーサネット ポートで行われるテール ドロップ(スレッシュホールドは1つのみ)があります。詳細については、 キューイングおよびスケジューリング を参照してください。

ポリシングおよびマーキングは出力インターフェイスで実行される場合もあります。

図30-2 基本的な QoS モデル

分類

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

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

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

非 IP トラフィックの場合は、次の方法で分類できます( 図30-3 を参照)。

・ ポートのデフォルト値を使用します。フレーム内にCoS値が格納されていない場合、スイッチは着信フレームにデフォルトのポートCoS値を割り当てます。次に、スイッチは設定可能なCoS/DSCPマップを使用し、内部DSCP値を生成します。スイッチは、内部DSCP値を使用して、トラフィックのプライオリティを表すCoS値を生成します。
・ 着信フレーム内のCoS値を信頼します(CoSを信頼するようにポートを設定します)。次に、スイッチは設定可能なCoS/DSCPマップを使用し、内部DSCP値を生成します。レイヤ2のISLフレーム ヘッダーの場合、CoS値は1バイトのユーザ フィールドの下位3ビットに格納されて伝達されます。レイヤ2の IEEE 802.1Qフレーム ヘッダーの場合、CoS値はタグ制御情報フィールドの上位3ビットに格納されて伝達されます。CoS値の範囲は0(ロー プライオリティ)〜7(ハイ プライオリティ)です。
・ 非IPトラフィックの場合、DSCPおよびIP precedenceを信頼するように設定する必要はありません。これらのいずれかの方法で設定されているポートに非IPトラフィックが着信した場合は、デフォルトのポートCoS値が割り当てられ、CoS/DSCPマップから内部DSCPが生成されます。
・ 設定されたレイヤ 2 の MAC(メディア アクセス制御)Access Control List(ACL; アクセス制御リスト)に基づいて分類します。レイヤ 2 の MAC ACL では、MAC 送信元アドレス、MAC 宛先アドレス、および EtherType フィールドを調べることができます。ACL が設定されていない場合、パケットにはベストエフォート型トラフィックを意味するデフォルトの DSCP 値(0)が割り当てられます。ACL が設定されている場合は、ポリシー マップによって指定された DSCP が着信フレームに割り当てられます。

IP トラフィックの場合は、次の方法で分類できます( 図30-3 を参照)。

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

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

・ 着信パケットのIP precedenceを信頼し(IP precedenceを信頼するようにポートを設定し)、設定可能なIP precedence/DSCPマップを使用してDSCPを生成します。IPv 4仕様では、1バイトのToSフィールドの上位3ビットがIP precedenceとして定義されています。IP precedence値の範囲は0(ロー プライオリティ)〜7(ハイ プライオリティ)です。
・ 着信パケット内に CoS 値が存在する場合はこれを信頼し、CoS/DSCP マップを使用して DSCP を生成します。
・ 設定されたIP標準、またはIPヘッダーの各フィールドを調べる拡張ACLに基づいて、分類を実行します。ACLが設定されていない場合、パケットにはベストエフォート型トラフィックを意味するデフォルトのDSCP値(0)が割り当てられます。ACLが設定されている場合は、ポリシー マップによって指定されたDSCPが着信フレームに割り当てられます。

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

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

QoS ACL に基づく分類

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

・ 許可アクションと一致した場合は(原則的には最初の一致)、指定されたQoS関連のアクションが実行されます。
・ 拒否アクションと一致した場合は、処理中のACLが省略され、次のACLが処理されます。
・ すべてのACEを調べても許可アクションとの一致が見つからなかった場合は、パケットに関するQoS処理が行われず、ベストエフォート型サービスがパケットに対して行われます。
・ インターフェイスに複数のACLが設定されている場合、許可アクションを含む最初のACLとパケットの一致が見つかるとそれ以降の検索処理は中止され、QoS処理が開始されます。

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

ACLを使用して定義されたトラフィック クラスには、ポリシーを付加できます。ポリシーにはアクションがそれぞれ指定された複数のクラスを含めることができます。ポリシーには、クラスを特定のグループとして分類する(たとえば DSCP を割り当てる)コマンドやクラスの速度制限をするコマンドが含まれます。このポリシーは、ポリシーが有効となる特定のポートに付加されます。

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

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

クラス マップは、特定のトラフィック フロー(またはクラス)をほかのすべてのトラフィックから区別し、名前を付けるメカニズムです。クラス マップでは、特定のトラフィック フローと比較してさらに分類するための基準が定義されます。この基準にはACLで定義されるアクセス グループとの一致処理、DSCPまたはIP precedence値の特定リストとの一致処理、または実際の基準(標準または拡張ACLと一致するなど)を定義する別のクラス マップに関連付けられた特定のVLAN IDリストとの一致処理を指定できます。複数のタイプのトラフィックを分類する場合は、別のクラス マップを作成し、異なる名前を付けることができます。クラス マップの基準と一致したパケットは、ポリシー マップを使用してさらに分類できます。

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

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

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

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

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

・ ポリシー マップは複数のクラス ステートメントで構成できます。
・ インターフェイスを通じて受信されるトラフィック タイプごとに、個別のポリシー マップ クラスを設定できます。
・ ポリシー マップの信頼状態およびインターフェイスの信頼状態はどちらか一方のみを設定でき、最後に設定された方が有効となります。

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

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

パケットを分類して内部 DSCP 値を割り当てたあとで、ポリシングおよびマーキング プロセスを開始できます( 図30-4 を参照)。

ポリシングでは、トラフィックの帯域幅制限を指定するポリサーが作成されます。制限を超えるパケットは、「 不適合 」になります。各ポリサーによって、適合または不適合のパケットの処理方法が指定されます。これらのアクションはマーカーによって実行されます。パケットを変更しないで通過させるアクション、パケットを廃棄するアクション、設定可能なポリシング設定DSCPマップから取得された新しいDSCP値を使用してパケットをマークダウンするアクションなどが行われます。ポリシング設定 DSCP マップの詳細については、 マッピング テーブル を参照してください。

次のタイプのポリサーを作成できます。

・ 個別

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

・ 集約

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

ポリシングは、トークン バケット アルゴリズムを使用します。各フレームがスイッチに受信されると、バケットにトークンが追加されます。バケットは内部にホールがあり、平均トラフィック レートとしてビット/秒で指定されたレートで通過します。バケットにトークンが追加されるたびにスイッチはチェックを行いバケット内に十分なスペースがあるかどうかを確認します。十分なスペースがない場合は、不適合とマークされ、指定されたポリサーの対処方法がとられます(廃棄またはマークダウン)。

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

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

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

・ デフォルトで、ポリサーは設定されていません。
・ ポリサーは物理ポートに基づいて、またはポート単位、VLAN単位でのみ設定できます(指定されたポートに対して、VLAN単位でトラフィックの帯域幅制限を指定します)。ポート単位、VLAN 単位のポリシングは、ルーテッド ポートまたは仮想(論理)インターフェイスでサポートされません。トランクまたはスタティックアクセス ポートとして設定された入力ポートでのみ、サポートされます。
・ 1つのパケットには、1 方向ごとに1つのポリサーのみを適用できます。
・ 設定できるのは平均速度および確定されたバースト パラメータのみです。
・ ポリシングは入力インターフェイスおよび出力インターフェイスで実行できます。

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

− ギガビット対応イーサネット ポートでは、128 のポリサーがサポートされています。
− 入力10/100イーサネット ポートでは、8 つのポリサーがサポートされています。
− すべての出力ポートでは、8 つのポリサーがサポートされています。
− 入力ポリサーには個別ポリサーまたは集約ポリサーを使用できます。
・ QoSが設定されたインターフェイスでは、そのインターフェイスを通じて受信されるすべてのトラフィックに対し、インターフェイスに付加されたポリシー マップによる分類、ポリシング、およびマーキングが行われます。QoS が設定されたトランクインターフェイスでは、そのインターフェイスを通じて受信される すべての VLAN 内トラフィックに対し、インターフェイスに付加されたポリシー マップによる分類、ポリシング、およびマーキングが行われます。

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

図30-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値にマッピングされます。特定のギガビット対応イーサネット ポートまたは10/100イーサネット ポートのグループに適用されるのは、DSCP/DSCP変換マップのみです。その他のすべてのマップはスイッチ全体に適用されます。

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

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

パケットのポリシングおよびマーキングのあとで、キューイングおよびスケジューリング プロセスが開始されます。ここでは次のプロセスについて説明します。

ギガビット対応ポートでのキューイングおよびスケジューリング
10/100 イーサネット ポートでのキューイングおよびスケジューリング

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

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

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

緊急キューがイネーブルの場合、WRRはこのキューが空になるまで、ほかの3つのキューを処理しません。

キューイングおよびスケジューリング プロセス中にギガビット対応イーサネット ポートで使用されるのは、輻輳管理の場合は出力キューとWRR、輻輳回避の場合はテール ドロップまたはWREDアルゴリズムです。

各ギガビット対応イーサネット ポートには4つの出力キューがあり、そのうちの1つが出力緊急キューとなります。各キューに割り当てられたバッファ スペースをウェイトの割合として設定するには、 wrr-queue queue-limit インターフェイス コンフィギュレーション コマンドを使用します。キューごとに相対的に異なる値を指定すると、相対的に異なるキュー サイズが設定されます。キュー サイズの絶対値を表示するには、 show mls qos interface interface-id statistics イネーブル EXEC コマンドを使用して FreeQ 情報を調べます。

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

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

出力緊急キューがイネーブルになるまで、WRRでは4つのキューがすべて使用されます。緊急キューがイネーブルになると、4番めの帯域幅ウェイトが無視され、比率計算から除外されます。緊急キューは優先キューです。緊急キューが空になるまで、ほかのキューは処理されません。緊急キューをイネーブルにするには、 priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。

ここで説明したコマンドを組み合わせると、特定のDSCPを持つパケットを特定のキューに格納してトラフィックのプライオリティを設定する、割り当てるキュー サイズを大きくする、特定のキューの処理回数を増やす、プライオリティが低いパケットが廃棄されるようにキューのスレッシュホールドを調整するといったことが可能になります。設定の詳細については、 ギガビット対応イーサネット ポートの出力キューの設定 を参照してください。

テール ドロップ

テール ドロップはギガビット対応イーサネット ポートのデフォルトの輻輳回避技術です。テール ドロップを使用した場合、スレッシュホールドを超えるまで、パケットはキューイングされます。特に、DSCPが最初のスレッシュホールドに割り当てられているパケットは、パケット量がスレッシュホールド以下にならないかぎりすべて廃棄されます。ただし、DSCPが2番めのスレッシュホールドに割り当てられているパケットは、2番めのスレッシュホールドを超えないかぎり、キューイングされて送信されます。

4 つの出力キューに割り当てられた 2 つのテール廃棄スレッシュホールドを変更するには、 wrr-queue threshold インターフェイス コンフィギュレーション コマンドを使用します。各スレッシュホールド値は、キューに割り当てられたキュー ディスクリプタの総数の割合です。スレッシュホールド1およびスレッシュホールド2のデフォルトは100%です。

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

テール廃棄スレッシュホールドを使用する場合は、WREDを使用できません。その逆の場合も同様です。テール ドロップがディセーブルの場合、WREDは自動的にイネーブルになり、以前の設定に戻ります(以前に設定されていない場合は、デフォルト設定に戻ります)。

WRED

シスコにより実装された Random Early Detection(RED; ランダム早期検出)は WRED と呼ばれます。WRED はほかの輻輳回避技術と異なり、発生した輻輳を制御するのではなく、輻輳を予測して回避しようとします。

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

出力インターフェイスに輻輳の兆候が現れると、WREDはパケットを選択的に廃棄し、テール ドロップの機会を減らします。キューがいっぱいになるまで待機せず、早めに一部のパケットを廃棄することで、一度に多数のパケットが廃棄されなくなります。この方法により、WREDでは伝送回線をいつでも完全に使用することが可能となります。WREDでは、送信量の少ないユーザからよりも、送信量の多いユーザからのパケットが多数廃棄され、トラフィック生成量が最大である送信元は、生成量が少ない送信元に比べて速度が低下しやすくなります。

ギガビット対応イーサネット ポートで WRED をイネーブルにし、4 つの出力キューに割り当てられる 2 つのスレッシュホールドを設定するには、 wrr-queue random-detect max-threshold インターフェイス コンフィギュレーション コマンドを使用します。各スレッシュホールドは、WREDがランダムなパケット廃棄を開始する時点を示します。スレッシュホールドを超えると、WREDはこのスレッシュホールドに割り当てられたパケットの廃棄をランダムに開始します。キューの上限に近づくにつれ、廃棄されるパケット数が増加します。キューの上限に達すると、そのスレッシュホールドに割り当てられたすべてのパケットが廃棄されます。デフォルトで、WREDはディセーブルです。

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

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

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

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

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

緊急キューがイネーブルの場合、WRRはこのキューが空になるまで、ほかの3つのキューを処理しません。

キューイングおよびスケジューリング プロセス中は出力キューを使用して、最小確保レベルとバッファ サイズを選択し、WRR を使用して輻輳管理を行います。

各10/100イーサネット ポートには4つの出力キューがあり、そのうちの1つが出力緊急キューとなります。各キューでは8つの最小確保レベルのうちの1つを利用できます。各レベルには、パケットをキューイングするためのバッファ スペースが、デフォルトで100パケット分あります。最小確保レベルに指定されたバッファがいっぱいになると、バッファ スペースが空くまでパケットが廃棄されます。

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

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

図30-7 10/100 イーサネット ポート キューの割り当て、最小確保レベル、およびバッファ サイズ

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

出力緊急キューがイネーブルになるまで、WRRでは4つのキューがすべて使用されます。緊急キューがイネーブルになると、4番めの帯域幅ウェイトが無視され、比率計算から除外されます。緊急キューは優先キューです。緊急キューが空になるまで、ほかのキューは処理されません。緊急キューをイネーブルにするには、 priority-queue out インターフェイス コンフィギュレーション コマンドを使用します。

ここで説明したコマンドを組み合わせると、特定のDSCPを持つパケットを特定のキューに格納してトラフィックのプライオリティを設定する、割り当てる最小確保バッファ サイズを大きくする、特定のキューの処理回数を増やすといったことが可能になります。設定の詳細については、 10/100 イーサネット ポートの出力キューの設定 を参照してください。

パケットの変更

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

・ IPパケットの場合は、分類中にDSCPがパケットに割り当てられます。ただし、この時点でパケットは変更されません。割り当てられたDSCPの情報のみがパケットに格納されて伝達されます。このように処理されるのは、QoSの分類およびACL検索が同時に行われ、パケットを拒否およびロギングするようにACLから指示されることがあるためです。この場合、パケットは元のDSCPが格納された状態でCPUに転送され、そこで再度ACLソフトウェアによって処理されます。ただし、ルートの検索は分類されたDSCPに基づいて行われます。
・ 非IPパケットの場合は、分類中に内部DSCPがパケットに割り当てられます。ただし、非IPパケットにはDSCPがないため、上書きは行われません。その代わり、パケットがISLまたは IEEE 802.1Qトランク ポートのいずれかを経由して送信されている場合は、内部DSCPがCoSに変換され、キューイングやスケジューリングを決定するため、およびタグにCoSプライオリティ値を書き込むために使用されます。CoSプライオリティはタグに書き込まれるため、IEEE 802.1pプライオリティを使用するCatalyst 3500シリーズXLスイッチはCatalyst 3500スイッチのQoS機能と相互運用できます。
・ ポリシング中は、IPパケットおよび非IPパケットに別のDSCPを割り当てることができます(これらのパケットが不適合で、ポリサーがDSCPのマークダウンを指定している場合)。IPパケットの場合は、このあとの処理でパケットが変更されます。非IPパケットの場合は、DSCPがCoSに変換され、キューイングおよびスケジューリングの決定に使用されます。

自動 QoS の設定

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

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

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

・ Cisco IP Phone の有無を検知します。
・ QoS 分類を設定します。
・ 出力キューを設定します。

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

生成される自動 QoS 設定
自動 QoS の設定上の影響
設定時の注意事項
旧ソフトウェア リリースからのアップグレード
VoIP 用の自動 QoS をイネーブルにする方法

生成される自動 QoS 設定

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

自動 QoS がイネーブルの場合、トラフィックの分類と出力キューの設定に入力パケット ラベルを使用します( 表30-1 を参照)。

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

VoIP 1 データ
トラフィック

VoIP 制御
トラフィック

ルーティング
プロトコル
トラフィック

STP BPDU 2 トラフィック

リアルタイム ビデオ
トラフィック

その他のすべての
トラフィック

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)

表30-2 に、生成された出力キューの自動 QoS 設定を示します。

表30-2 出力キュー用の自動 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 ラベルを信頼しないようにインターフェイスの入力分類が設定されます。スイッチは、 表30-2 の設定に応じたポートに基づいて、出力キューを設定します。
・ Cisco SoftPhone を実行しているデバイスと接続しているネットワークのエッジにあるポートで、 auto qos voip cisco-softphone インターフェイス コンフィギュレーション コマンドを入力すると、スイッチはポリシングを使用してパケットが適合か不適合かを判別し、パケットに対する処理を特定します。パケットに DSCP 値 24、26、または 46 が保有されていないか、もしくはパケットが不適合の場合、スイッチは DSCP 値を 0 に変更します。スイッチは、 表30-2 の設定に応じたポートに基づいて出力キューを設定します。
・ ネットワーク内部に接続されたポートで auto qos voip trust インターフェイス コンフィギュレーション コマンドを入力すると、スイッチは、入力パケット(トラフィックはすでに他のエッジ デバイスで分類されていることが前提です)内の、非ルーテッド ポートの CoS 値またはルーテッド ポートの DSCP 値を信頼します。スイッチは、 表30-2 の設定に応じたポートに基づいて、出力キューを設定します。

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

auto qos voip cisco-phone auto qos voip cisco-softphone または auto qos voip trust インターフェイス コンフィギュレーション コマンドを使用して自動 QoS をイネーブルにすると、スイッチはトラフィック タイプと入力パケット ラベルに基づいて自動的に QoS コンフィギュレーションを生成し、 表30-3 に示すコマンドをインターフェイスに適用します。

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

説明

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

スイッチが標準 QoS を自動的にイネーブルにし、CoS/DSCP マップ(着信パケット内の CoS 値の、DSCP 値へのマッピング)を設定します( 表30-1トラフィック タイプ、パケット ラベル、および出力キュー を参照)。

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 という名前のポリシー マップを自動 QoS の入力インターフェイスに適用します(Cisco SoftPhone 機能はイネーブル)。

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

スイッチがインターフェイスでの出力キューの使用状況を割り当てます( 表30-2出力キュー用の自動 QoS 設定 を参照)。

スイッチは出力緊急キューをイネーブルにして、WRR ウェイトをキュー 1、2、および 3 に割り当てます(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 が動作するデバイスが、非ルーテッドまたはルーテッド ポートに接続すると、スイッチはポートごとに 1 つだけ Cisco SoftPhone アプリケーションをサポートします。

・ 自動 QoS のデフォルト設定を利用するには、自動 QoS をイネーブルにしてから他の QoS コマンドを設定する必要があります。必要であれば、QoS 設定をきめ細かく調整できますが、自動 QoS コマンド設定が完了したあとに実行することを推奨します。詳細については、 自動 QoS の設定上の影響 を参照してください。
・ 自動 QoS がイネーブルになったあと、名前に AutoQoS を含むポリシー マップを修正、または同名を含むポリサーを集約しないでください。ポリシー マップを修正、またはポリサーを集約するには、そのコピーを作成し、コピーしたポリシー マップまたはポリサーに手を加えてください。生成されたものの代わりに新規のポリシー マップを使用するには、生成されたポリシー マップをインターフェイスから削除し、新しいポリシー マップをインターフェイスに適用してください。
・ スタティック アクセス、ダイナミック アクセス、音声 VLAN アクセス、およびトランク ポートで自動 QoS をイネーブルにできます。
・ デフォルトでは、CDP はすべてのインターフェイスでイネーブルに設定されています。自動 QoS を適切に機能させるには、CDP をディセーブルにしないでください。
・ ルーテッド ポートの Cisco IP Phone で自動 QoS をイネーブルにした場合、IP Phone にはスタティック IP アドレスを割り当てる必要があります。
・ このリリースでは、Cisco IP SoftPhone バージョン 1.3(3) 以降のみがサポートされます。
・ 接続されたデバイスは、Cisco CallManager バージョン 4 以降を使用する必要があります。

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

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

自動 QoS が設定済みのスイッチで、Cisco IOS Release 12.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 をイネーブルにする方法

VoIP 用の自動 QoS を 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-softphone キーワードは、Cisco IOS Release 12.2(20)EA2 以降でのみサポートされます。

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

ステップ 4

end

イネーブル EXEC モードに戻ります。

ステップ 5

show auto qos interface interface-id

設定を確認します。

このコマンドは、自動 QoS がイネーブルだったインターフェイスの QoS コマンドを表示します。 show running-config イネーブル EXEC コマンドを使用すると、自動 QoS 設定およびユーザの修正部分を表示できます。

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

インターフェイスで自動 QoS をディセーブルにするには、no auto qos voip インターフェイス コンフィギュレーション コマンドを使用します。このコマンドを入力すると、スイッチは自動 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 設定を識別できます。

自動 QoS に影響を受ける QoS 設定に関する情報を表示するには、次のいずれかのコマンドを使用します。

show mls qos
show mls qos maps cos-dscp
show mls qos interface [ interface-id ] [ buffers | queueing ]

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

自動 QoS の設定例

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

図30-8 自動 QoS を設定したネットワークの例

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

自動 QoS コマンドを入力する前にいかなる標準 QoS コマンドも設定しないでください。QoS 設定をきめ細かく調整できますが、自動 QoS 設定が完了したあとに実行することを推奨します。

VoIP トラフィックをほかのすべてのトラフィックよりも優先させるために、QoS ドメインのエッジにあるスイッチを設定するには、イネーブル EXEC モードで次の手順を実行します。

コマンド

目的

ステップ 1

debug auto qos

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

ステップ 2

configure terminal

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

ステップ 3

cdp enable

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

ステップ 4

interface interface-id

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

ステップ 5

auto qos voip cisco-phone

インターフェイスで自動 QoS をイネーブルにし、インターフェイスが Cisco IP Phone に接続されていることを指定します。

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

ステップ 6

exit

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

ステップ 7

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

ステップ 8

interface interface-id

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

ステップ 9

auto qos voip trust

インターフェイスで自動 QoS をイネーブルにし、インターフェイスが信頼されるルータやスイッチに接続されていることを指定します。

ステップ 10

end

イネーブル EXEC モードに戻ります。

ステップ 11

show auto qos

設定を確認します。

このコマンドは、自動 QoS がイネーブルだったインターフェイスの QoS コマンドを表示します。 show running-config イネーブル EXEC コマンドを使用すると、自動 QoS 設定およびユーザの修正部分を表示できます。

自動 QoS に影響を受ける QoS 設定に関する情報については、「自動 QoS 情報の表示」(p.28-23)を参照してください。

ステップ 12

copy running-config startup-config

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

標準 QoS の設定

標準QoSを設定する前に、次の内容をすべて把握してください。

・ 使用するアプリケーションのタイプおよびネットワークのトラフィック パターン
・ トラフィックの特徴およびネットワークの要求。トラフィック バーストの有無。音声およびビデオ ストリーム用に帯域幅を確保する必要性
・ 帯域要件およびネットワーク速度
・ ネットワークで輻輳が発生する場所

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

標準 QoS のデフォルト設定
標準 QoS 設定時の注意事項
QoS をグローバルでイネーブルにする方法
ポートの信頼状態による分類の設定
QoS ポリシーの設定
DSCP マップの設定
ギガビット対応イーサネット ポートの出力キューの設定
10/100 イーサネット ポートの出力キューの設定

標準 QoS のデフォルト設定

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

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

ポート タイプ

QoS
ステート

出力
トラフィック(DSCP 値および CoS 値)

キュー

キュー
ウェイト

テール廃棄
スレッシュホールド

キューへのCoSマッピング

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

ディセーブル

通過

すべてのキューRAMがキュー1に割り当てられます(緊急キューはなし)。

-

100%、100%

WRED はディセーブルです。

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

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

ディセーブル

通過

8つの最小確保レベルのバッファ サイズはそれぞれ100パケットです。キューによりレベルが異なります。

-

-

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

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

表30-5 に、QoS がイネーブルの場合にそのまま使用できる標準 QoS のデフォルト設定を示します。

表30-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 です。

デフォルトでは、すべてのポートの信頼状態は信頼されない状態になっています。

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

ポリサーは設定されていません。

デフォルトの CoS/DSCP マップについては、 表30-6 を参照してください。

デフォルトの IP precedence/DSCP マップについては、 表30-7 を参照してください。

デフォルトの DSCP/CoS マップについては、 表30-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の分類、ポリシング、マッピング、およびキューイングを設定する必要があります。EtherChannelのすべてのポートで、QoS設定を統一するかどうかを決定します。
・ トラフィックは入力物理ポートに基づいて、または入力ポート単位、VLAN単位で分類できます。スイッチ仮想インターフェイス レベルでは、トラフィックを分類できません。
・ クラス マップごとに 1 つの ACL、および 1 つの match クラス マップ コンフィギュレーション コマンドのみを使用できます。ACLには、フィールドをパケットの内容と比較するコマンド(ACE)を複数個設定できます。
・ ポート単位、VLAN 単位でトラフィックを分類する場合は、 class-map グローバル コンフィギュレーション コマンドに match-all キーワードを指定して使用する必要があります。詳細については、 クラス マップによるポート単位、VLAN 単位のトラフィック分類 を参照してください。
・ スイッチにはVLANラベルが256個しかなく(いくつかはデフォルト用に常に内部で使用されます)、VLANマップとポート単位、VLAN単位のポリシングで、これらのラベルが共用されます。クラス マップ内で多数のVLANが使用されている場合に、これらのVLAN上で複数のACLアクションを実行したり、複数のVLANマップを適用すると、使用可能なVLANラベルが不足することがあります。その結果、TCAMエントリがプログラムされず、機能が動作しなくなります。この QoS 機能で使用される VLAN ラベル数を表示するには、 show tcam qos tcam-id port-labels vlan-labels イネーブル EXEC コマンドを使用します。
・ 設定されたIP拡張ACLとIPフラグメントを比較して、QoSを実行することはできません。IPフラグメントはベストエフォート型として送信されます。IP フラグメントは IP ヘッダー内のフィールドで指定されます。
・ 設定されたIP拡張ACLとIPオプションを比較して、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を適用した場合、このACLはトンネル ポートを含むVLANには機能しません。
・ 着信トラフィックの分類情報を表示するのに、 show policy-map interface イネーブル EXEC コマンドを使用しないでください。 interface キーワードはサポートされていないので、表示されている統計情報は無視してください。代わりに、 mls qos monitor dscp dscp1 ... dscp8 インターフェイス コンフィギュレーション コマンドを使用してモニタする DSCP を指定し、そのあと show mls qos interface interface-id statistics イネーブル EXEC コマンドを使用してください。これらのコマンドの詳細については、このリリースのコマンド リファレンスを参照してください。

QoS をグローバルでイネーブルにする方法

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

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 をイネーブルにしたあとのデフォルトの設定については、 表30-4 を参照してください。

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

ポートの信頼状態による分類の設定

ここでは、ポートの信頼状態を使用して着信トラフィックを分類する方法について説明します。

QoS ドメイン内のポートの信頼状態の設定
インターフェイスの CoS 値の設定
信頼境界の設定によるポート セキュリティの確保
パススルー モードのイネーブル化
別の QoS ドメインとの境界ポートでの DSCP 信頼状態の設定

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

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

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

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

コマンド

目的

ステップ 1

configure terminal

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

ステップ 2

mls qos

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

ステップ 3

interface interface-id

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

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

ステップ 4

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

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

デフォルトで、ポートは信頼される状態になっていません。

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

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

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

ポートを信頼されない状態に戻すには、 no mls qos trust インターフェイス コンフィギュレーション コマンドを使用します。

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

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

QoS は、CoS 値を信頼するポートおよび信頼しないポートで受信されたタグなしフレームに、 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です。
override キーワードを使用し、着信パケットの設定済みの信頼状態を上書きし、デフォルトのポート CoS 値をすべての着信パケットに適用します。デフォルトでは、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 をスイッチ ポートに接続し( 図30-9QoS ドメイン内のポートの信頼状態 を参照)、電話の背面から出力されるデータ パケットを生成するデバイスをカスケード接続します。Cisco IP Phone は、音声パケットの CoS レベルをハイ プライオリティ(CoS = 5)にし、さらにデータ パケットの CoS レベルをロー プライオリティ(CoS = 0)にすることで、共有データ リンクの音質を保証します。通常の場合、電話機からスイッチに送信されたトラフィックは、IEEE 802.1Qヘッダーを使用するタグによってマーキングされます。このヘッダーには VLAN 情報、およびパケットのプライオリティを決定する CoS の 3 ビットフィールドが格納されます。

ほとんどの Cisco IP Phone 設定では、電話機からスイッチに送信されたトラフィックは信頼され、音声トラフィックのプライオリティがネットワーク内のほかのタイプのトラフィックよりも高くなります。 mls qos trust cos インターフェイス コンフィギュレーション コマンドを使用することにより、ポートで受信されたすべてのトラフィックの CoS ラベルを信頼するように、電話機の接続先であるスイッチ ポートを設定できます。 mls qos trust dscp インターフェイス コンフィギュレーション コマンドを使用することにより、ポートで受信されたすべてのトラフィックの DSCP ラベルを信頼するように、電話機の接続先であるルーテッド ポートを設定できます。

信頼できる設定にしてあると、ユーザが電話機をバイパスして PC をスイッチに直接接続した場合、信頼境界機能により、ハイプライオリティ キューの誤用を防ぐこともできます。信頼境界がないと、PC によって生成された CoS ラベルは、スイッチによって信頼されます(信頼された 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 値を信頼するようにします。

デフォルトで、ポートは 信頼される状態 になっていません。

ステップ 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 の設定を、両方の値を含むパケットから独立させることができます。 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

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

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

ステップ 3

mls qos trust cos pass-through dscp

または

mls qos trust dscp pass-through cos

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

または

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

ステップ 4

end

イネーブル EXEC モードに戻ります。

ステップ 5

show mls qos interface [ interface-id ]

設定を確認します。

ステップ 6

copy running-config startup-config

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

パススルー モードをディセーブルにするには、 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 を信頼するようにドメインの境界に位置するスイッチ ポートを設定できます( 図30-10 を参照)。それにより、受信ポートでは信頼するDSCP値をそのまま使用し、QoSの分類手順が省略されます。2つのドメインで異なるDSCP値が使用されている場合は、ほかのドメイン内での定義に合わせて一連のDSCP値を変換するDSCP/DSCP変換マップを設定できます。

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

ポートでDSCPを信頼する状態に設定し、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 には、DSCP 値を 1 つ入力します。

DSCPの範囲は0〜63です。

ステップ 4

interface interface-id

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

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

ステップ 5

mls qos trust dscp

DSCPを信頼する状態のポートとして、入力ポートを設定します。

ステップ 6

mls qos dscp-mutation dscp-mutation- name

DSCPを信頼する状態の指定の入力ポートにマップを適用します。

複数のギガビット対応イーサネット ポートにマップを適用できます。ただし、10/100イーサネット ポートの場合は、12個のポートからなる1つのグループに対して、DSCP/DSCP変換マップを1つのみ付加できます。たとえば、FastEthernet 1〜12ポート、FastEthernet 13〜24ポート、GigabitEthernet 1、GigabitEthernet 2はそれぞれが1つのグループです。グループ内のいずれかのポートに変換マップを適用すると、同じグループ内のすべてのポートが同じマップに自動的に設定されます。

ステップ 7

end

イネーブル EXEC モードに戻ります。

ステップ 8

show mls qos maps dscp-mutation

設定を確認します。

ステップ 9

copy running-config startup-config

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

DSCP を信頼しない状態にポートを戻すには、 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トラフィックを分類するには、IP標準ACLまたはIP拡張ACLを使用します。非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 を指定する場合は、送信元に適用するワイルドカード ビットをドット付き 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 グローバル コンフィギュレーション コマンドを使用します。

次に、任意の送信元から任意の宛先へのIPトラフィック(DSCP値は32)を許可する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

非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 を指定する場合は、無視するビット位置にワイルドカード ビットを入力します。
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 グローバル コンフィギュレーション コマンドを使用します。クラス マップが、特定のトラフィック フローとの比較を行い、さらにそれを分類するために使用する条件を定義します。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標準ACLまたはIP拡張ACL、非IPトラフィックの場合はレイヤ2のMAC ACLを作成します。必要な回数だけこのコマンドを繰り返します。

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

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

ステップ 4

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

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

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

・ (任意)このクラス マップのすべての一致ステートメントに対して論理積を実行するには、 match-all キーワードを使用します。この場合は、クラス マップ内のすべての一致条件と一致する必要があります。
・ (任意)このクラス マップのすべての一致ステートメントに対して論理和を実行するには、 match-any キーワードを使用します。この場合は、1つまたは複数の一致条件と一致する必要があります。
class-map-name には、クラス マップの名前を指定します。

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

(注) 各クラス マップで使用できる match コマンドは 1 つのみです。このため、 match-all および match-any キーワードを両方指定しても機能は変わりません。

ステップ 5

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

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

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

各クラス マップで使用できる一致条件および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です。

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

ステップ 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 単位のパケット分類を定義するには、次の注意事項に従ってください。

match-all キーワードを指定し、 class-map グローバル コンフィギュレーション コマンドを使用する必要があります。
・ ポート単位、VLAN 単位の分類はポート単位の機能で、冗長リンクでは機能しません。トランクまたはスタティックアクセス ポートとして設定された入力ポートでのみ、サポートされます。
・ クラス マップには、次の順序で 2 つの match コマンドを設定する必要があります。 match vlan vlan-list クラスマップ コンフィギュレーション コマンドを 1 つ、そして match class-map class-map-name クラスマップ コンフィギュレーション コマンドを 1 つです。 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 ポリシーマップ コンフィギュレーション コマンドを使用し、ポリシー マップの作成中にクラス マップを作成することもできます。詳細については、 ポリシー マップによるトラフィックの分類、ポリシング、およびマーキング を参照してください。

クラス マップを作成し、ポート単位、VLAN単位でトラフィックを分類するための一致条件を定義するには、イネーブルEXECモードで次の手順を実行します。

コマンド

目的

ステップ 1

configure terminal

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

ステップ 2

mls qos

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

ステップ 3

class-map match-any class-map-name

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

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

・ このクラス マップのすべての一致ステートメントに対して論理和を実行するには、 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

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

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

・ このクラス マップのすべての一致ステートメントに対して論理積を実行するには、 match-all キーワードを使用します。この場合は、クラス マップ内のすべての一致条件と一致する必要があります。
class-map-name には、ステップ 3 で作成したクラス マップの名前を指定します。

ステップ 7

match vlan vlan-list

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

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

vlan-list には、着信パケットと比較する VLAN リストを指定します。最大 30 の VLAN ID を入力できます。VLAN の範囲を入力するのにハイフンを使用します。VLAN 範囲は 2 つの VLAN ID と数えられます。各 VLAN を区切るには、スペースを使用します。指定できる範囲は1〜4094です。

入力できる match vlan コマンドは 1 つのみです。このコマンドは、 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 という名前のクラス マップを設定する例を示します。2 番めのクラス マップ( vlan_class )は、VLAN 10、VLAN 20 〜 30、および VLAN 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 つのポリシー マップのみを適用できます。複数のインターフェイスおよび方向に、同じポリシー マップを適用できます。
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標準ACLまたは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 ]

信頼状態を設定し、これによって内部DSCP値のソースとしてQoSで使用される値を選択します。

(注) このコマンドと set コマンドの両方を、同じポリシー マップ内で設定することはできません。 trust コマンドを入力する場合は、ステップ 7 を省略してください。

デフォルトで、ポートは 信頼される状態 になっていません。このコマンドを入力するときにキーワードを指定しないと、デフォルトは dscp になります。

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

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

(注) mls qos cos policy-map グローバル コンフィギュレーション コマンドを使用する場合、 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です。

(注) mls qos cos policy-map グローバル コンフィギュレーション コマンドを使用する場合、 cos new-cos キーワードを使用しなければなりません。

・ 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 を指定する場合は、平均トラフィック速度をビット/秒単位で指定します。指定できる範囲は8000〜1000000000です。
burst-byte には、標準バースト サイズをバイト単位で指定します。指定できる範囲は8000〜20000000です。

(注) コマンドライン ヘルプのストリングに示されている値の範囲は広範ですが、 rate-bps オプションに設定済みポート速度を超える値を指定したり、 burst-byte オプションに 2000000 バイトを超える値を指定することはできません。制限値を超える値を入力すると、インターフェイスにポリシー マップを付加するときに拒否されます。

・ (任意)速度を超えた場合の対処方法を指定します。パケットを廃棄するには、 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、VLAN 20 〜 30、および VLAN 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、VLAN 20 〜 30、および VLAN 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 には、平均トラフィック速度をビット/秒単位で指定します。指定できる範囲は8000〜1000000000です。
burst-byte には、標準バースト サイズをバイト単位で指定します。指定できる範囲は8000〜2000000です。

(注) コマンドライン ヘルプのストリングに示されている値の範囲は広範ですが、 rate-bps オプションに設定済みポート速度を超える値を指定したり、 burst-byte オプションに 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変換マップを1つのみ付加できます。

CoS/DSCP マップの設定

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

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

表30-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 map 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マップを使用します。

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

表30-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 map 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マップを使用します。

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

表30-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値が8の場合、対応する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 には、DSCP 値を 1 つ入力します。

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

ステップ 3

interface interface-id

マップに付加するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

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

ステップ 4

mls qos trust dscp

DSCPを信頼する状態のポートとして、入力ポートを設定します。

ステップ 5

mls qos dscp-mutation dscp-mutation- name

DSCPを信頼する状態の指定の入力ポートにマップを適用します。

dscp-mutation- name には、ステップ 2 で指定された変換マップ名を入力します。

複数のギガビット対応イーサネット ポートにマップを適用できます。ただし、10/100イーサネット ポートの場合は、12個のポートからなる1つのグループに対して、DSCP/DSCP変換マップを1つのみ付加できます。たとえば、FastEthernet 1〜12ポート、FastEthernet 13〜24ポート、GigabitEthernet ポート 1、GigabitEthernet ポート 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入力値をマッピングするには、イネーブル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 を指定します。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に、CoS値4および5をキュー2に、CoS値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が最初のスレッシュホールドに割り当てられているパケットは、スレッシュホールド以下の値に戻るまですべて廃棄されます。ただし、DSCPが2番めのスレッシュホールドに割り当てられているパケットは、2番めのスレッシュホールドを超えないかぎり、キューイングされて送信されます。

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

テール廃棄スレッシュホールドを使用する場合は、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 ] インターフェイス コンフィギュレーション コマンドを使用します。

次に、出力インターフェイス(GigabitEthernet ポート 1)のキュー1のテール廃棄スレッシュホールドを10%と100%、キュー2を40%と100%、キュー3を60%と100%、キュー4を80%と100%に設定する例を示します。着信パケットの DSCP を信頼し、DSCP 0、8、16、24、32、40、48、56 をスレッシュホールド 1 に、DSCP 10、20、30、40、50、60 をスレッシュホールド 2 にマッピングするように、入力インターフェイス(GigabitEthernet ポート 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が最初のスレッシュホールドに割り当てられているパケットは、パケット量が最初のスレッシュホールドを超えた場合、すべてランダムに廃棄されます。ただし、DSCPが2番めのスレッシュホールドに割り当てられているパケットは、2番めのスレッシュホールドを超えないかぎり、キューイングされて送信されます。各スレッシュホールドは、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 を指定します。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

DSCP値を出力キューのWRED廃棄スレッシュホールドにマッピングします。

デフォルトでは、すべての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 ] インターフェイス コンフィギュレーション コマンドを使用します。

次に、出力インターフェイス(GigabitEthernet ポート1)のキュー1のWRED廃棄スレッシュホールドを50%と100%、キュー2を70%と100%、キュー3を50%と100%、キュー4を70%と100%に設定する例を示します。着信パケットのDSCPを信頼し、DSCP 0、8、16、24、32、40、48、56をスレッシュホールド1に、DSCP 10、20、30、40、50、60をスレッシュホールド2にマッピングするように、入力インターフェイス(GigabitEthernet ポート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はこのキューが空になるまで、ほかの3つのキューを処理しません。

出力緊急キューをイネーブルにするには、イネーブル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)がイネーブルになるまで、WRR では 4 つのキューがすべて使用されます。緊急キューがイネーブルになると、 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/1、4/10 です。

Switch(config)# interface gigabitethernet0/1

Switch(config-if)# wrr-queue bandwidth 1 2 3 4

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

ここでは、10/100イーサネット ポートの出力キューを設定する方法について説明します。ギガビット対応イーサネット ポートの設定方法については、 ギガビット対応イーサネット ポートの出力キューの設定 を参照してください。

ネットワークおよびQoSソリューションが複雑な場合は、次に示す作業をすべて実行しなければならない場合があります。次の特性を決定する必要があります。

・ 各キューに割り当てるパケット(CoS値を使用)
・ 各キューに割り当てる使用可能なバッファ スペース
・ いずれかのキューを緊急(ハイプライオリティ)出力キューにするかどうか
・ 各キューに割り当てる使用可能な帯域幅

ここでは次の設定情報について説明します。

出力キューを選択するための CoS 値のマッピング
最小確保レベルの設定
出力緊急キューの設定
出力キュー間の帯域幅の割り当て

出力キューを選択するための CoS 値のマッピング

いずれかの出力キューを選択するためのCoS入力値をマッピングするには、イネーブル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 を指定します。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に、CoS値4および5をキュー2に、CoS値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 を指定します。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はこのキューが空になるまで、ほかの3つのキューを処理しません。

出力緊急キューをイネーブルにするには、イネーブル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)がイネーブルになるまで、WRR では 4 つのキューがすべて使用されます。緊急キューがイネーブルになると、 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 情報を表示するには、 表30-9 に示すイネーブル EXEC コマンドを 1 つまたは複数組み合わせて使用します。

表30-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 ]

出力キューの設定および CoS/出力キュー マップ、ポリサーが設定されているインターフェイス、入出力統計情報(廃棄されたバイト数を含む)など、インターフェイス レベルの QoS 情報を表示します。 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ポリシー マップを表示します。

標準 QoS の設定例

ここでは、既存のネットワークおよびネットワークの変更計画に基づいて、QoS 機能をすばやく実装するための QoS 移行パスについて説明します( 図30-11 を参照)。具体的な内容は次のとおりです。

既存の配線クローゼットの QoS 設定
インテリジェントな配線クローゼットの QoS 設定
ディストリビューション レイヤの QoS 設定
図30-11 ネットワークの QoS 設定例

既存の配線クローゼットの QoS 設定

図30-11 に、例として、Catalyst 3500 XL および 2900 XL スイッチの既存の配線クローゼットを示します。これらのスイッチでは、QoS ベースの IEEE 802.1p CoS 値をサポートする Cisco IOS リリース 12.0(5)XP 以降が稼働しています。QoS による分類では、各フレームにプライオリティを示す CoS 値を割り当て、プライオリティの高いトラフィックを優先させます。

Catalyst 3500 XL および Catalyst 2900 XL スイッチの入力ポートでタグなし(ネイティブ)イーサネット フレームを分類するには、ポートごとにデフォルトの CoS プライオリティを設定します( switchport priority default default-priority-id インターフェイス コンフィギュレーション コマンドを使用)。タグ情報のあるISLまたはIEEE 802.1Qフレームには、ヘッダー フレームのプライオリティ値が使用されます。Catalyst 3524-PWR XL および Catalyst 3548 XL スイッチの場合、このプライオリティ値をデフォルト値で上書きするには、 switchport priority default override インターフェイス コンフィギュレーション コマンドを使用します。Catalyst 3500 XL、Catalyst 2950、および上書き機能を備えていないその他の Catalyst 2900 XL モデルの場合、ディストリビューション レイヤの Catalyst 3550-12T スイッチを使用して IEEE 802.1p CoS 値を上書きするには、 mls qos cos override インターフェイス コンフィギュレーション コマンドを使用します。

Catalyst 3500 XL および Catalyst 2900 XL スイッチの場合、CoS はフレーム タグまたはポート情報に基づき、ノーマルプライオリティの送信キューおよびハイプライオリティの送信キューを持つ各出力ポートを設定します。ノーマルプライオリティ キュー内のフレームは、ハイプライオリティ キューのフレームのあとに転送されます。IEEE 802.1p CoS 値が 0 〜 3 であるフレームはノーマルプライオリティの送信キューに格納され、CoS 値が 4 〜 7 のフレームは緊急(ハイプライオリティ)キューに格納されます。

インテリジェントな配線クローゼットの QoS 設定

図30-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を定義し、IPアドレスが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/出力キュー マップを設定します。

デフォルトの 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 設定

図30-11 に、例として、ディストリビューション レイヤ スイッチ(Catalyst 3550 スイッチ)を示します。この例では、ディストリビューション レイヤ スイッチの設定手順に重点を置いています。分類はネットワークのエッジにあるスイッチで実行されるため、ディストリビューション レイヤのスイッチで行われる分類ステップは少なくなります。

既存の配線クローゼットに接続した場合、ディストリビューション レイヤ スイッチの
GigabitEthernet 0/1 インターフェイスは、受信した CoS 値を信頼するように設定されます。この状況では、マルチレイヤ スイッチのデフォルトのCoS/DSCPマップを使用できます。デフォルトのマップ設定の詳細については、 CoS/DSCP マップの設定 を参照してください。

インテリジェントな配線クローゼットに接続した場合、ディストリビューション レイヤ スイッチの GigabitEthernet 0/2 インターフェイスは、受信した DSCP 値を信頼するように設定されます。出力インターフェイス上でWREDが輻輳回避制御を行えるように、この入力インターフェイスでDSCP/スレッシュホールド マップも設定する必要があります。デフォルトでは、すべてのDSCP値がスレッシュホールド1にマッピングされます。

デフォルト設定のスイッチ マップをいくつか設定する必要があります。設定の目的は、DSCP値56を持つパケットのみが緊急キュー(キュー4)に送信されるようにすることです。デフォルトのCoS/出力キュー マップでも行えますが、その場合は、DSCP値57〜63がCoS 5にマッピングされるように、DSCP/CoSマップを設定する必要があります。

出力インターフェイスである GigabitEthernet 0/5 インターフェイスでは、 wrr-queue bandwidth インターフェイス コンフィギュレーション コマンドを使用し、WRR ウェイトを設定する必要があります。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

入力DSCP値を出力キューのWREDスレッシュホールドにマッピングします。

デフォルトの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/CoSマップでは、最大8 つのDSCP値をスペースで区切って入力します。

たとえば、DSCP値57〜63をCoS 5にマッピングする場合は、次のように入力します。

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

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


1.

VoIP = Voice over IP

2.

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

3.

バイトまたはパケットの統計情報をハードウェアで収集する、最大 16 個の DSCP 値を定義するには、 mls qos monitor { bytes | dscp dscp1 ... dscp8 | packets } インターフェイス コンフィギュレーション コマンドおよび show mls qos interface statistics イネーブル EXEC コマンドを使用します。




業種別ソリューション | ネットワーキングソリューション | 製品 & ソリューション | 購入方法 | テクニカルサポート | トレーニング & イベント | パートナー | シスコシステムズ
ホーム | ログイン | ユーザー登録 | フィードバック | ヘルプ
© 1992-2008 Cisco Systems, Inc. All rights reserved. ご利用条件 | プライバシー ステートメント | クッキーポリシー | シスコの商標