この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、分類、マーキング、ポリシング、キューイング、スケジューリングなどのCatalyst 3750スイッチのQoS機能について説明します。
次の項目に関する専門知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco Catalyst 3750 スイッチ
Cisco IOS® ソフトウェア リリース 12.2(35)SE2
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
QoS を使用すると、特定のトラフィックを他のトラフィック タイプよりも優先的に処理できます。QoSラベルを使用して、トラフィックを区別できます。レイヤ 3 IP ヘッダーで最もよく使用される 2 つの QoS ラベルは、IP プレシデンス フィールドと DSCP フィールドです。レイヤ 2 フレーム ヘッダーの QoS ラベルは、サービス クラス(CoS)と呼ばれます。Catalyst スイッチの QoS ツールによる優先処理は、レイヤ 3 QoS ラベルまたはレイヤ 2 QoS ラベルのいずれかに基づいて実行できます。このドキュメントでは、Cisco Catalyst スイッチでのレイヤ 2 およびレイヤ 3 QoS ラベルの使用を理解できるように、さまざまな例を示します。
Catalyst 3750 スイッチでは、デフォルトで QoS は無効になっています。QoS が無効である間は、すべてのフレーム/パケットは変更されることなくスイッチを通過します。たとえば、CoS が 5 であり、フレーム内のパケットに DSCP EF が割り当てられているフレームがスイッチに入ると、CoS および DSCP のラベルは変更されません。トラフィックは、スイッチに入ったときと同じ CoS 値および DSCP 値でスイッチから送出されます。音声を含むすべてのトラフィックは、ベスト エフォート方式で配送されます。
Switch#show mls qos QoS is disabled QoS ip packet dscp rewrite is enabled !--- Even though it says QoS ip packet dscp rewrite is enabled,
!--- the switch does not alter the DSCP label on the packets when
!--- the QoS is disabled.
3750 スイッチで QoS を有効にしても、デフォルトで有効になる入力および出力 QoS 機能はごく少数です。次の図に、スイッチの QoS アーキテクチャの概要を示します。
この図に基づいたポイントの概要は、次のとおりです。
分類、マーキング、ポリシングなどの入力 QoS 機能は、ポート単位で設定できます。
入力マッピング テーブルおよび入力キューイングは、グローバルに設定できます。これらは、ポート単位では設定できません。
入力キューの SRR は、グローバルに設定できます。
スタック リングの帯域幅は、スタックのケーブル接続に依存します。スタックが全帯域幅で接続されている場合、32Gbps の帯域幅を受信します。この帯域幅は、スタック内のすべてのスイッチで共有されます。
出力マッピング テーブルおよび出力キューは、グローバルに設定されます。2 セットのキュー設定を使用可能で、1 つのポートにいずれかのキュー セット設定を適用できます。
出力キューの SRR は、ポート単位で設定できます。
このセクションでは、使用可能なさまざまな入力 QoS 設定の概念について説明します。この項では、次のトピックについて取り上げます。
QoS が有効になった後、スイッチはデフォルトで次のようにフレームを処理します。
フレームがスイッチ ポートに入っても、フレームはタグ付けされません(つまり、ポートはアクセス ポートであり、スイッチに入るフレームに ISL または dot1q のカプセル化が適用されないことを意味します)。
スイッチは、dot1q でフレームをカプセル化します(すべての新しいスイッチでは dot1q がデフォルトのため、ISL は無視されます)。
dot1q フレーム タグ内では、802.1p プライオリティ ビットと呼ばれる(CoS とも呼ばれる)3 ビットを使用できます。これらのビットは 0 に設定されます。
次に、スイッチは CoS-DSCP マッピング テーブルに基づいて DSCP 値を計算します。テーブルにより、スイッチでは DSCP 値が 0 に設定されます。DSCP 値はパケットの IP ヘッダー部分にあります。
要約すると、スイッチで QoS が有効な場合、スイッチに入るフレームの CoS 値および DSCP 値はデフォルトで 0 に設定されます。
ルータとは異なり、Cisco Catalyst スイッチでは、QoS の分類およびマーキングは別々に機能します。シスコルータでは、着信パケットのDSCP値またはアクセスコントロールリスト(ACL)のいずれかに基づいて、MQCでパケットを分類できます。これは、着信パケットの QoS ラベルを信頼するかどうかに依存します。Cisco Catalyst 3750 スイッチでは、着信 CoS/DSCP 値または ACL のいずれかに基づいてフレームを分類できます。
着信 CoS/DSCP 値に基づく設定は、次の 3 つの異なる方法で実現されます。
mls qos インターフェイスベースコマンドを使用したポートベースの設定
class-mapおよびpolicy-mapを使用したMQCベースの設定
VLAN ベースの設定
これら 3 つの方法のいずれかを使用できます。1 つのポートに複数の方法を使用することはできません。たとえば、あるポートにmls qos trust coscコマンドを設定したとします。service-policy input <policy-map-name> コマンドでポートを設定すると、mls qos trust cos コマンドは自動的に削除されます。
「分類とマーキング:ポートベース」セクションでは、ポートベースの設定について説明します。
「分類とマーキング:MQCベース」セクションでは、MQCベースの分類について説明します。
このセクションでは、インターフェイス固有の設定に基づく分類について説明します。セクションのタイトルである「分類およびマーキング」について疑問に思うかもしれません。これは、Cisco Catalyst 3750スイッチでは、フレーム(フレーム内のパケット)のCoS値またはDSCP値がマップテーブルで再マーキングされるためです。マッピング テーブルは、シスコ ルータでは使用できません。Cisco Catalyst スイッチでのみ使用できます。このセクションでは、これらのテーブルの機能を確認できます。
このセクションでは、次の 2 つの設定について説明します。
着信パケットまたはフレームには、すでに QoS ラベルが割り当てられている可能性があります。次の疑問が生じる可能性があります。
ポートの着信パケット/フレームの QoS ラベルを信頼するのか。
IP 電話と PC がポートに接続されている場合、電話、PC、またはその両方の QoS ラベルを信頼するのか。
着信パケット/フレームの QoS ラベルを信頼しない場合は、アクセスリストに基づいてパケットを分類し、QoS ラベルをマーキングする必要があります。着信パケット/フレームの QoS ラベルを信頼する場合、ポートの着信パケット/フレームの CoS 値または DSCP 値を信頼する必要があるのかという別の問題が生じます。これは、シナリオによって異なります。このセクションでは、例を使用してさまざまなシナリオについて説明します。
ポートの信頼の設定オプションは、次のとおりです。
Switch(config-if)#mls qos trust ? cos cos keyword device trusted device class dscp dscp keyword ip-precedence ip-precedence keyword <cr>
例1:ポートがアクセスポートまたはレイヤ3ポートの場合は、mls qos trust dscp コマンドを設定する必要があります。アクセスポートまたはレイヤ3ポートからのフレームにはdot1qタグまたはISLタグが含まれていないため、mls qos trust cosコマンドを使用できません。CoS ビットがあるのは、dot1q フレーム内または ISL フレーム内のみです。
interface GigabitEthernet1/0/1 description **** Layer 3 Port **** no switchport ip address 192.168.10.1 255.255.255.0 mls qos trust dscp end
interface GigabitEthernet1/0/2 description **** Access Port **** switchport access vlan 10 switchport mode access mls qos trust dscp end
例2:ポートがトランクポートの場合、mls qos trust cosコマンドまたはmls qos trust dscpコマンドのいずれかを設定できます。ポートが DSCP を信頼するように設定されている場合、dscp-cos マッピング テーブルを使用して CoS 値が計算されます。同様に、ポートが CoS を信頼するように設定されている場合、cos-dscp マッピング テーブルを使用して DSCP 値が計算されます。
interface GigabitEthernet1/0/3 description **** Trunk Port **** switchport trunk encapsulation dot1q switchport mode trunk switchport trunk native vlan 5 switchport trunk allowed vlan 5,10,20,30,40,50 mls qos trust cos end
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast end !--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice
!--- VLAN traffic.
例3:ポートがdot1qトランクポートで、mls qos trust cos コマンドを使用して設定されている場合、ネイティブVLANフレームではCoS値およびDSCP値を0として設定できます。ネイティブVLANフレームにはタグがなく、フレームはスイッチに入った後にタグ付けされるため、スイッチではデフォルトのCoS値を0に設定でき、CoS-to-DSCPテーブルではDSCP値を0に設定できます。
注:ネイティブVLANからのパケットのDSCP値は0にリセットされます。
また、mls qos cos <0-7>コマンドを使用して、タグなしフレームのデフォルトCoS値を0から0 ~ 7の他の値に変更するようにスイッチポートを設定することもできます。このコマンドでは、タグ付きフレームの CoS 値は変更されません。
たとえば、ポート GigabitEthernet1/0/12 がアクセス VLAN 10 および音声 VLAN 20 で設定されているとします。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast !--- The Cisco IP Phone uses IEEE 802.1Q frames for Voice
!--- VLAN traffic. Voice VLAN is only supported on access ports and not
!--- on trunk ports, even though the configuration is allowed. end
デフォルトでは、PC はデータをタグなしで送信します。Cisco IP Phone に接続されたデバイスからのタグなしトラフィックは、IP Phone のアクセス ポートの信頼状態に関係なく、そのまま IP Phone を通過します。電話では、音声 VLAN ID 20 で dot1q のタグ付きフレームが送信されます。そのため、mls qos trust cos コマンドを使用してポートを設定する場合、電話からのフレーム(タグ付きフレーム)の CoS 値は信頼され、PC からのフレーム(タグなし)の CoS 値は 0 に設定されます。その後、CoS-DSCP マッピング テーブルでは CoS 値が 0 の場合 DSCP 値は 0 になっているため、CoS-DSCP マッピング テーブルによってフレーム内のパケットの DSCP 値は 0 に設定されます。PCからのパケットに特定のDSCP値がある場合、その値は0にリセットできます。ポートでmls qos cos 3コマンドを設定すると、PCからのすべてのフレームのCoS値は3に設定され、電話からのフレームのCoS値は変更されません。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos mls qos cos 3 spanning-tree portfast end
mls qos cos 3 overrideコマンドを使用してポートを設定すると、すべてのフレーム(タグ付きおよびタグなしの両方)のCoS値は3に設定されます。以前に設定した信頼値は上書きされます。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos mls qos cos 3 override !--- Overrides the mls qos trust cos. !--- Applies CoS value 3 on all the incoming packets on both
!--- the vlan 10 and 20. spanning-tree portfast end
例4:たとえば、次のようにポートgi 1/0/12の設定を調べます。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast end
PC で VLAN 20 を使用してフレームをタグ付けすると、CoS 値も 5 に設定されます。スイッチは、Cisco IP Phone のアクセス ポートに接続されたデバイスから送信された、タグ付きデータ トラフィック(IEEE 802.1Q または IEEE 802.1p フレーム タイプのトラフィック)を処理します。インターフェイスは CoS 値を信頼するように設定されているため、Cisco IP Phone のアクセス ポートを通じて受信されたすべてのトラフィックは、変更されることなく電話を通過します。また、スイッチでも PC からのトラフィックが信頼および許可され、IP 電話のトラフィックと同じ優先順位が与えられます。これは、望ましい結果ではありません。これは、switchport priority extend cos<cos-value> コマンドを使用することで回避できます。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos switchport priority extend cos 0 !--- Overrides the CoS value of PC traffic to 0. spanning-tree portfast end
switchport priority extend cos <cos-value> コマンドでは、IP 電話で PC トラフィックの CoS 値が 0 に変更されるように電話が設定されます。
例5:たとえば、同じインターフェイスで、あるユーザがPCをスイッチに直接接続し、PCデータに高いCoS値のdot1qフレームでタグを付けます。これは、mls qos trust device cisco-phoneコマンドを使用することで回避できます。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos switchport priority extend cos 0 mls qos trust device cisco-phone !--- Specify that the Cisco IP Phone is a trusted device. spanning-tree portfast end
例6:たとえば、インターフェイスGigabitEthernet1/0/12では、PCからのQoSラベルを信頼する必要があります。また、PC はネイティブ VLAN 10 に接続されています。この場合、PC パケットは CoS 値をタグ付けしないため、mls qos trust cos コマンドは役に立ちません。DSCP値のみをタグ付けします。そのため、スイッチは dot1q フレームを追加して、デフォルト CoS 値を 0 に設定します。その後、CoS-DSCP テーブルが DSCP 値を計算して、0 にリセットします。
この問題を修正するには、2 つの選択肢があります。1つの選択肢は、MQCで分類とマーキングを設定することです。ACL を作成して、送信元/宛先 IP アドレスおよび送信元/宛先ポート番号に基づいて PC トラフィックを照合することができます。次に、クラスマップでこの ACL を照合できます。このトラフィックを信頼するポリシーマップを作成できます。この解決策については、次のセクションで説明します。このセクションでは、2 つ目の方法について説明します。2 つ目の方法は、CoS ラベルではなく DSCP ラベルを信頼する方法です。DSCP-CoS ラベルによって、DSCP 値に対応する CoS 値が計算および設定されます。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust dscp spanning-tree portfast end
最初の方法は、すべてのPCトラフィックQoSラベルを信頼することは推奨されないため、推奨される方法です。
QoS を有効にすると、マッピング テーブルがデフォルト値で作成され、有効になります。
Distribution1#show mls qos maps cos-dscp Cos-dscp map: cos: 0 1 2 3 4 5 6 7 -------------------------------- dscp: 0 8 16 24 32 40 48 56 Distribution1#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 01 01 1 : 01 01 01 01 01 01 02 02 02 02 2 : 02 02 02 02 03 03 03 03 03 03 3 : 03 03 04 04 04 04 04 04 04 04 4 : 05 05 05 05 05 05 05 05 06 06 5 : 06 06 06 06 06 06 07 07 07 07 6 : 07 07 07 07
例1:ポートがCoSを信頼するように設定されている場合、すべての着信CoS値は信頼され、DSCP値はCoS-DSCPテーブルに基づいて再マーキングされます。デフォルトの CoS-DSCP 設定に従って、値は次に示すようにマッピングされます。
CoS | DSCP(10 進数) | DSCP |
---|---|---|
0 | 0 | デフォルト |
1 | 8 | CS1 |
2 | 16 | CS2 |
3 | 24 | CS3 |
4 | 32 | CS4 |
5 | 40 | CS5 |
6 | 48 | CS6 |
7 | 56 | CS7 |
ここで注意する必要がある重要な値の 1 つは、CoS 値 5 に対応する DSCP 値です。それは CS5 です。例 2 で、この値について説明します。
例2:たとえば、インターフェイスGigabitEthernet1/0/12はCoSを信頼するように設定されています。
interface GigabitEthernet1/0/12 description **** Cisco IP Phone **** switchport access vlan 10 switchport mode access switchport voice vlan 20 mls qos trust cos spanning-tree portfast end
Cisco IP Phone は、スイッチにトラフィックを送信する際に、CoS 5 および DSCP EF で音声ペイロードをマーキングします。トラフィックがポート Gi 1/0/12 に入るときに、スイッチは CoS 値を信頼します。次に、スイッチは CoS-DSCP テーブルから CoS 値 5 の DSCP 値 CS5(40)を取得します。CoS 5 のすべての音声ペイロードは、DSCP 値 CS5 でマーキングされます。これは望ましい値ではありません。音声ペイロードに必要な DSCP 値は、DSCP EF です。デフォルトでは、DSCP 値に対するその他の CoS 値は RFC に従って正しくマッピングされています。
この設定によって、CoS-DSCP マッピング テーブルを設定し、CoS 5 に対応する DSCP 値 EF を変更することができます。
Distribution1(config)#mls qos map cos-dscp 0 8 16 24 32 46 48 56 !--- DSCP 46 is EF
この設定の後、値は次に示すようにマッピングされます。
CoS | DSCP(10 進数) | DSCP |
---|---|---|
0 | 0 | デフォルト |
1 | 8 | CS1 |
2 | 16 | CS2 |
3 | 24 | CS3 |
4 | 32 | CS4 |
5 | 46 | EF |
6 | 48 | CS6 |
7 | 56 | CS7 |
例3:ポートがDSCPを信頼するように設定されている場合、すべての着信DSCP値が信頼され、CoS値はDSCP-CoSテーブルに基づいて再マーキングされます。デフォルトの DSCP-CoS 設定に従って、値は次に示すようにマッピングされます。
DSCP | DSCP(10 進数) | CoS |
---|---|---|
デフォルト | 0~7 | 0 |
CS1 AF11 AF12 AF13 | 8 ~ 15 | 1 |
CS2 AF21 AF22 AF23 | 16 ~ 23 | 2 |
CS3 AF31 AF32 AF33 | 24 ~ 31 | 3 |
CS4 AF41 AF42 AF43 | 32 ~ 39 | 4 |
CS5 EF | 40 ~ 47 | 5 |
CS6 | 48 ~ 55 | 6 |
CS7 | 56 ~ 63 | 7 |
これらのデフォルト値を変更する必要はありません。
次の表に、参照用の DSCP 値と CoS 値を示します。
DSCP(10 進数) | DSCP | CoS |
---|---|---|
0 | デフォルト | 0 |
8 | CS1 | 1 |
10 | AF11 | 1 |
12 | AF12 | 1 |
14 | AF13 | 1 |
16 | CS2 | 2 |
18 | AF21 | 2 |
20 | AF22 | 2 |
22 | AF23 | 2 |
24 | CS3 | 3 |
26 | AF31 | 3 |
28 | AF32 | 3 |
30 | AF33 | 3 |
32 | CS4 | 4 |
34 | AF41 | 4 |
36 | AF42 | 4 |
38 | AF43 | 4 |
40 | CS5 | 5 |
42 | 5 | |
44 | 5 | |
46 | EF | 5 |
48 | CS6 | 6 |
56 | CS7 | 7 |
注:ネットワークでは、すべてのCisco Catalystスイッチが同一のマップテーブルを持つ必要があります。さまざまなスイッチでマッピング テーブル値が異なると、望ましくない QoS 動作の原因になります。
「分類およびマーキング」セクションで説明したように、MQC を使用してパケットを分類およびマーキングすることができます。ポート固有の設定の代わりに MQC を使用できます。また、ポリシーマップを使用して着信パケットをマーキングすることもできます。
この例の要件は次のとおりです。
IP 電話トラフィックの CoS 値を信頼します。
IP 電話に接続された PC からのソフトウォン アプリケーション パケットの DSCP 値をマーキングします。
PC からのその他すべてのトラフィックは信頼しません。
この図は、ポリシーマップがインターフェイスの入力に適用されていることを示しています。Catalyst 3750 スイッチでは、ポリシーマップをインターフェイスの出力に適用することはできません。次の設定は、この図を表しています。このセクションでは、QoS 機能のキューイング部分には焦点を当てません。このセクションでは、インターフェイスで適用される MQC のみを重点的に扱います。
データ VLAN は 10 で、そのサブネット アドレスは 172.16.10.0/24 とします。音声 VLAN は 100 で、そのサブネット アドレスは 192.168.100.0/24 とします。
!--- Section A Distribution1(config)#ip access-list extended voice-traffic Distribution1(config-std-nacl)#permit ip 192.168.100.0 0.0.0.255 any Distribution1(config-std-nacl)#ip access-list extended database-application Distribution1(config-ext-nacl)#permit tcp any any eq 1521 Distribution1(config-ext-nacl)#permit tcp any any eq 1810 Distribution1(config-ext-nacl)#permit tcp any any eq 2481 Distribution1(config-ext-nacl)#permit tcp any any eq 7778 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-A Distribution1(config-cmap)#match access-group name voice-traffic Distribution1(config-cmap)#exit Distribution1(config)#class-map Class-B Distribution1(config-cmap)#match access-group name database-application Distribution1(config-cmap)#exit !--- Section B Distribution1(config)#policy-map sample-policy1 Distribution1(config-pmap)#class Class-A Distribution1(config-pmap-c)#trust cos Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#class Class-B Distribution1(config-pmap-c)#set dscp af21 Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#exit !--- Section C Distribution1(config)#interface gigabitEthernet 1/0/13 Distribution1(config-if)#switchport access vlan 10 Distribution1(config-if)#switchport mode access Distribution1(config-if)#switchport voice vlan 100 Distribution1(config-if)#spanning-tree portfast Distribution1(config-if)#service-policy input sample-policy1 Distribution1(config-if)#exit
セクション A:
IP 電話トラフィックを Class-A に分類します。IP 電話は音声 VLAN に属し、192.168.100.0 サブネット内の IP アドレスが割り当てられています。
データベース アプリケーション トラフィックを Class-B に分類します。ポート番号が 1521、1810、2481、7778 の宛先に向けた PC トラフィック(実際は、設定に従う任意のトラフィック)は、Class-B クラス マップに分類されます。
セクション B:
Class-A に一致するトラフィックは、CoS ラベルを信頼するように設定されています。つまり、IP 電話からのすべてのトラフィックの CoS 値が信頼されます。次の図に示すように、DSCP 値は、Class-A トラフィックの CoS-DSCP マッピング テーブルから取得されます。
Class-B に一致するトラフィックは、DSCP 値を AF21 にするよう設定されています。次の図に示すように、DCoS 値は、Class-B トラフィックの DSCP-CoS マッピング テーブルから取得されます。
ポリシーマップの各クラス下での設定は、PHB アクションと呼ばれます。シスコ ルータでサポートされる PHB アクションは、マーキング、キューイング、ポリシング、シェーピング、および輻輳回避です。Cisco Catalyst 3750 スイッチでサポートされる PHB アクションは、マーキングおよびポリシングのみです。
Distribution1(config)#policy-map test Distribution1(config-pmap)#class test Distribution1(config-pmap-c)#? QoS policy-map class configuration commands: exit Exit from QoS class action configuration mode no Negate or set default values of a command police Police service-policy Configure QoS Service Policy set Set QoS values trust Set trust value for the class <cr>
set コマンドと trust コマンドは、Marking PHB アクションです。set または trust PHB アクションのいずれかを設定できます。ポリシーマップの 1 つのクラスで両方のアクションを設定することはできません。ただし、同じポリシーマップの1つのクラスでsetを設定し、別のクラスでtrustiを設定することはできます。
police コマンドは、Policing PHB アクションです。これについては、次のセクションで詳しく説明します。
Cisco Catalyst 3750 スイッチでは、シェーピングはサポートされません。キューイングおよび輻輳回避は、Cisco Catalyst 3750 スイッチでサポートされますが、MQC を使用して設定することはできません。キューイングおよび輻輳回避の設定については、このドキュメントの後半で詳しく説明します。
セクション C:
ポリシーマップは、インターフェイスの入力にのみ適用できます。出力インターフェイスに適用すると、次のエラー メッセージが表示されます。
Distribution1(config)#interface gigabitethernet 1/0/3 Distribution1(config-if)#service-policy output test Warning: Assigning a policy map to the output side of an interface not supported Service Policy attachment failed Warning: Assigning a policy map to the output side of an interface not supported
ポート ベースまたは VLAN ベースなどのその他の QoS 分類方式がポート gi 1/0/3 で設定されている場合、ポリシーマップを適用するとこれらの設定は削除されます。たとえば、ポート Gi 1/0/13 は、次に示すように CoS を信頼するよう設定されます。
interface GigabitEthernet1/0/13 description **** Access Port **** switchport access vlan 10 switchport mode access switchport voice vlan 100 mls qos cos 3 mls qos trust cos spanning-tree portfast
インターフェイスにポリシーマップを適用すると、trust コマンドが削除されます。
Distribution1(config)#interface gigabitethernet 1/0/13 Distribution1(config-if)#service-policy input sample-policy1 Distribution1(config-if)#do show run int gi 1/0/13 Building configuration... Current configuration : 228 bytes ! interface GigabitEthernet1/0/13 description **** Access Port **** switchport access vlan 10 switchport mode access switchport voice vlan 100 service-policy input sample-policy1 !--- It replaces the mls qos trust or mls qos
!--- vlan-based command. mls qos cos 3 !--- This command is not removed. spanning-tree portfast end
サービスポリシーの入力によって、mls qos trust コマンドまたは mls qos vlan-based コマンドのみが置換されることを確認できます。mls qos cos コマンドや mls qos dscp-mutation コマンドなど、その他のコマンドは変更されません。つまり、QoS 分類コマンドは置換され、QoS マーキング コマンドは置換されません。
ポリシーマップには、2 つのクラス マップのみが表示されます。Class-A は IP 電話トラフィックと一致し、Class-B は PC からのデータベース アプリケーション トラフィックと一致します。その他すべての PC トラフィック(アクセスリストで定義されたデータベース アプリケーションを除く)は、ポリシーマップの class-default クラスの下で分類されます。これは、ポリシーマップに適用される定義済みのクラスマップに一致しないトラフィックを捕捉する catch-all トラフィックです。そのため、class-default に属するこのトラフィックはポートでは信頼されず、これらのパケットはデフォルトの CoS および DSCP ラベルを使用して 0 に設定されます。デフォルトの CoS 値または DSCP 値をこの class-default トラフィックに設定するようにすることができます。
MQC を使用してデフォルトの DSCP 値を設定できます。CoS 値は、DSCP-CoS マッピング テーブルから取得されます。
Distribution1(config)#policy-map sample-policy1 Distribution1(config-pmap)#class class-default Distribution1(config-pmap-c)#set dscp af13 Distribution1(config-pmap-c)#exit
次に示すように、デフォルトの CoS 値を設定できます。DSCP 値は、CoS-DSCP マッピング テーブルから取得されます。
Distribution1(config)#interface gigabitethernet 1/0/13 Distribution1(config-if)#mls qos cos 3 Distribution1(config-if)#do show run int gi 1/0/13 Building configuration... Current configuration : 228 bytes ! interface GigabitEthernet1/0/13 description **** Access Port **** switchport access vlan 10 switchport mode access switchport voice vlan 100 service-policy input sample-policy1 mls qos cos 3 spanning-tree portfast
トラフィックに最高の優先順位を設定する
この例では、次の設定を使用して、TCP ポート 1494 からのトラフィックに最高の優先順位を設定します。
VOIP トラフィックには、EF の DSCP 値を割り当てる必要があります。
!--- Classifying all traffic coming with dscp value of EF
!--- under this class-map. Switch(config)#class-map match-all AutoQoS-VoIP-RTP-Trust Switch(config-cmap)#match ip dscp ef Switch(config)#policy-map AutoQoS-Police-CiscoPhone Switch(config-pmap)#class AutoQoS-VoIP-RTP-Trust !--- Again setting the dscp value back to EF. Switch(config-pmap-c)#set dscp ef Switch(config-pmap-c)#police 320000 8000 exceed-action policed-dscp-transmit
TCP 1494 からのトラフィックには、DSCP 値 CS4 を割り当てる必要があります。
Switch(config)#access-list 100 permit tcp eq 1494 Switch(config)#class-map tcp Switch(config-cmap)#match access-group 100 Switch(config)#policy-map AutoQoS-Police-CiscoPhone Switch(config-pmap)#class tcp Switch(config-pmap-c)#set dscp cs4
その他すべてのトラフィックには、CS3 を割り当てる必要があります。
Switch(config)# access-list 200 permit ip any any Switch(config)# class-map default Switch(config-cmap)# match access-group 200 Switch(config)#policy-map AutoQoS-Police-CiscoPhone Switch(config-pmap)#class default Switch(config-pmap-c)#set dscp cs3
関連するインターフェイスの下でこれを適用します。
Switch(config)#interfaceSwitch(config-if)#service-policy
Cisco Catalyst 3750 スイッチでは、入力ポートで設定できるのはポリシングのみです。ポリシングは、MQC を通じてのみ設定できます。これは、トラフィックをポリシングするインターフェイス固有コマンドがないことを意味します。ポリシーマップでポリシングを設定することができます。また、service-policy input <policy-name> コマンドを使用してのみ、ポリシーマップを適用できます。インターフェイスの出力側にポリシーマップを適用することはできません。
Distribution1(config-if)#service-policy output test police command is not supported for this interface Configuration failed! Warning: Assigning a policy map to the output side of an interface not supported.
このセクションでは、次のトピックについて説明します。
このセクションでは、過剰なトラフィックを廃棄するポリシング設定について説明します。ポリシングでは、着信トラフィックを測定して、設定されたビット/秒に着信レートを維持します。Cisco Catalyst 3750 スイッチでサポートされるのは、単一のレートと単一のバケット ポリシングのみです。これは、スイッチでは 1 つのレートでのみ測定が実行され、適合アクションと超過アクションの 2 つの基準でトラフィックをプロファイリングできることを意味します。次の図に、3 つのクラスマップがあるポリシーマップ sample-policy2 を示します。
この例の要件は次のとおりです。
ftp、pop3、imap トラフィックを 10Mbps にポリシングします。
IP 電話に接続された PC からの IP communicator アプリケーション パケットの DSCP 値を信頼します。また、このトラフィックを 1Mbps にポリシングする必要があります。
filnet アプリケーションをマーキングおよびポリシングします。
次の設定は、この図に示されるポリシーマップを表しています。
!--- Create Access-list and Class map Class-A Distribution1(config)#ip access-list extended BULK-DATA Distribution1(config-ext-nacl)#permit tcp any any eq ftp Distribution1(config-ext-nacl)#permit tcp any any eq ftp-data Distribution1(config-ext-nacl)#permit tcp any any eq pop3 Distribution1(config-ext-nacl)#permit tcp any any eq 143 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-A Distribution1(config-cmap)#match access-group name BULK-DATA Distribution1(config-cmap)#exit !--- Create Access-list and Class map Class-B Distribution1(config)#ip access-list extended IP-Communicator Distribution1(config-ext-nacl)#remark *** Voice Payload *** Distribution1(config-ext-nacl)#permit udp any any range 16384 32767 Distribution1(config-ext-nacl)#remark *** Voice Signalling *** Distribution1(config-ext-nacl)#permit tcp any any range 2000 2002 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-B Distribution1(config-cmap)#match access-group name IP-Communicator Distribution1(config-cmap)#exit !--- Create Access-list and Class map Class-C Distribution1(config)#ip access-list extended application Distribution1(config-ext-nacl)#remark *** Application for example *** Distribution1(config-ext-nacl)#permit tcp any any eq 32768 Distribution1(config-ext-nacl)#permit udp any any eq 32768 Distribution1(config-ext-nacl)#permit tcp any any eq 32769 Distribution1(config-ext-nacl)#permit udp any any eq 32769 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-C Distribution1(config-cmap)#match access-group name application Distribution1(config-cmap)#exit !--- Create Policy map Distribution1(config-cmap)#policy-map sample-policy2 Distribution1(config-pmap)#class Class-A Distribution1(config-pmap-c)#police 10000000 8000 exceed-action drop Distribution1(config-pmap-c)#class Class-B Distribution1(config-pmap-c)#trust dscp Distribution1(config-pmap-c)#police 256000 8000 exceed-action drop Distribution1(config-pmap-c)#class Class-C Distribution1(config-pmap-c)#set dscp CS2 Distribution1(config-pmap-c)#police 25000000 8000 exceed-action drop Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#exit !--- Apply Policy map to the interface Distribution1(config)#interface GigabitEthernet1/0/20 Distribution1(config-if)#service-policy input sample-policy2
ポリシーマップの設定について説明します。
Class-A:Class Aに一致するトラフィックは、10 Mbpsのレートでポリシングされます。Class-A トラフィックの QoS ラベルは、信頼されません。CoS 値および DSCP 値は 0 としてマーキングされます。超過パケットは、ポリサーによって廃棄されます。
Class-B:Class Bと一致するトラフィックに対して実行されるPHBアクションは2つあります。1 つ目は信頼で、2 つ目はポリシングです。Class-B トラフィックの DSCP 値は信頼されます。CoS値は、DSCP-CoSテーブルから取得できます。Class-B トラフィックは、256 Kbps のレートでポリシングされます。超過パケットは、ポリサーによって廃棄されます。
Class-C:Class Bと一致するトラフィックに対して実行されるPHBアクションは2つあります。1 つ目はマーキングで、2 つ目はポリシングです。クラス C に一致する着信パケットは DSCP 値 CS2 でマーキングされ、CoS 値は DSCP-CoS テーブルから取得されます(値は 2)。クラス C トラフィックは、25 Mbps のレートでポリシングされます。超過パケットは、ポリサーによって廃棄されます。
このセクションでは、過剰なトラフィックをマーキングおよび転送するポリシング設定について説明します。次の図に、2 つのクラスマップがあるポリシーマップ sample-policy3 を示します。
スイッチは、policed-DSCP マッピング テーブルの値に基づいて、設定済みのポリシング レートを超過するトラフィックをマーキングします。policed-DSCP マップは、ポリシング設定で設定されている場合にのみ使用されます。デフォルトの policed-DSCP マッピング テーブルを次に示します。
Distribution1(config)#do show mls qos map 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 : 50 51 52 53 54 55 56 57 58 59 6 : 60 61 62 63
このテーブルから、同じ DSCP 値が対応していることが確認できます。たとえば、DSCP 34 は DSCP 34 にマッピングされています。ポリサー レートに適合するトラフィックは、DSCP 値を変更することなく転送されます。ポリサー レートを超過するトラフィックは、異なる DSCP 値で転送できます。たとえば、廃棄される確率がより高い DSCP 値でマーキングできます。
デフォルトの policed-DSCP 値を使用する場合、ポリシングを使用しても意味がありません。たとえば、10 Mbps のレートでトラフィックをポリシングするように設定したとします。着信パケットの DSCP 値は CS4 です。デフォルトの DSCP 値を維持する場合、10Mbps に適合するトラフィックは DSCP 値 CS2 で転送されます。また、10 Mbps を超過するトラフィックも DSCP 値 CS2 で転送されます。これは、policed-DSCP マップのデフォルト値が同じ値をマッピングするためです。そのため、DSCP 値を区別するために、policed-DSCP マッピング テーブルを適切に設定することをお勧めします。
この例の要件は次のとおりです。
policed-DSCP マッピング テーブルのマッピングを次のように設定します。
EF から AF31
CS3 から AF13
CS2 から AF11
IP communicator パケットの DSCP 値を信頼して、256Kbps にポリシングします。トラフィックが 256Kbps を超えている場合は、policed-DSCP マッピング テーブルを使用して DSCP 値を再マーキングします。
filnet アプリケーションをマーキングおよびポリシングします。トラフィックが 25Mbps を超えている場合は、policed-DSCP マッピング テーブルを使用して DSCP 値を再マーキングします。
次の設定は、この図に示されるポリシーマップを表しています。
!--- Policed DSCP table Configuration Distribution1(config)#mls qos map policed-dscp 46 to 26 Distribution1(config)#mls qos map policed-dscp 24 to 14 Distribution1(config)#mls qos map policed-dscp 16 to 10 !--- Create Access-list and Class map Class-A Distribution1(config)#ip access-list extended IP-Communicator Distribution1(config-ext-nacl)#remark *** Voice Payload *** Distribution1(config-ext-nacl)#permit udp any any range 16384 32767 Distribution1(config-ext-nacl)#remark *** Voice Signalling *** Distribution1(config-ext-nacl)#permit tcp any any range 2000 2002 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-A Distribution1(config-cmap)#match access-group name IP-Communicator Distribution1(config-cmap)#exit !--- Create Access-list and Class map Class-C Distribution1(config)#ip access-list extended application Distribution1(config-ext-nacl)#remark *** Application for example *** Distribution1(config-ext-nacl)#permit tcp any any eq 32768 Distribution1(config-ext-nacl)#permit udp any any eq 32768 Distribution1(config-ext-nacl)#permit tcp any any eq 32769 Distribution1(config-ext-nacl)#permit udp any any eq 32769 Distribution1(config-ext-nacl)#exit Distribution1(config)#class-map Class-B Distribution1(config-cmap)#match access-group name application Distribution1(config-cmap)#exit !--- Create Policy map Distribution1(config-cmap)#policy-map sample-policy3 Distribution1(config-pmap-c)#class Class-A Distribution1(config-pmap-c)#trust dscp Distribution1(config-pmap-c)#police 256000 8000 exceed-action policed-dscp-transmit Distribution1(config-pmap-c)#class Class-B Distribution1(config-pmap-c)#set dscp CS2 Distribution1(config-pmap-c)#police 25000000 8000 exceed-action policed-dscp-transmit Distribution1(config-pmap-c)#exit Distribution1(config-pmap)#exit !--- Apply Policy map to the interface Distribution1(config)#interface GigabitEthernet1/0/21 Distribution1(config-if)#service-policy input sample-policy3
ポリシーマップの設定について説明します。
Policed-DSCP:policed-DSCPマップテーブルに3つの値が変更されています。
EF から AF31
CS3 から AF13
CS2 から AF11
最初の 2 つの値は、Class-A および Class-B クラス マップで分類されるトラフィック タイプに基づいて変更されます。
Class-A:ソフトフォンからの音声ペイロードと音声制御は、Class-Aクラスマップで分類されます。音声ペイロード トラフィックの DSCP 値は EF で、音声制御の DSCP 値は CS3 です。ポリシーマップ設定に従って、これらの DSCP 値は信頼されます。トラフィックは、256 Kbps のレートでポリシングされます。このレートに適合するトラフィックは、着信DSCP値を使用して送信できます。このレートを超過するトラフィックは、ポリシングされたDSCPテーブルで再マーキングされ、送信される可能性があります。policed-DSCPテーブルは、設定された値に従って、EFをAF31に、CS3をAF13に再マーキングできます。次に、対応するCoS値をDSCP-CoSテーブルから取得できます。
Class-B:Class-Bに一致する着信パケットは、DSCP値CS2でマークされます。Class-B トラフィックは、25 Mbps のレートでポリシングされます。このレートに適合するトラフィックはDSCP値2で送信でき、CoS値はDSCP-CoSテーブルから取得されます(値は2)。このレートを超過するトラフィックは、ポリシングされたDSCPテーブルで再マーキングされ、送信される可能性があります。policed-DSCPテーブルは、設定された値に従って、EFをAF31に、CS3をAF13に再マーキングできます。次に、対応するCoS値をDSCP-CoSテーブルから取得できます。
輻輳管理および回避は、3 ステップのプロセスです。そのステップは、キューイング、廃棄、およびスケジューリングです。キューイングによって、QoS ラベルに基づいてさまざまなソフトウェア キューにパケットが配置されます。Cisco Catalyst 3750 スイッチには、2 つの入力キューがあります。トラフィックが QoS ラベルで分類およびマーキングされると、QoS ラベルに基づいて 2 つの異なるキューにトラフィックを割り当てることができます。
重み付けテール ドロップ(WTD)はキュー長を管理したり、異なるトラフィック分類ごとに廃棄優先順位を設定するために使用されます。
入力および出力の両方のキューは SRR で処理され、SRR によってパケットの送信レートが制御されます。入力キューでは、SRR によってパケットがスタック リングに送信されます。SRR は、シェーピングおよび共有の 2 つのモードで動作します。入力キューでは、共有がデフォルト モードであり、これ以外のモードはサポートされません。共有モードでは、設定された重み付けに基づいてキュー間で帯域幅が共有されます。このレベルでは帯域幅は保証されていますが、このレベルに限定されていません。
このセクションでは、3 種類の設定について説明します。
設定に使用できるコマンドは、次のとおりです。
Distribution1(config)#mls qos srr-queue input ? !--- Queueing buffers Configure buffer allocation cos-map Configure cos-map for a queue id dscp-map Configure dscp-map for a queue id !--- Scheduling bandwidth Configure SRR bandwidth priority-queue Configure priority scheduling !--- Dropping threshold Configure queue tail-drop thresholds
次の出力は、マッピングをキューイングするデフォルトの QoS ラベルを示しています。各キューは、次の 3 つのしきい値レベルをサポートできます。デフォルトでは、各キュー サポートには、100% であるしきい値が 1 つだけあります。
デフォルトのキュー マップ設定:
CoS 5(DSCP 40 ~ 47)のパケットはキュー 2 に配置されます。残りのパケットはキュー 1 に配置されます。
Distribution1#show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-1 1-1 1-1 1-1 1-1 2-1 1-1 1-1 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
次の表に、キュー マッピングを入力するためのデフォルトの CoS/DSCP を示します。
CoS | DSCP | 入力キュー |
---|---|---|
0 | 0 ~ 7 | 1 |
1 | 8 ~ 15 | 1 |
2 | 16 ~ 23 | 1 |
3 | 24 ~ 31 | 1 |
4 | 32 ~ 39 | 1 |
5 | 40 ~ 47 | 2 |
6 | 48 ~ 55 | 1 |
7 | 56 ~ 63 | 1 |
デフォルトのキュー設定:
入力キュー バッファはキュー 1 により 90 %、キュー 2 により 10 % で共有されます。しきい値レベル 1、2 および 3 で 100 % になります。
Distribution1#show mls qos input-queue Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
デフォルトのスケジューラ設定:
キュー 2 はプライオリティ キューです。SRR は、設定済みの重み付け(10%)のプライオリティ キューを提供します。次に、SRRは帯域幅の残り(90 %)を両方の入力キューと共有し、設定された重み付けで指定されたとおりに処理します。この場合、キュー 1 とキュー 2 はそれぞれ 45% の割合で提供されます。
Distribution1#show mls qos input-queue Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
キューイングおよびスケジューリングの設定には、次の 3 つの手順があります。手順は次のとおりです。
キュー マップ設定:
キュー マップ設定では、DSCP 値または CoS 値に基づいて、2 つの入力キューにパケットをマッピングします。
キュー設定:
キュー設定では、2 つのキュー間で入力バッファを分割する比率を定義します(スペース量を割り当てます)。
スケジューラ設定:
SRR は、キューからスタック リングにパケットをデキューする頻度を制御する重み付けの比率を設定します。
キューおよびスケジューラの設定では、パケットが廃棄される前にバッファリングできるデータ量を制御します。
このセクションでは、WTD の廃棄レベルは設定されません。これは、キューが100 %の場合にパケットがドロップできることを意味します。
キュー マップ設定:
最初に、CoS 値がキューにマッピングされます。このセクションでは、しきい値は設定されません。
!--- Assign the frames into the queue based on the CoS value. Distribution1(config)#mls qos srr-queue input cos-map queue 1 0 1 Distribution1(config)#mls qos srr-queue input cos-map queue 2 2 3 4 5 6 7 !--- Show output. Distribution1#show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-1 1-1 2-1 2-1 2-1 2-1 2-1 2-1 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Cos-inputq-threshold マップと Dscp-inputq-threshold マップで競合がある場合があります。たとえば、CoS 3 は Cos-inputq-threshold テーブルのキュー 2 にマッピングされます。ただし、DSCP 値 24(CoS 3 に相当)は、Dscp-inputq-threshold マップのキュー 1 にマッピングされます。実際には、Dscp-inputq-threshold マップが Cos-inputq-threshold マップよりも優先されます。動作を予測可能にし、トラブルシューティングを簡素化するには、これらのマッピングをできるだけ一貫させる必要があります。そのため、Dscp-inputq-threshold マップは、Cos-inputq-threshold マップと同期するように設定されます。
!--- Assign the frames into the queue based on the DSCP value. Distribution1(config)#mls qos srr-queue input dscp-map queue 2 16 17 18 19 20 21 22 23 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 24 25 26 27 28 29 30 31 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 32 33 34 35 36 37 38 39 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 48 49 50 51 52 53 54 55 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 56 57 58 59 60 61 62 63 Distribution1#show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 02-01 02-01 02-01 02-01 2 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 3 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 5 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 6 : 02-01 02-01 02-01 02-01
キュー設定:
Cisco IOSは、QoSが有効になった後、入力パケットをキューイングするためにバッファにデフォルトスペースを割り当てます。キュー 1 とキュー 2 の両方の入力キューが、このバッファ スペースを共有します。Catalyst 3750 スイッチでは、各キューが使用できるこのバッファ スペースのパーセンテージを設定できます。入力キューの使用可能メモリ全体の 67% はキュー 1 に割り当てられ、33% はキュー 2 に割り当てられます。
Distribution1(config)#mls qos srr-queue input buffers 67 33 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 4 4 priority : 0 10 threshold1: 100 100 threshold2: 100 100
スケジューラ設定:
この設定は、themls qos srr-queue input bandwidthcommandコマンドを使用して実行されます。ここでは、この帯域幅が、キューで SRR によって処理されるビット量を示します。
Distribution1(config)#mls qos srr-queue input bandwidth 90 10 Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 90 10 priority : 0 20 threshold1: 100 100 threshold2: 100 100
デフォルトでは、キュー 2 はプライオリティ キューであり、内部リング帯域幅全体の 10% がプライオリティ キューに割り当てられます。また、キュー 1 をプライオリティ キューとして設定することもできます。ただし、両方のキューをプライオリティ キューとして設定することはできません。
リングの帯域幅が 10Gbps の場合、SRR はまず 10Gbps の 20%(2 Gbps)をキュー 2 に提供します。残りの8 Gbpsのリング帯域幅は、キュー1とキュー2で共有されます。設定に従って、キュー 1 には 8 Gbps の 90 % が供給され、再度キュー 2 には 8 Gbps の 10 % が供給されます。この 8 Gbps の帯域幅は、共有モードの SRR によって提供されます。これは、設定された帯域幅のパーセンテージは保証されますが、それに限定されないことを意味します。
注:mls qos srr-queue input priority-queue 2 bandwidth 0コマンドを使用すると、プライオリティキューを無効にできます。
Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 90 10 priority : 0 0 threshold1: 100 100 threshold2: 100 100 Distribution1(config)#
このセクションでは、キューのバッファ サイズに加えて、WTD のしきい値レベルが設定されます。スイッチを通過する各パケットをキューおよびしきい値に割り当てることができます。
次に、設定例と説明を示します。
キュー マップ設定:
最初に、CoS 値がキューにマッピングされます。
!--- Assign the frames into the queue based on the CoS value. Distribution1(config)#mls qos srr-queue input cos-map queue 1 threshold 2 1 Distribution1(config)#mls qos srr-queue input cos-map queue 1 threshold 3 0 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 1 2 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 2 4 6 7 Distribution1(config)#mls qos srr-queue input cos-map queue 2 threshold 3 3 5 !--- Show output. Distribution1(config)#do show mls qos maps cos-input-q Cos-inputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 1-3 1-2 2-1 2-3 2-2 2-3 2-2 2-2 Distribution1(config)#do show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01 5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 6 : 01-01 01-01 01-01 01-01
Cos-inputq-threshold マップと Dscp-inputq-threshold マップで競合がある場合があります。たとえば、CoS 3 は Cos-inputq-threshold テーブルのキュー 2 にマッピングされますが、DSCP 値 24(CoS 3 に相当)は Dscp-inputq-threshold マップのキュー 1 にマッピングされます。実際には、Dscp-inputq-threshold マップが Cos-inputq-threshold マップよりも優先されます。動作を予測可能にし、トラブルシューティングを簡素化するには、これらのマッピングをできるだけ一貫させる必要があります。そのため、Dscp-inputq-threshold マップは、Cos-inputq-threshold マップと同期するように設定されます。
!--- Assign the frames into the queue based on the DSCP value. Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 2 9 10 11 12 13 14 15 Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 0 1 2 3 4 5 6 7 Distribution1(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 32 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 1 16 17 18 19 20 21 22 23 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 33 34 35 36 37 38 39 48 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 49 50 51 52 53 54 55 56 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 2 57 58 59 60 61 62 63 Distribution1(config)#mls qos srr-queue input dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31 Distribution1(config)#do show mls qos maps dscp-input-q Dscp-inputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-01 01-02 1 : 01-02 01-02 01-02 01-02 01-02 01-02 02-01 02-01 02-01 02-01 2 : 02-01 02-01 02-01 02-01 02-03 02-03 02-03 02-03 02-03 02-03 3 : 02-03 02-03 01-03 02-02 02-02 02-02 02-02 02-02 02-02 02-02 4 : 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-02 02-02 5 : 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 02-02 6 : 02-02 02-02 02-02 02-02
キュー設定:
デフォルトでは、しきい値 3 は 100% で、変更できません。
Distribution1(config)#mls qos srr-queue input buffers 67 33 Distribution1(config)#mls qos srr-queue input threshold 1 8 16 Distribution1(config)#mls qos srr-queue input threshold 2 34 66 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 4 4 priority : 0 10 threshold1: 8 34 threshold2: 16 66
スケジューラ設定:
Cisco IOSは、QoSが有効になると、各入力ポートのバッファにデフォルトスペースを割り当てます。両方のキューが、このバッファ スペースを共有します。Catalyst 3560/3750 スイッチでは、各キューが使用できるこのバッファ スペースのパーセンテージを設定できます。
Distribution1(config)#mls qos srr-queue input bandwidth 90 10 Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20 Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 67 33 bandwidth : 90 10 priority : 0 20 threshold1: 8 34 threshold2: 16 66
デフォルトでは、キュー 2 はプライオリティ キューであり、内部リング帯域幅全体の 10% がプライオリティ キューに割り当てられます。また、キュー 1 をプライオリティ キューとして設定することもできます。ただし、両方のキューをプライオリティ キューとして設定することはできません。
リングの帯域幅が 10Gbps の場合、SRR はまず 10Gbps の 20%(2 Gbps)をキュー 2 に提供します。残りの 8 Gbps のリング帯域幅は、キュー 1 とキュー 2 により共有されます。設定に従って、キュー 1 には 8 Gbps の 90 % が供給され、再度キュー 2 には 8 Gbps の 10 % が供給されます。この 8 Gbps の帯域幅は、共有モードの SRR によって提供されます。これは、設定された帯域幅のパーセンテージは保証されますが、それに限定されないことを意味します。
注:mls qos srr-queue input priority-queue 2 bandwidth 0コマンドを使用すると、プライオリティキューを無効にできます。
Distribution1(config)#do show mls qos input Queue : 1 2 ---------------------------------------------- buffers : 90 10 bandwidth : 90 10 priority : 0 0 threshold1: 100 100 threshold2: 100 100 Distribution1(config)#
輻輳管理および回避は、Cisco Catalyst 3750 スイッチでサポートされる出力 QoS 機能です。輻輳管理および回避は、3 ステップのプロセスです。そのステップは、キューイング、廃棄、およびスケジューリングです。
キューイングによって、QoS ラベルに基づいてさまざまなソフトウェア キューにパケットが配置されます。Cisco Catalyst 3750 スイッチには 4 つの出力キューがあり、キューごとに 3 つのしきい値あります。トラフィックが QoS ラベルで分類およびマーキングされると、QoS ラベルに基づいて 4 つの異なるキューにトラフィックを割り当てることができます。
各キューは、バッファ サイズ、予約済みしきい値、しきい値レベル、および最大しきい値を使用して設定できます。重み付けテール ドロップ(WTD)はキュー長を管理したり、異なるトラフィック分類ごとに廃棄優先順位を設定するために使用されます。入力キューのパラメータは、グローバルに設定されます。入力キューのパラメータは、ポート単位では設定されません。ただし、出力キューのパラメータはポート単位で設定されます。その場合にも、設定はポート単位で行います。各ポートを違うように設定することはできません。各ポートは 2 つの異なる方法で設定できます。これはキュー セットと呼ばれます。グローバル設定では、最大 2 つの異なるキュー セットを設定できます。これら 2 つのいずれかをインターフェイスに適用できます。
入力および出力の両方のキューは SRR で処理され、SRR によってパケットの送信レートが制御されます。入力キューでは、SRR によってパケットがスタック リングに送信されます。SRR は、シェーピングおよび共有の 2 つのモードで動作します。入力キューでは、共有がデフォルト モードであり、これ以外のモードはサポートされません。共有モードでは、設定された重み付けに基づいて、キュー間で帯域幅が共有されます。このレベルでは帯域幅は保証されていますが、このレベルに限定されていません。シェーピング モードでは、出力キューの帯域幅のパーセンテージが保証され、この値にレートが制限されます。リンクがアイドルの場合でも、シェーピングされたトラフィックは割り当てられた帯域幅を超えて使用できません。シェーピングを使用すると、時間あたりのトラフィック フローがより均一になり、バースト トラフィックの最高時と最低時を削減します。キュー 1 は、プライオリティ キューとして設定できます。
このセクションでは、使用可能なすべての 出力 QoS コマンドを分類します。
キュー マップ設定:
CoS 値を出力キューにマッピングするには、次のコマンドを使用します。
Rack1SW1(config)#mls qos srr-queue output cos-map queue ? <1-4> enter cos-map output queue id Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold ? <1-3> enter cos-map threshold id Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 1 ? <0-7> 8 cos values separated by spaces
DSCP 値を出力キューにマッピングするには、次のコマンドを使用します。
Rack1SW1(config)#mls qos srr-queue output dscp-map queue ? <1-4> enter dscp-map output queue id Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1 threshold ?
<1-3> enter dscp-map threshold id Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1threshold 1 ?
<0-63> dscp values separated by spaces (up to 8 values total)
キュー設定:
出力キューの設定によって、2 つのキューセットを設定できます。各キュー セットには、4 つの出力キューのバッファ サイズおよびしきい値を設定するためのオプションがあります。また、いずれかのキュー セットを任意のポートに適用できます。デフォルトでは、スイッチで QoS を有効にすると、すべてのポートにキュー セット 1 が割り当てられます。
Rack1SW1(config)#mls qos queue-set output ? <1-2> queue-set id Rack1SW1(config)#mls qos queue-set output 1 ? buffers assign buffers to each egress queue threshold Assign threshold values to a queue
4 つすべての出力キューのバッファ サイズを設定するには、次のコマンドを使用します。
Rack1SW1(config)#mls qos queue-set output 1 buffers ? <0-99> enter buffer percentage for queue 1 0-99 Rack1SW1(config)#mls qos queue-set output 1 buffers 10 ? <1-100> enter buffer percentage for queue 2 1-100 (includes CPU buffer) Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 ? <0-99> enter buffer percentage for queue 3 0-99 Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 30 ? <0-99> enter buffer percentage for queue 4 0-99
各キューの 2 つのしきい値、予約済みしきい値、および最大しきい値を設定するには、次のコマンドを使用します(しきい値 3 はデフォルトで 100% で、変更できません)。
Rack1SW1(config)#mls qos queue-set output 1 threshold ? <1-4> enter queue id in this queue set Rack1SW1(config)#mls qos queue-set output 1 threshold 1 ? <1-400> enter drop threshold1 1-400 Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 ? <1-400> enter drop threshold2 1-400 Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60 ? <1-100> enter reserved threshold 1-100 Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60 100 ?
<1-400> enter maximum threshold 1-400
インターフェイスにキュー セットを適用するには、次のコマンドを使用します(デフォルトでは、スイッチで QoS を有効にするとすべてのポートにキュー セット 1 が割り当てられます)。
Rack1SW1(config-if)#queue-set ? <1-2> the qset to which this port is mapped
スケジューラ設定:
スイッチ インターフェイスには、3 つの異なる設定を使用できます。設定は、帯域幅のシェーピング、共有、および制限です。また、出力キュー 1 をプライオリティ キューとして設定することもできます。プライオリティキューが有効な場合、SRRは他の3つのキューを処理する前に、プライオリティキューが空になるまで処理を続けます。ただし、入力プライオリティ キューでは、SRR は設定した値を使用してプライオリティ キューを提供します。
Rack1SW1(config-if)#srr-queue bandwidth ? limit Configure bandwidth-limit for this interface shape Configure shaping on transmit queues share Configure shared bandwidth Rack1SW1(config-if)#priority-queue ? out egress priority queue
帯域幅の制限の設定:
Rack1SW1(config-if)#srr-queue bandwidth limit ? <10-90> enter bandwidth limit for interface as percentage
帯域幅のシェーピングの設定:
Rack1SW1(config-if)#srr-queue bandwidth shape ? <0-65535> enter bandwidth weight for queue id 1 Rack1SW1(config-if)#srr-queue bandwidth shape 10 ? <0-65535> enter bandwidth weight for queue id 2 Rack1SW1(config-if)#srr-queue bandwidth shape 10 20 ? <0-65535> enter bandwidth weight for queue id 3 Rack1SW1(config-if)#srr-queue bandwidth shape 10 20 30 ? <0-65535> enter bandwidth weight for queue id 4
帯域幅の共有の設定:
Rack1SW1(config-if)#srr-queue bandwidth share ? <1-255> enter bandwidth weight for queue id 1 Rack1SW1(config-if)#srr-queue bandwidth share 10 ? <1-255> enter bandwidth weight for queue id 2 Rack1SW1(config-if)#srr-queue bandwidth share 10 20 ? <1-255> enter bandwidth weight for queue id 3 Rack1SW1(config-if)#srr-queue bandwidth share 10 20 30 ? <1-255> enter bandwidth weight for queue id 4
プライオリティ キューが有効でない限り、4 つのキューはすべて SRR に参加し、この場合、1 つ目の帯域幅重みは無視されて比率計算に使用されません。他のキューが提供される前に、プライオリティ キューが空になるまで供給されます。プライオリティ キューを有効にするには、priority-queue out インターフェイス設定コマンドを使用します。
デフォルトのキューマップ設定
必要に応じて、これらのデフォルト マッピングを変更できます。
!--- Map CoS to Egress Queue Distribution1#show mls qos maps cos-output-q Cos-outputq-threshold map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ queue-threshold: 2-1 2-1 3-1 3-1 4-1 1-1 4-1 4-1 !--- Map DSCP to Egress Queue Distribution1#show mls qos maps dscp-output-q Dscp-outputq-threshold map: d1 :d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------------------------------ 0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01 2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01 5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 6 : 04-01 04-01 04-01 04-01
デフォルトのキュー設定
出力キューのデフォルト設定は、ほとんどの状況に適しています。出力キューについて十分に理解したうえで、これらの設定が使用しているQoSソリューションに適合しない場合にのみ、設定を変更する必要があります。
2 つのキュー セットが設定され、デフォルトではキュー セット 1 がすべてのポートに割り当てられます。各キューには、バッファ スペース全体の 25% が割り当てられます。また、割り当て済みバッファ スペースの 50%(バッファ スペース全体の 12.5%)が予約されます。予約されたすべてのバッファの合計が予約済みプールであり、残りのバッファは共通プールの一部になります。デフォルト設定では、パケットが廃棄される前にこのキューが保持できる最大メモリとして 400% が設定されています。
Distribution1#show mls qos queue-set 1 Queueset: 1 Queue : 1 2 3 4 ---------------------------------------------- buffers : 25 25 25 25 threshold1: 100 200 100 100 threshold2: 100 200 100 100 reserved : 50 50 50 50 maximum : 400 400 400 400 Distribution1#show mls qos queue-set 2 Queueset: 2 Queue : 1 2 3 4 ---------------------------------------------- buffers : 25 25 25 25 threshold1: 100 200 100 100 threshold2: 100 200 100 100 reserved : 50 50 50 50 maximum : 400 400 400 400 Distribution1#show mls qos int gigabitEthernet 1/0/20 buffers GigabitEthernet1/0/20 The port is mapped to qset : 1 The allocations between the queues are : 25 25 25 25
デフォルトのスケジューラ設定:
プライオリティ キューは無効になっています。SRR には、シェーピング モードと共有モードの両方が設定されます。シェーピング モードの重みは、共有モードの値よりも優先されます。そのため、実質的には、キュー 1 はシェーピング モードで予約され、キュー 2、3、および 4 は共有モードで提供されます。これは、キュー 1 が帯域幅の絶対値(1/25% または 4%)で提供されることを意味します。キュー 2、3、および 4 は、帯域幅の 25% で提供されます。帯域幅が使用可能な場合、キュー 2、3、および 4 は帯域幅の 25% 以上で提供できます。
Distribution1#show mls qos int gigabitEthernet 1/0/20 queueing GigabitEthernet1/0/20 Egress Priority Queue : disabled Shaped queue weights (absolute) : 25 0 0 0 Shared queue weights : 25 25 25 25 The port bandwidth limit : 100 (Operational Bandwidth:100.0) The port is mapped to qset : 1
以下に設定例を示します。
キュー マップ設定:
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 3 5 Rack1SW1(config)#mls qos srr-queue output cos-map queue 1 threshold 1 2 4 Rack1SW1(config)#mls qos srr-queue output cos-map queue 2 threshold 2 3 Rack1SW1(config)#mls qos srr-queue output cos-map queue 2 threshold 3 6 7 Rack1SW1(config)#mls qos srr-queue output cos-map queue 3 threshold 3 0 Rack1SW1(config)#mls qos srr-queue output cos-map queue 4 threshold 3 1
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1 threshold 3 46 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 16 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 18 20 22 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 25 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 32 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 1 34 36 38 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 2 24 26 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 2 threshold 3 48 56 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 3 threshold 3 0 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 4 threshold 1 8 Rack1SW1(config)#mls qos srr-queue output dscp-map queue 4 threshold 3 10 12 14
キュー設定:
次の設定に、キュー セット 1 および 2 両方の設定を示します。デフォルトでは、キュー セット 1 がすべてのインターフェイスで適用されます。
Rack1SW3(config)#mls qos queue-set output 1 buffers 10 10 26 54 Rack1SW3(config)#mls qos queue-set output 2 buffers 16 6 17 61
Rack1SW3(config)#mls qos queue-set output 1 threshold 2 70 80 100 100 Rack1SW3(config)#mls qos queue-set output 1 threshold 4 40 100 100 100 Rack1SW3(config)#mls qos queue-set output 2 threshold 1 149 149 100 149 Rack1SW3(config)#mls qos queue-set output 2 threshold 2 118 118 100 235 Rack1SW3(config)#mls qos queue-set output 2 threshold 3 41 68 100 272 Rack1SW3(config)#mls qos queue-set output 2 threshold 4 42 72 100 242
Rack1SW3(config)#interface fastethernet 1/0/11 Rack1SW3(config-if)#queue-set 2
インターフェイス 1/0/11 は、キュー セット 2 によって適用されます。
Rack1SW3(config-if)#do show mls qos interface fastethernet 1/0/10 buffers FastEthernet1/0/10 The port is mapped to qset : 1 The allocations between the queues are : 10 10 26 54 Rack1SW3(config-if)#do show mls qos interface fastethernet 1/0/11 buffers FastEthernet1/0/11 The port is mapped to qset : 2 The allocations between the queues are : 16 6 17 61
スケジューラ設定:
Rack1SW3(config-if)#srr-queue bandwidth share 1 75 25 5 Rack1SW3(config-if)#srr-queue bandwidth shape 3 0 0 0
Cisco Catalyst 3750 の出力キューは、低遅延キューイング(LLQ)をサポートしていません。プライオリティ キューイングはサポートされます。priority-queue out を設定すると、パケットがあるときはキュー 1 が常に提供されます。
Rack1SW3(config-if)#srr-queue bandwidth share 1 75 25 5 Rack1SW3(config-if)#srr-queue bandwidth shape 3 0 0 0 Rack1SW3(config-if)#priority-queue out
このコマンドを設定すると、SRRに参加するキューが1つ少なくなるため、SRRの重みとキューサイズの比率が影響を受けます。つまり、srr-queue bandwidth shapeコマンドまたはsrr-queue bandwidth shareコマンドのweight1が無視されます(比率計算では使用されません)。
次に、特定のキューの廃棄を表示するコマンドを示します。
ステップ 1:
1/ #show platform pm if-numbers
show platform pm if-numbersコマンドを使用し、使用しているインターフェイス(3750での発信インターフェイス)に対応するポート情報を確認します。たとえば、fas 0/3はポート0/4に設定できます。ポート値は4のままにします。最初の値がゼロでない場合は、ポート番号の後にASIC番号を指定します。
interface gid gpn lpn port slot unit slun port-type lpn-idb gpn-idb ------------------------------------------------------------------------ --------- Gi0/1 1 1 25 0/1 1 1 1 local Yes Yes Gi0/2 2 2 26 0/0 1 2 2 local Yes Yes Fa0/1 3 3 1 0/2 1 1 3 local Yes Yes Fa0/2 4 4 2 0/3 1 2 4 local Yes Yes Fa0/3 5 5 3 0/4 1 3 5 local Yes Yes Fa0/4 6 6 4 0/5 1 4 6 local Yes Yes Fa0/5 7 7 5 0/6 1 5 7 local Yes Yes Fa0/6 8 8 6 0/7 1 6 8 local Yes Yes
インターフェイスfa 0/3に対応するポート値は0/4です。ここで、show platform port-asic stats drop port 4 コマンドを使用して、インターフェイス fa 0/3 のキューの廃棄を表示できます。
2/ #show platform port-asic stats drop port 4 Port-asic Port Drop Statistics - Summary ======================================== RxQueue 0 Drop Stats: 0 RxQueue 1 Drop Stats: 0 RxQueue 2 Drop Stats: 0 RxQueue 3 Drop Stats: 0 ... Port 4 TxQueue Drop Statistics Queue 0 Weight 0 Frames 0 Weight 1 Frames 0 Weight 2 Frames 0 Queue 1 Weight 0 Frames 0 Weight 1 Frames 2755160 <--- Here is an example of drops Weight 2 Frames 0 Queue 2 Weight 0 Frames 0 Weight 1 Frames 0 Weight 2 Frames 0 Queue 3 Weight 0 Frames 0 Weight 1 Frames 0 Weight 2 Frames 8
ステップ 2:
帯域幅の制限の設定:
ポートの最大出力を制限するには、srr-queue bandwidth limit インターフェイス設定コマンドを設定します。このコマンドを 80% に設定した場合、ポートは 20% の時間はアイドル状態になります。ライン レートは接続速度の 80% に下がります。ただし、ハードウェアはライン レートを 6%単位で調整しているため、この値は厳密ではありません。このコマンドは、10 ギガビット イーサネット インターフェイスでは使用できません。
srr-queue bandwidth limit weight1
ここで、weight1は、制限する必要があるポートのポート速度のパーセンテージです。範囲は 10 ~90 です。
注:出力キューのデフォルト設定は、ほとんどの状況に適しています。出力キューについて十分に理解したうえで、これらの設定がQuality of Service(QoS)ソリューションを満たさない場合にのみ、設定を変更する必要があります。
改定 | 発行日 | コメント |
---|---|---|
2.0 |
31-May-2023 |
再認定 |
1.0 |
17-May-2007 |
初版 |