内容

はじめに

前提条件

要件

使用するコンポーネント

表記法

QoS の概要

QoS を使用しない Cisco Catalyst 3750 スイッチ

Cisco Catalyst 3750 スイッチの QoS 機能

入力 QoS 機能

デフォルトの入力 QoS 設定

分類およびマーキング

分類およびマーキング：ポート ベース

分類：ポートの信頼の設定

マーキング：QoS マッピング テーブルの設定

分類およびマーキング：MQC ベース

ポリシング

分類、マーキング、およびポリシング（超過アクション：drop）

分類、マーキング、およびポリシング（超過アクション：policed-dscp-transmit）

輻輳管理および回避

デフォルトのキューイング、廃棄、スケジューリング設定

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

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

出力 QoS 機能

出力 QoS コマンド

デフォルト設定

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

関連情報

はじめに

このドキュメントでは、分類、マーキング、ポリシング、キューイング、スケジューリングなどのCatalyst 3750スイッチのQoS機能について説明します。

前提条件

要件

次の項目に関する専門知識があることが推奨されます。

- QoS の設定.

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- Cisco Catalyst 3750 スイッチ

- Cisco IOS® ソフトウェア リリース 12.2(35)SE2

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

表記法

表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

QoS の概要

QoS を使用すると、特定のトラフィックを他のトラフィック タイプよりも優先的に処理できます。QoSラベルを使用して、トラフィックを区別できます。

レイヤ 3 IP ヘッダーで最もよく使用される 2 つの QoS ラベルは、IP プレシデンス フィールドと DSCP フィールドです。

レイヤ 2 フレーム ヘッダーの QoS ラベルは、サービス クラス（CoS）と呼ばれます。 Catalyst スイッチの QoS ツールによる優先処理は、レイヤ 3 QoS ラベルまたはレイヤ 2 QoS ラベルのいずれかに基づいて実行できます。

このドキュメントでは、Cisco Catalyst スイッチでのレイヤ 2 およびレイヤ 3 QoS ラベルの使用を理解できるように、さまざまな例を示します。

Cisco Catalystスイッチでのレイヤ2およびレイヤ3 QoSラベルの使用

QoS を使用しない Cisco Catalyst 3750 スイッチ

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.

Cisco Catalyst 3750 スイッチの QoS 機能

3750 スイッチで QoS を有効にしても、デフォルトで有効になる入力および出力 QoS 機能はごく少数です。次の図に、スイッチの QoS アーキテクチャの概要を示します。

スイッチQoSアーキテクチャの概要

この図に基づいたポイントの概要は、次のとおりです。

- 分類、マーキング、ポリシングなどの入力 QoS 機能は、ポート単位で設定できます。

- 入力マッピング テーブルおよび入力キューイングは、グローバルに設定できます。これらは、ポート単位では設定できません。

- 入力キューの SRR は、グローバルに設定できます。

- スタック リングの帯域幅は、スタックのケーブル接続に依存します。スタックが全帯域幅で接続されている場合、32Gbps の帯域幅を受信します。この帯域幅は、スタック内のすべてのスイッチで共有されます。

- 出力マッピング テーブルおよび出力キューは、グローバルに設定されます。2 セットのキュー設定を使用可能で、1 つのポートにいずれかのキュー セット設定を適用できます。

- 出力キューの SRR は、ポート単位で設定できます。

入力 QoS 機能

このセクションでは、使用可能なさまざまな入力 QoS 設定の概念について説明します。この項では、次のトピックについて取り上げます。

- デフォルトの入力 QoS 設定

- 分類およびマーキング

- ポリシング

- 輻輳管理および回避

デフォルトの入力 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 ラベルが割り当てられている可能性があります。次の疑問が生じる可能性があります。

- ポートの着信パケット/フレームの 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 マッピング テーブルの設定

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 を使用してパケットを分類およびマーキングすることができます。ポート固有の設定の代わりに MQC を使用できます。また、ポリシーマップを使用して着信パケットをマーキングすることもできます。

この例の要件は次のとおりです。

- IP 電話トラフィックの CoS 値を信頼します。

- IP 電話に接続された PC からのソフトウォン アプリケーション パケットの DSCP 値をマーキングします。

- PC からのその他すべてのトラフィックは信頼しません。

分類およびマーキング：MQCベース

この図は、ポリシーマップがインターフェイスの入力に適用されていることを示しています。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 からのトラフィックに最高の優先順位を設定します。

1. 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

2. 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

3. その他すべてのトラフィックには、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

4. 関連するインターフェイスの下でこれを適用します。

Switch(config)#interface

Switch(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.

このセクションでは、次のトピックについて説明します。

- 分類、マーキング、およびポリシング（超過アクション：drop）

- 分類、マーキング、およびポリシング（超過アクション：policed-dscp-transmit）

分類、マーキング、およびポリシング（超過アクション：drop）

このセクションでは、過剰なトラフィックを廃棄するポリシング設定について説明します。ポリシングでは、着信トラフィックを測定して、設定されたビット/秒に着信レートを維持します。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 のレートでポリシングされます。超過パケットは、ポリサーによって廃棄されます。

分類、マーキング、およびポリシング（超過アクション：policed-dscp-transmit）

このセクションでは、過剰なトラフィックをマーキングおよび転送するポリシング設定について説明します。次の図に、2 つのクラスマップがあるポリシーマップ sample-policy3 を示します。

ポリシング（超過アクション、ポリシングDSCP送信）

スイッチは、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 つの手順があります。手順は次のとおりです。

1. キュー マップ設定：

キュー マップ設定では、DSCP 値または CoS 値に基づいて、2 つの入力キューにパケットをマッピングします。

2. キュー設定：

キュー設定では、2 つのキュー間で入力バッファを分割する比率を定義します（スペース量を割り当てます）。

3. スケジューラ設定：

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)#

出力 QoS 機能

輻輳管理および回避は、Cisco Catalyst 3750 スイッチでサポートされる出力 QoS 機能です。輻輳管理および回避は、3 ステップのプロセスです。そのステップは、キューイング、廃棄、およびスケジューリングです。

キューイングによって、QoS ラベルに基づいてさまざまなソフトウェア キューにパケットが配置されます。Cisco Catalyst 3750 スイッチには 4 つの出力キューがあり、キューごとに 3 つのしきい値あります。トラフィックが QoS ラベルで分類およびマーキングされると、QoS ラベルに基づいて ４ つの異なるキューにトラフィックを割り当てることができます。

各キューは、バッファ サイズ、予約済みしきい値、しきい値レベル、および最大しきい値を使用して設定できます。重み付けテール ドロップ（WTD）はキュー長を管理したり、異なるトラフィック分類ごとに廃棄優先順位を設定するために使用されます。入力キューのパラメータは、グローバルに設定されます。入力キューのパラメータは、ポート単位では設定されません。ただし、出力キューのパラメータはポート単位で設定されます。その場合にも、設定はポート単位で行います。各ポートを違うように設定することはできません。各ポートは 2 つの異なる方法で設定できます。これはキュー セットと呼ばれます。グローバル設定では、最大 2 つの異なるキュー セットを設定できます。これら 2 つのいずれかをインターフェイスに適用できます。

入力および出力の両方のキューは SRR で処理され、SRR によってパケットの送信レートが制御されます。入力キューでは、SRR によってパケットがスタック リングに送信されます。SRR は、シェーピングおよび共有の 2 つのモードで動作します。入力キューでは、共有がデフォルト モードであり、これ以外のモードはサポートされません。共有モードでは、設定された重み付けに基づいて、キュー間で帯域幅が共有されます。このレベルでは帯域幅は保証されていますが、このレベルに限定されていません。シェーピング モードでは、出力キューの帯域幅のパーセンテージが保証され、この値にレートが制限されます。リンクがアイドルの場合でも、シェーピングされたトラフィックは割り当てられた帯域幅を超えて使用できません。シェーピングを使用すると、時間あたりのトラフィック フローがより均一になり、バースト トラフィックの最高時と最低時を削減します。キュー 1 は、プライオリティ キューとして設定できます。

出力 QoS コマンド

このセクションでは、使用可能なすべての 出力 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 インターフェイス設定コマンドを使用します。

デフォルト設定

デフォルトのキューマップ設定

デフォルトのキューイング、廃棄、およびスケジューリング2

必要に応じて、これらのデフォルト マッピングを変更できます。

!--- 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)ソリューションを満たさない場合にのみ、設定を変更する必要があります。

関連情報

- QoS の設定

- Cisco Catalyst 3750 シリーズ スイッチ：サポート ドキュメント

- ワイヤレス製品に関するサポート

- シスコのテクニカルサポートとダウンロード