Home|Log In|Register|Feedback|Help 
  
Select a Location / Language
Japan: Japanese
 
日本語マニュアル一覧
スイッチ
Catalyst 3550 シリーズ
Catalyst 3550 マルチレイヤ スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(25)SEC
はじめに
このマニュアルについて
図一覧
表一覧
概要
CLIの使用方法
スイッチのIPアドレスおよびデフォルト ゲートウェイの割り当て
IE2100 CNSエージェントの設定
スイッチのクラスタ設定
スイッチの管理
スイッチベースの認証の設定
IEEE 802.1Xポートベースの認証の設定
インターフェイス特性の設定
SmartPortマクロの設定
VLANの設定
VTPの設定
音声VLANの設定
IEEE 802.1Qおよびレイヤ2プロトコル トンネリングの設定
STPの設定
MSTPの設定
オプションのスパニングツリー機能の設定方法
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)SECでサポートされていないCLIコマンド

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

この章では、標準の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パケット内のこれらの特殊ビットについて説明します。 図29-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です。

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

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

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

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

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

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

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

基本的なQoSモデル

図29-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つのみ)があります。詳細については、 キューイングおよびスケジューリング を参照してください。

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

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

分類

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

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

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

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

ポートのデフォルト値を使用します。フレーム内にCoS値が格納されていない場合、スイッチは着信フレームにデフォルトのポートCoS値を割り当てます。次に、スイッチは設定可能なCoS/DSCPマップを使用し、内部DSCP値を生成します。スイッチは、内部DSCP値を使用して、トラフィックのプライオリティを表すCoS値を生成します。
着信フレーム内のCoS値を信頼します(CoSを信頼するようにポートを設定します)。次に、スイッチは設定可能なCoS/DSCPマップを使用し、内部DSCP値を生成します。レイヤ2のISLフレーム ヘッダーの場合、CoS値は1バイトのユーザ フィールドの下位3ビットに格納されて伝達されます。レイヤ2のIEEE 802.1Qフレーム ヘッダーの場合、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トラフィックの場合は、次の方法で分類できます( 図29-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が着信フレームに割り当てられます。

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

図29-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値を割り当てたあとで、ポリシングおよびマーキング プロセスを開始できます( 図29-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つのポリサーのみを適用できます。
設定できるのは平均速度および確定されたバースト パラメータのみです。
ポリシングは入力インターフェイスおよび出力インターフェイスで実行できます。

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

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

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

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

マッピング テーブル

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

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

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

ポリシング中に、QoSはIPパケットまたは非IPパケットに別のDSCP値を割り当てることができます(パケットが不適合で、マークダウンされるDSCP値がポリサーによって指定されている場合)。この設定可能なマップをポリシング設定DSCPマップと呼びます。
トラフィックがスケジューリング段階に到達する前に、QoSは設定可能なDSCP/CoSマップを使用し、内部DSCP値からCoSを取得します。CoS/出力キュー マップのCoS値によって、出力処理に使用される出力キューが4つの中から1つ選択されます。

CoS/DSCP、DSCP/CoS、およびIP precedence/DSCPマップのデフォルト値は、ネットワークによって適切でない場合もあります。

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

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

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

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

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

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

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

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

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

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

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

各キューに2つの廃棄スレッシュホールドを割り当ててから、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イーサネット ポートでのキューイングおよびスケジューリング

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

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

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

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

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

図29-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 グローバル コンフィギュレーション コマンドを使用します。

図29-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がイネーブルの場合、トラフィックの分類と出力キューの設定に入力パケット ラベルを使用します( 表29-1 を参照)。

表29-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)

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

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

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

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

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

説明

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

スイッチが標準QoSを自動的にイネーブルにし、CoS/DSCPマップ(着信パケット内のCoS値の、DSCP値へのマッピング)を設定します( 表29-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

スイッチがインターフェイスでの出力キューの使用状況を割り当てます( 表29-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を実装する方法について説明します( 図29-8 を参照)。QoSのパフォーマンスを最適化するには、ネットワーク内のすべてのデバイスで自動QoSをイネーブルにする必要があります。

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

図29-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

信頼できるスイッチまたはルータに接続していると確認できるスイッチ ポートを指定して、インターフェイス コンフィギュレーション モードを開始します。 図29-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のデフォルト設定

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

表29-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値)は変更されないため、信頼されるポート、信頼されないポートの概念はありません。

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

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

ポート タイプ

QoSステート

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

キュー

キュー ウェイト

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

キューへのCoSマッピング

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

イネーブル

(ポリシングなし)

DSCP=0

CoS=0

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

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

各キューのウェイトは同じです。

100%、100%

WREDはディセーブルです。

0、1:キュー1

2、3:キュー2

4、5:キュー3

6、7:キュー4

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

イネーブル

(ポリシングなし)

DSCP=0

CoS=0

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

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

各キューのウェイトは同じです。

-

0、1:キュー1

2、3:キュー2

4、5:キュー3

6、7:キュー4

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

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

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

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

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

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

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

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

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

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

標準QoS設定時の注意事項

QoSの設定を開始する前に、次の点に注意してください。

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

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

スイッチにEtherChannelポートが設定されている場合は、EtherChannelを構成する各物理ポートでQoSの分類、ポリシング、マッピング、およびキューイングを設定する必要があります。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をイネーブルにしたあとのデフォルトの設定については、 表29-4 を参照してください。

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

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

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

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

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

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

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

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

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

mls qos

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

ステップ 3

interface interface-id

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

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

ステップ 4

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

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

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

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

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

図29-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

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

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

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

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

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

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

ステップ 4

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

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

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

access-group acl-index-or-name を指定する場合は、ACLの番号または名前を指定します。
ip dscp dscp-list を指定する場合は、着信パケットと比較するIP DSCP値を8個まで入力します。各値はスペースで区切ります。指定できる範囲は0〜63です。
ip precedence ip-precedence-list を指定する場合は、着信パケットと比較するIP precedence値を8個まで入力します。各値はスペースで区切ります。指定できる範囲は0〜7です。

ステップ 5

exit

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

ステップ 6

class-map match-all class-map-name

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

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

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

ステップ 7

match vlan vlan-list

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

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

vlan-list には、着信パケットと比較するVLANリストを指定します。最大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〜VLAN 30、および40のトラフィックとクラス マップ( dscp_class )との一致を調べます。

Switch(config)# class-map match-any dscp_class

Switch(config-cmap)# match ip dscp 9

Switch(config-cmap)# exit

Switch(config)# class-map match-all vlan_class

Switch(config-cmap)# match vlan 10 20-30 40

Switch(config-cmap)# match class-map dscp_class

Switch(config-cmap)# exit

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

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

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

ポリシー マップには、それぞれ異なる一致条件およびポリサーが指定された、複数のクラス ステートメントを追加できます。
インターフェイスを通じて受信されるトラフィック タイプごとに、個別のポリシー マップ クラスを設定できます。
ポリシー マップの信頼状態は、インターフェイスの信頼状態よりも優先されます。

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

各インターフェイスの方向ごとに、1つのポリシー マップのみを適用できます。複数のインターフェイスおよび方向に、同じポリシー マップを適用できます。
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〜VLAN 30、および40で受信されたトラフィックとの一致を調べます。

Switch (config)# mls qos cos policy-map

Switch (config)# class-map match-all class1

Switch (config-cmap)# match vlan 10 20-30 40

Switch (config-cmap)# match class-map some_class

Switch (config-cmap)# exit

Switch (config)# policy-map policymap1

Switch (config-pmap)# class class1

Switch (config-pmap-c)# trust dscp

Switch (config-pmap-c)# set cos 3

Switch (config-pmap-c)# exit

Switch (config-pmap)# exit

Switch (config)# interface gigabitethernet0/1

Switch(config-if)# service-policy input policymap1

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

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

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

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

mls qos

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

ステップ 3

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

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

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

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

aggregate-policer-name を指定する場合は、集約ポリサーの名前を指定します。
rate-bps を指定する場合は、平均トラフィック速度をビット/秒単位で指定します。指定できる範囲は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マップを使用します。

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

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

CoS値

DSCP値

0

0

1

8

2

16

3

24

4

32

5

40

6

48

7

56

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

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

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

mls qos map cos-dscp dscp1...dscp8

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

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

ステップ 3

end

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

ステップ 4

show mls qos maps cos-dscp

設定を確認します。

ステップ 5

copy running-config startup-config

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

デフォルトのマップに戻すには、 no mls qos 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マップを使用します。

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

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

IP precedence値

DSCP値

0

0

1

8

2

16

3

24

4

32

5

40

6

48

7

56

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

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

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

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

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

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

ステップ 3

end

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

ステップ 4

show mls qos maps ip-prec-dscp

設定を確認します。

ステップ 5

copy running-config startup-config

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

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

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

Switch# configure terminal

Switch(config)# mls qos map ip-prec-dscp 10 15 20 25 30 35 40 45

Switch(config)# end

Switch# show mls qos maps ip-prec-dscp

IpPrecedence-dscp map:

ipprec: 0 1 2 3 4 5 6 7

--------------------------------

dscp: 10 15 20 25 30 35 40 45

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

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

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

ポリシング設定DSCPマップを変更するには、イネーブルEXECモードで次の手順を実行します。

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

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

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

dscp-listを指定する場合は、最大8つのDSCP値をスペースで区切って入力します。次に to キーワードを入力します。
mark-down-dscpを指定する場合は、対応するポリシング設定(マークダウンされる)DSCP値を入力します。

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

ステップ 3

end

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

ステップ 4

show mls qos maps policed-dscp

設定を確認します。

ステップ 5

copy running-config startup-config

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

デフォルトのマップに戻すには、 no mls qos 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マップを使用します。

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

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

DSCP値

CoS値

0〜7

0

8〜15

1

16〜23

2

24〜31

3

32〜39

4

40〜47

5

48〜55

6

56〜63

7

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

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

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

mls qos map dscp-cos dscp-list to cos

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

dscp-listを指定する場合は、最大8つのDSCP値をスペースで区切って入力します。次に to キーワードを入力します。指定できる範囲は0〜63です。
cosを指定する場合は、DSCP値に対応するCoS値を入力します。指定できる範囲は0〜7です。

ステップ 3

end

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

ステップ 4

show mls qos maps dscp-to-cos

設定を確認します。

ステップ 5

copy running-config startup-config

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

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

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

Switch# configure terminal

Switch(config)# mls qos map dscp-cos 0 8 16 24 32 40 48 50 to 0

Switch(config)# end

Switch# show mls qos maps dscp-cos

Dscp-cos map:

d1 : d2 0 1 2 3 4 5 6 7 8 9

---------------------------------------

0 : 00 00 00 00 00 00 00 00 00 01

1 : 01 01 01 01 01 01 00 02 02 02

2 : 02 02 02 02 00 03 03 03 03 03

3 : 03 03 00 04 04 04 04 04 04 04

4 : 00 05 05 05 05 05 05 05 00 06

5 : 00 06 06 06 06 06 07 07 07 07

6 : 07 07 07 07

このDSCP/CoSマップでは、CoS値が表形式で示されています。d1列はDSCPの最上位桁、d2行はDSCPの最下位桁を示します。d1とd2の交点にある値がCoS値です。たとえば、このDSCP/CoSマップでは、DSCP値が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、1/5、3/10、2/5です。

Switch(config)# interface gigabitethernet0/1

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

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

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

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

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

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

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

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

いずれかの出力キューを選択するためのCoS入力値をマッピングするには、イネーブル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情報を表示するには、 表29-9 に示すイネーブルEXECコマンドを1つまたは複数組み合わせて使用します。

表29-9 標準QoS情報を表示するコマンド

コマンド

説明

show class-map [ class-map-name ]

トラフィックを分類するための一致条件を定義するQoSクラス マップを表示します。

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

集約ポリサーの設定を表示します。

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

出力キューの設定および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移行パスについて説明します( 図29-11 を参照)。具体的な内容は次のとおりです。

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

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

図29-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設定

図29-11 に、例として、Catalyst 3550マルチレイヤ スイッチのインテリジェントな配線クローゼットを示します。スイッチの1台は、IPアドレスが172.20.10.16であるビデオ サーバに接続されています。

この例での目的は、ビデオ トラフィックのプライオリティをほかのすべてのトラフィックよりも優先させることです。そのためには、ビデオ トラフィックにDSCP値56を割り当てます。このトラフィックは緊急キュー(キュー4)に格納されます。このキューが空になるまでほかのキューは処理されません。適切なCoS値を設定することにより、CoS/出力キュー マップ内でキュー4が選択されます。

ビデオ パケットをほかのすべてのトラフィックよりも優先させるには、イネーブルEXECモードで次の手順を実行します。

コマンド

説明

ステップ 1

configure terminal

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

ステップ 2

access-list 1 permit 172.20.10.16

IP標準ACLを定義し、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設定

図29-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. ご利用条件 | プライバシー ステートメント | クッキーポリシー | シスコの商標