Catalyst 2940 スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.1(22)EA2
QoS の設定
QoSの設定
発行日;2012/02/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf | フィードバック

目次

QoSの設定

QoSの概要

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

CoSの概要

ポート プライオリティ

出力CoSキュー

QoSの設定

QoSのデフォルト設定

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

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

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

信頼境界の設定

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

出力キューの設定

CoSプライオリティ キューの設定

WRRプライオリティの設定

QoS情報の表示

QoSの設定

この章では、標準のQuality of Service(QoS;サービス品質)を使用して、Catalyst 2940スイッチ上でQoSを設定する手順について説明します。QoSにより、特定のトラフィック タイプを他のタイプより優先的に処理できます。QoSを使用しない場合、スイッチはパケットの内容およびサイズに関わらず、ベストエフォート型のサービスを提供します。信頼性、遅延限度、またはスループットに関して保証することなく、スイッチはパケットを送信します。


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


QoSは、デバイス マネージャまたはCLI(コマンドライン インターフェイス)から設定できます。デバイス マネージャの詳細については、デバイス マネージャ オンライン ヘルプを参照してください。

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

「QoSの概要」

「QoSの設定」

「QoS情報の表示」

QoSの概要

ここでは、スイッチにQoSを実装する手順について説明します。ネットワークは通常、ベストエフォート型の配信方式で動作します。したがって、すべてのトラフィックに等しいプライオリティが与えられ、正しいタイミングで配信される可能性も同じです。輻輳が発生した場合に、廃棄される可能性についても、すべてのトラフィックで同じです。

QoS機能を設定するとき、輻輳管理および輻輳回避を使用すると優先的に処理できます。ネットワークにQoSを実装すると、ネットワーク パフォーマンスの予測可能性が向上し、帯域幅をより効率的に利用できるようになります。

QoSを実装する作業はレイヤ2フレームのプライオリティ値に基づきます。

レイヤ2 802.1Qフレーム ヘッダーには、2バイトのタグ制御情報フィールドがあり、上位3ビット(ユーザ プライオリティ ビット)でClass of Service(CoS;サービス クラス)値が伝達されます。レイヤ2 802.1Qトランクとして設定されたインターフェイス上では、ネイティブVLANのトラフィックを除くすべてのトラフィックが802.1Qフレームにされます。他のフレーム タイプでレイヤ2 CoS値を伝送することはできません。レイヤ2 CoS値の範囲は、0(ロー プライオリティ)~7(ハイ プライオリティ)です。

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

 

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

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

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

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

スイッチは、QoSベースの802.1p CoS値を提供します。QoSは、分類およびスケジューリングを使用して、スイッチからのネットワーク トラフィックを予測可能な方法で送信します。QoSによる分類では、各フレームにプライオリティ別のCoS値が検証され、電話など、プライオリティの高いトラフィックが優先されます。

CoSの概要

Catalyst 6000ファミリー スイッチとともに使用するCatalyst 2940スイッチ上で802.1p CoSを設定する場合は、あらかじめCatalyst 6000のマニュアルを参照してください。802.1pの実装方式が異なるので、互換性を保証するには、その相違を理解しておく必要があります。

ポート プライオリティ

管理目的で定義されたVLANのユーザから受信したフレームは、分類、すなわち タグ付け してから他の装置へ伝送されます。管理者が定義したルールに基づいて、各フレーム ヘッダーに一意の識別情報(タグ)が挿入されてから転送されることになります。各装置では、タグを検証し、認識した上で、他のスイッチ、ルータ、またはエンド ステーションにブロードキャストを行うか、または伝送します。フレームが最終スイッチまたはルータに到達すると、タグが削除されて、宛先エンド ステーションに送信されます。識別情報(タグ)なしでトランクまたはアクセス ポートに割り当てられたVLANを、ネイティブまたはタグなしフレームと呼びます。

タグ情報のあるIEEE 802.1Qフレームには、ヘッダー フレームのプライオリティ値が使用されます。ネイティブ フレームには、入力ポートのデフォルト プライオリティが使用されます。

スイッチ上の各ポートには、着信トラフィック用に1つずつ受信キュー バッファ(入力ポート)があります。タグなしフレームが着信すると、そのフレームのポート デフォルト プライオリティとして、ポートの値が割り当てられます。この値は、CLIまたはCMSを使用して割り当てます。タグ付きのフレームは、引き続きそのフレームに割り当てられたCoS値を使用して、入力ポートを通過します。

出力CoSキュー

スイッチは、各出力ポートで4つのCoSキューをサポートしています。各キューで、次のタイプのスケジューリングを指定できます。

完全優先スケジューリング

完全優先スケジューリングは、キューのプライオリティに基づきます。ハイ プライオリティのキューにあるパケットは、常に最初に送信され、ロー プライオリティのキューにあるパケットは、ハイ プライオリティのキューが空になるまでは送信されません。

デフォルトのスケジューリング方式は完全優先です。

WRRスケジューリング

Weighted Round-Robin(WRR;重み付きラウンドロビン)スケジューリングでは、他のCoSキューとの比較でキューの重要性(ウェイト)を示す値を指定しなければなりません。WRRスケジューリングは、ロー プライオリティのキューがハイ プライオリティのトラフィック伝送中に完全に放置されないようにします。WRRスケジューラは、いくつかのパケットを各キューから順に送信します。送信されるパケットの数は、関連するキューの重要性に応じます。たとえば、あるキューのウェイトが3で、別のキューのウェイトが4である場合、第2のキューからパケットが4つ送信されるたびに、最初のキューから3つ送信されます。このスケジューリングを使用することによって、ロー プライオリティのキューは、ハイ プライオリティのキューが空にならなくてもパケットを送信できます。

QoSの設定

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

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

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

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

ネットワーク上の輻輳発生位置

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

「QoSのデフォルト設定」

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

「出力キューの設定」

QoSのデフォルト設定

QoSのデフォルト設定は、次のとおりです。

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

デフォルトのポートCoS値はすべてのタグなしの着信パケットに割り当てられます。各タグ付きパケットのCoS値は変更されないままです。

デフォルトでは、ポートの信頼状態は設定されません。

トラフィックはすべて1つの出力キューから送信されます。

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

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

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

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

「信頼境界の設定」

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

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

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

 

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

有効なインターフェイスには物理インターフェイスが含まれます。

ステップ 3

mls qos trust [ cos ]

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

デフォルトでは、ポートは信頼性がありません。トラフィックはすべて1つの出力キューから送信されます。

cos キーワード を使用してパケットCoS値を持つ入力パケットを分類します。パケットに割り当てられる出力キューは、パケットCoS値に基づいて決まります。このキーワードを入力すると、「出力キューの設定」に示すようにトラフィックは4つのQoSキューにより送信されます。

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

ステップ 4

end

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

ステップ 5

show mls qos interface [ interface-id ]

設定を確認します。

ステップ 6

copy running-config startup-config

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

mls qos trust cos コマンドを入力すると、DSCP値は 表 24-1 に示される値に従って変更されます。

 

表 24-1 デフォルトのCoS/DSCPマップ

CoS値

0

1

2

3

4

5

6

7

DSCP値

0

8

16

24

32

40

48

56


) CoS/DSCP値は設定できません。


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

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

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

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

有効なインターフェイスには物理インターフェイスが含まれます。

ステップ 3

mls qos cos { default-cos | override }

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

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

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

特定のポートに届くすべての着信パケットに、他のポートからのパケットより高いプライオリティを与える場合には、 override キーワードを使用します。着信パケットがタグ付きの場合、出力ポートで、ポートのデフォルトCoSを使用してパケットのCoS値が変更されます。

ステップ 4

end

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

ステップ 5

show mls qos interface

設定を確認します。

ステップ 6

copy running-config startup-config

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

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

信頼境界の設定

一般的なネットワークでは、図 24-2で示すようにCisco IP Phoneをスイッチ ポートに接続します。電話からスイッチに送信されたトラフィックは通常、802.1Qヘッダーを使用するタグでマーキングされます。ヘッダーにはVLAN情報とともに、パケットのプライオリティを決定する3ビットのCoSフィールドが含まれます。Cisco IP Phoneの設定では通常、電話からスイッチに送信されるトラフィックを信頼し、音声トラフィックがネットワーク上の他のタイプのトラフィックより優先されるようにします。 mls qos trust cos インターフェイス コンフィギュレーション コマンドを使用することによって、電話を接続するスイッチ ポートがそのポートで受信したあらゆるトラフィックのCoSラベルを信頼するように設定できます。

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

ただし、ユーザが電話をバイパスしてPCをスイッチに直接接続した場合、スイッチは(信頼するCoSの設定に基づいて)PCによって生成されたCoSラベルを信頼するので、ハイ プライオリティ キューが誤って使用される可能性があります。信頼境界機能は、CDPを使用してCisco IP Phone(Cisco IP Phone 7910、7935、7940、および7960など)がスイッチ ポートに接続されていることを検出することによって、この問題を解消します。電話が検出されなかった場合、信頼境界機能はスイッチ ポートの信頼設定をディセーブルにし、高プライオリティ キューが誤って使用されないようにします。

スイッチ ポートに信頼境界を設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

cdp enable

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

ステップ 3

interface interface-id

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

有効なインターフェイスには物理インターフェイスが含まれます。

ステップ 4

cdp enable

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

ステップ 5

mls qos trust device cisco-phone

Cisco IP Phoneをインターフェイス上で信頼性のある装置として設定します。

ステップ 6

mls qos trust cos

入力パケットのCoS値を信頼するように、ポートの信頼状態を設定します。デフォルトでは、ポートは信頼性がありません。このコマンドの詳細については、このリリースに対応するコマンド リファレンスを参照してください。

ステップ 7

end

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

ステップ 8

show mls qos interface [ interface-id ]

設定を確認します。

ステップ 9

copy running-config startup-config

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

no mls qos trust インターフェイス コンフィギュレーション コマンドを入力しても、信頼境界はディセーブルになりません。このコマンドを入力し、ポートがCisco IP Phoneに接続されている場合、ポートは受信したトラフィックの分類を信頼しないことになります。信頼境界をディセーブルにするには、 no mls qos trust device インターフェイス コンフィギュレーション コマンドを使用します。

mls qos cos override インターフェイス コンフィギュレーション コマンドを入力した場合、ポートはCisco IP Phoneに接続されている場合も含めて、受信したトラフィックの分類を信頼しません。

表 24-2 に、IP Phoneがある場合とない場合のポート設定を示します。

 

表 24-2 信頼境界がイネーブルの場合のポート設定

ポートの設定
Cisco IP Phoneがある場合
Cisco IP Phoneがない場合

ポートは着信パケットのCoS値を信頼します。

パケットのCoS値が信頼されます。

パケットのCoS値がデフォルトのCoS値に割り当てられます。

ポートは着信パケットにデフォルトのCoS値を割り当てます。

パケットのCoS値がデフォルトのCoS値に割り当てられます。

パケットのCoS値がデフォルトのCoS値に割り当てられます。

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

スイッチがパススルー モードの場合、スイッチはDSCP値を変更しないで着信パケットのCoS値を使用し、4つの出力キューの1つからパケットを送信します。デフォルトでは、パススルー モードはディセーブルです。スイッチは、パケットを変更しないですべての着信パケットに0のCoS値を割り当てます。スイッチは、パケットの内容またはサイズに関係なく、各パケットにベスト エフォート型のサービスを提供し、単一出力キューからパケットを送信します。

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

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

有効なインターフェイスには物理インターフェイスが含まれます。

ステップ 3

mls qos trust cos pass-through dscp

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

ステップ 4

end

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

ステップ 5

show mls qos interface [ interface-id ]

設定を確認します。

ステップ 6

copy running-config startup-config

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

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

パススルー モードがイネーブルのときに、 mls qos cos override および mls qos trust [ cos ] インターフェイス コマンドを入力すると、パススルー モードがディセーブルになります。

mls qos cos override および mls qos trust [ cos ]インターフェイス コマンドがすでに設定されているときに、 mls qos trust cos pass-through dscp インターフェイス コンフィギュレーション コマンドを入力すると、パススルー モードがディセーブルになります。

出力キューの設定

ここでは、出力 キューの設定方法について説明します。

「CoSプライオリティ キューの設定」

「WRRプライオリティの設定」

出力 キューの詳細については、「出力CoSキュー」を参照してください。

CoSプライオリティ キューの設定

CoSプライオリティ キューを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

wrr-queue cos-map qid cos1...cosn

CoSプライオリティ キューのキューIDを指定します(範囲は1~4で、1が最下位のCoSプライオリティ キューです)。

キューIDにマッピングするCoS値を指定します。

デフォルト値は次のとおりです。

CoS値 CoSプライオリティ キュー

0、1 1

2、3 2

4、5 3

6、7 4

ステップ 3

end

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

ステップ 4

show wrr-queue cos-map

CoSプライオリティ キューのマッピングを表示します。

新しいCoS設定値をディセーブルにし、デフォルト値に戻すには、 no wrr-queue cos-map グローバル コンフィギュレーション コマンドを使用します。

WRRプライオリティの設定

WRRプライオリティを設定するには、イネーブルEXECモードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

wrr-queue bandwidth weight1...weight4

WRRウェイトを4つのCoSキューに割り当てます。

WRR値 weight1 weight4 に指定できる範囲は1~255です。

ステップ 3

end

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

ステップ 4

show wrr-queue bandwidth

CoSプライオリティ キューへのWRR帯域幅割り当てを表示します。

WRRスケジューリングをディセーブルにし、完全優先スケジューリングをイネーブルにするには、 no wrr-queue bandwidth グローバル コンフィギュレーション コマンドを使用します。

QoS情報の表示

QoS情報を表示するには、 表 24-3 のイネーブルEXECコマンドを1つまたは複数使用します。

 

表 24-3 QoS情報を表示するためのコマンド

コマンド
目的

show wrr-queue cos-map

CoSプライオリティ キューのマッピングを表示します。

show wrr-queue bandwidth

CoSプライオリティ キューへのWRR帯域幅割り当てを表示します。