マーキングの設定

マーキングについて

マーキングは、着信および発信パケットの Quality of Service(QoS)フィールドを変更するために使用する方式です。マーキングが可能な QoS フィールドは、レイヤ 3 では IP precedence、および DiffServ コード ポイント(DSCP)です。QoS グループはシステムにとってローカルなラベルで、中間マーキング値を割り当てることができます。QoS グループのラベルを使用して、出力スケジューリングを決定できます。

マーキングのコマンドは、ポリシー マップ内で参照されるトラフィック クラスで使用できます。次の表に、設定できるマーキング機能を示します。

表 1. 設定可能なマーキング機能

マーキング機能

説明

DSCP

レイヤ 3 DSCP。

IP precedence

レイヤ 3 の IP precedence。

(注)  

 

IP precedence では、タイプ オブ サービス(ToS)フィールドの下位 3 ビットだけが使用されます。TOS フィールドの最初の 3 ビットはデバイスによって 0 に上書きされます。

QoS グループ

システム内部で操作および照合できる、ローカルで有効な QoS 値。範囲は 0 ~ 3 です。

入力

マーキングのステータスは着信パケットに適用されます。

CoS

レイヤ 2 VLAN ID

信頼境界

信頼境界は、ネットワークの境界を形成します。ネットワークはスイッチのマーキングを信頼します(オーバーライドしません)。

受信インターフェイスは信頼境界を以下のように実行します。

  • すべてのファイバ チャネルおよび仮想ファイバ チャネル インターフェイスは、FCoE システム クラスに自動的に分類されます。

  • デフォルトでは、すべてのイーサネット インターフェイスは信頼できるインターフェイスです。802.1p サービス クラス(CoS)値でタグ付けされたパケットは、パケット内の値を使用して、システム クラスに分類されます。

  • 802.1p CoS 値でタグ付けされていないパケットは、デフォルトのドロップ システム クラスに分類されます。タグなしパケットがトランク上で送信される場合、このパケットにはデフォルトのタグなし CoS 値 0 がタグ付けされます。

  • イーサネット インターフェイスまたはポート チャネルのデフォルトのタグなし Cos 値は上書きできます。

システムがタグなしパケットに正しい CoS 値を適用すると、QoS は新しく定義されたクラスに従ってパケットを処理します。

動作のクラス

ルーテッド ユニキャスト トラフィックの場合、CoS 値は使用できず、パケットには DiffServ コード ポイント(DSCP)値のみが含まれます。ブリッジド ユニキャスト トラフィックの場合、CoS 値は、802.1q ヘッダーで受信した CoS 値からコピーされます。レイヤ 2 アクセス リンクでは、トランク ヘッダーがないことに注意してください。このため、トラフィックがアクセス ポートで受信されてブリッジされる場合、そのトラフィックは CoS 0 でスイッチを入力します。DSCP 値は変更されませんが、パケットは望ましい優先度を取得しないことがあります。CoS 値または DSCP 値を手動で設定する QoS ポリシーにより、ポリシーマップで CoS 値を手動で設定できます。

ルーテッド マルチキャスト トラフィックは、ルーテッド ユニキャスト トラフィックと同様の CoS 値を取得します。ブリッジド マルチキャスト トラフィックの場合、動作は レイヤ 3 の状態によって決まります。マルチキャスト グループにレイヤ 3 ステートがない場合、CoS はブリッジド ユニキャスト トラフィックと同様に取得されます。マルチキャスト グループにレイヤ 3 ステートがある場合、ルーテッド ユニキャスト トラフィックと同様に CoS が取得されます。


(注)  


トラフィックが受信される VLAN のスイッチ仮想インターフェイス(SVI)でスパース モードの Protocol Independent Multicast(PIM)をイネーブルにすると、PIM はマルチキャスト トラフィックの S、G エントリを作成します。


表 2. トラフィック タイプごとの CoS 動作
トラフィックのタイプ CoS の動作
ルーテッド ユニキャスト [変更なし(Unchanged)]
ブリッジド ユニキャスト [変更なし(Unchanged)]
ルーテッド マルチキャスト ToS の 3 MSB からコピー
グループのレイヤ 3 ステートのブリッジド マルチキャスト ToS の 3 MSB からコピー
グループに レイヤ 3 状態がないブリッジド マルチキャスト [変更なし(Unchanged)]

(注)  


トラフィック タイプごとの CoS 動作は、Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされていません。


マーキングの前提条件

分類の前提条件は、次のとおりです。

  • モジュラ QoS CLI について理解している。

  • デバイスにログインしている。

マーキングに関するガイドラインと制約事項

マーキングの設定時のガイドラインと制約事項は次のとおりです。

  • PVLANはPVLAN QoSをサポートしません。

  • show コマンド(internal キーワード付き )はサポートされていません。

  • 出力 QoS ポリシーは、サブインターフェイスではサポートされません。

  • set qos-group コマンドは入力ポリシーでのみ使用できます。


    (注)  


    QoS ポリシー マップをインターフェイスに付加することにより、その QoS ポリシー マップ内のマーキング命令を入力パケットに適用できます。入力を選択するには、コマンドでキーワードを指定します。input service-policy


    詳細については、「QoS ポリシー アクションの付加および消去」の項を参照してください。

  • FEX QoS ポリシーは FEX ホスト インターフェイス(HIF)をサポートします。


    (注)  


    FEX ホスト インターフェイスは、Cisco Nexus 9508 スイッチではサポートされていません。


    • QoS TCAM カービングは、ALE(アプリケーション リーフ エンジン)対応スイッチでサポートされます。

    • FEX QoS ポリシーは set qos-group コマンドのみをサポートします。その他のマーキング コマンドはサポートされていません。


      (注)  


      set qos-group 0 はクラスのデフォルトとして予約されています。ユーザ定義のクラスでは設定できません。


    • QoS グループの一致がサポートされます。

  • 出力パケットのスケジューリングには、インターフェイス レベルの出力 QoS ポリシーを 100G ポートに適用する必要があります。出力 QoS ポリシーが 100G ポートに設定されていない場合、すべての出力パケット トラフィックはデフォルト キュー(Qos-group 0)を通過します。


    (注)  


    100G ポートの出力 QoS ポリシーは、N9K-M4PC-CFP2 GEM を搭載した Cisco Nexus 9300 プラットフォーム スイッチ、または Cisco Nexus 9408PC-CFP2 ライン カードを搭載した Cisco Nexus 9500 プラットフォーム スイッチにのみ適用されます。他のすべての 100G Cisco Nexus シリーズ スイッチでは、出力 QoS ポリシーは必須ではありません。


  • BPDU、ルーティング プロトコル パケット、LACP/CDP/BFD、GOLD パケット、収集トラフィック、管理トラフィックなどの制御トラフィックは、基準に基づいて自動的に制御グループに分類されます。これらのパケットは qos-group 8 に分類され、他のトラフィックよりも厳密に絶対プライオリティが高くなります。これらのパケットには専用のバッファ プールも割り当てられるため、データ トラフィックの輻輳が制御トラフィックに影響を与えることはありません。制御 qos-group トラフィック分類は変更できません。

  • スパン トラフィックは自動的に qos-group 9 に分類され、絶対低優先順位でスケジュールされます。

  • 出力 QoS ポリシーは、Cisco Nexus 9200 プラットフォーム スイッチではサポートされません。

  • QoS マーキング ポリシーはサブインターフェイスで有効にできます。

  • Cisco NX-OS リリース 10.1(2) 以降、マーキング設定 は N9K-X9624D-R2 および N9K-C9508-FM-R2 プラットフォーム スイッチでサポートされます。

マーキングの設定

ポリシー マップ内で 1 つまたは複数のマーキング機能を組み合わせることにより、QoS 値の設定を制御できます。次に、インターフェイス上の着信パケットまたは発信パケットのいずれかにポリシーを適用できます。


(注)  


コマンドを使用したあと、コマンドの残りの部分を追加する前に、Enter キーを押さないでください。set set キーワードを入力した直後に Enter を押すと、QoS の設定を続けることができなくなります。


DSCP マーキングの設定

IP ヘッダーの DiffServ フィールドの上位 6 ビットで、DSCP 値を指定の値に設定できます。次の表に示す標準の DSCP 値のほか、0 ~ 63 の数値も入力できます。

表 3. 標準の DSCP 値

DSCP 値のリスト

af11

AF11 dscp(001010):10 進値 10

af12

AF12 dscp(001100):10 進値 12

af13

AF13 dscp(001110):10 進値 14

af21

AF21 dscp(010010):10 進値 18

af22

AF22 dscp(010100):10 進値 20

af23

AF23 dscp(010110):10 進値 22

af31

AF31 dscp(011010):10 進値 26

af32

AF40 dscp(011100):10 進値 28

af33

AF33 dscp(011110):10 進値 30

af41

AF41 dscp(100010):10 進値 34

af42

AF42 dscp(100100):10 進値 36

af43

AF43 dscp(100110):10 進値 38

cs1

CS1(precedence 1)dscp(001000):10 進値 8

cs2

CS2(precedence 2)dscp(010000):10 進値 16

cs3

CS3(precedence 3)dscp(011000):10 進値 24

cs4

CS4(precedence 4)dscp(100000):10 進値 32

cs5

CS5(precedence 5)dscp(101000):10 進値 40

cs6

CS6(precedence 6)dscp(110000):10 進値 48

cs7

CS7(precedence 7)dscp(111000):10 進値 56

デフォルト

デフォルト dscp(000000):10 進値 0

ef

EF dscp(101110):10 進値 46


(注)  


DSCP の詳細については、Request For Comments(RFC)2475 を参照してください。


手順の概要

  1. configure terminal
  2. policy-map [type qos] [match-first] policy-map-name
  3. class [type qos] {class-name | class-default} [insert-before before-class-name]
  4. set dscp dscp-value

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

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

ステップ 2

policy-map [type qos] [match-first] policy-map-name

例:

switch(config)# policy-map policy1
switch(config-pmap-qos)#

policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシーマップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [type qos] {class-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class1
switch(config-pmap-c-qos)#

class-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

ステップ 4

set dscp dscp-value

例:

switch(config-pmap-c-qos)# set
dscp af31

DSCP 値を dscp-value に設定します。標準値は、前の「標準の DSCP 値」表に示されています。

QoS ポリシーを VLAN 設定レベルで適用した場合、DSCP 値は 3 つの最も重要な DSCP ビットからのブリッジド トラフィックおよびルーテッド トラフィックに対する CoS 値を導き出します。

次に、ポリシー マップ設定の表示方法例を示します。

switch# show policy-map policy1

IP Precedence マーキングの設定

IP ヘッダーの IPv4 サービス タイプ(ToS)フィールドのビット 0 ~ 2 にある IP precedence フィールドの値を設定できます。


(注)  


このクラスに一致するパケットの場合、ToS フィールドの最後の 3 ビットはデバイスによって 0 に上書きされます。


表 4. 優先順位値

優先順位値のリスト

0 ~ 7

IP precedence 値

クリティカル

クリティカル優先順位(5)

flash

フラッシュ優先順位(3)

flash-override

フラッシュ オーバーライド優先順位(4)

即時

即時優先順位(2)

インターネット

インターネットワーク コントロール優先順位(6)

network

ネットワーク コントロール優先順位(7)

プライオリティ

プライオリティ優先順位(1)

routine

ルーチン優先順位(0)

手順の概要

  1. configure terminal
  2. policy-map [type qos] [match-first] policy-map-name
  3. class [type qos] {class-name | class-default} [insert-before before-class-name]
  4. set precedence precedence-value

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

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

ステップ 2

policy-map [type qos] [match-first] policy-map-name

例:

switch(config)# policy-map policy1
switch(config-pmap-qos)#

policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシーマップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [type qos] {class-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class1
switch(config-pmap-c-qos)#

class-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。

ステップ 4

set precedence precedence-value

例:

switch(config-pmap-c-qos)# set precedence 3

IP precedence 値を precedence-value に設定します。値の範囲は 0 ~ 7 です。前述の「precedence 値」表に示す値のいずれか 1 つを入力できます。

次に、ポリシー マップ設定の表示方法例を示します。

switch# show policy-map policy1

CoS マーキングの設定

IEEE 802.1Q ヘッダーの VLAN ID タグ フィールドの上位 3 ビットにある CoS フィールドの値を設定できます。

手順の概要

  1. configure terminal
  2. policy-map [type qos] [match-first] [qos-policy-map-name | qos-dynamic]
  3. class [type qos] {class-map-name | class-default} [insert-before before-class-name]
  4. set cos cos-value

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

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

ステップ 2

policy-map [type qos] [match-first] [qos-policy-map-name | qos-dynamic]

例:

switch(config)# policy-map policy1
switch(config-pmap-qos)#

qos-policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシーマップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [type qos] {class-map-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class1
switch(config-pmap-c-qos)#

class-map-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

ステップ 4

set cos cos-value

例:

switch(config-pmap-c-qos)# set cos 3
switch(config-pmap-c-qos)#

CoS 値を cos-value に設定します。値の範囲は 0 ~ 7 です。

次に、ポリシー マップ設定の表示方法例を示します。

switch# show policy-map policy1

FEX 用 CoS マーキングの設定


(注)  


FEX の CoS マーキング機能は、Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされていません。


FEX のサービス クラス(CoS)に基づいてトラフィックをマーキングできます。

始める前に

FEX を設定する前に、feature-set fex をイネーブルにします。

手順の概要

  1. configure terminal
  2. policy-map [type qos] [match-first] [qos-policy-map-name | qos-dynamic]
  3. class [type qos] {class-map-name | class-default} [insert-before before-class-name]

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

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

ステップ 2

policy-map [type qos] [match-first] [qos-policy-map-name | qos-dynamic]

例:

switch(config)# policy-map policy1
switch(config-pmap-qos)#

qos-policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシーマップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [type qos] {class-map-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class1
switch(config-pmap-c-qos)#

class-map-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

次に、CoS クラス マップ設定の設定方法の例を示します。


switch# conf t
switch(config)# policy-map type qos setpol
switch(config-pmap-qos)# class  cos6
switch(config-pmap-c-qos)# set qos-group 3
switch(config-pmap-qos)# class  cos3
switch(config-pmap-c-qos)# set qos-group 2
switch(config-pmap-qos)# class  cos1
switch(config-pmap-c-qos)# set qos-group 1
switch(config-pmap-qos)# class class-default

DSCP ポート マーキングの設定

指定した入力ポリシー マップで定義されているトラフィックの各クラスについて、DSCP 値を設定できます。

デバイスのデフォルトの動作では、DSCP 値は保存(つまり、DSCP は信頼)されます。ポートを非信頼にするには、DSCP 値を変更します。QoS ポリシーを設定して、指定したインターフェイスにそのポリシーを付加しない限り、DSCP 値は保存されます。


(注)  


  • 各方向について各インターフェイスに付加できるポリシー タイプ qos マップは 1 つだけです。

  • DSCP 値は、Cisco NX-OS デバイスのレイヤ 3 ポートで信頼されています。


手順の概要

  1. configure terminal
  2. policy-map [type qos] [match-first] [policy-map-name]
  3. class [type qos] {class-name | class-default} [insert-before before-class-name]
  4. set dscp-value
  5. exit
  6. class [type qos] {class-name | class-default} [insert-before before-class-name]
  7. set dscp-value
  8. exit
  9. class [type qos] {class-name | class-default} [insert-before before-class-name]
  10. set dscp-value
  11. exit
  12. interface ethernet slot/port
  13. service-policy [type qos] {input} | {output } {policy-map-name} [no-stats]

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

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

ステップ 2

policy-map [type qos] [match-first] [policy-map-name]

例:

switch(config)# policy-map policy1
switch(config-pmap-qos)#

policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシーマップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [type qos] {class-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class1
switch(config-pmap-c-qos)#

class-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

ステップ 4

set dscp-value

例:

switch(config-pmap-c-qos)# set dscp af31

DSCP 値を dscp-value に設定します。有効な値は、「DSCP マーキングの設定」の項の「標準の DSCP 値」表に示されています。

ステップ 5

exit

例:

switch(config-pmap-c-qos)# exit
switch(config-pmap-qos)#

ポリシー マップ コンフィギュレーション モードに戻ります。

ステップ 6

class [type qos] {class-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class2
switch(config-pmap-c-qos)#

class-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

ステップ 7

set dscp-value

例:

switch(config-pmap-c-qos)# set dscp af1

DSCP 値を dscp-value に設定します。有効な値は、「DSCP マーキングの設定」の項の「標準の DSCP 値」表に示されています。

ステップ 8

exit

例:

switch(config-pmap-c-qos)# exit
switch(config-pmap-qos)#

ポリシー マップ コンフィギュレーション モードに戻ります。

ステップ 9

class [type qos] {class-name | class-default} [insert-before before-class-name]

例:

switch(config-pmap-qos)# class class-default
switch(config-pmap-c-qos)#

class-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。insert-before を使用して前に挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

ステップ 10

set dscp-value

例:

switch(config-pmap-c-qos)# set dscp af22
switch(config-pmap-c-qos)#

DSCP 値を dscp-value に設定します。有効な値は、「DSCP マーキングの設定」の項の「標準の DSCP 値」表に示されています。

ステップ 11

exit

例:

switch(config-pmap-c-qos)# exit
switch(config-pmap-qos)#

ポリシー マップ コンフィギュレーション モードに戻ります。

ステップ 12

interface ethernet slot/port

例:

switch(config)# interface ethernet 1/1
switch(config-if)#

イーサネット インターフェイスを設定するためにインターフェイス モードを開始します。

ステップ 13

service-policy [type qos] {input} | {output } {policy-map-name} [no-stats]

例:

switch(config-if)# service-policy input policy1

policy-map-name をインターフェイスの入力パケットに追加します。インターフェイスに付加できるのは、1 つの入力ポリシーおよび 1 つの出力ポリシーだけです。

次に、ポリシー マップ設定の表示方法例を示します。

switch# show policy-map policy1

マーキング設定の確認

マーキングの設定情報を表示するには、次の作業のいずれかを行います。

コマンド

目的

show policy-map

すべてのポリシー マップを表示します。

マーキングの設定例

次に、マーキングの設定例を示します。

configure terminal
policy-map type qos untrust_dcsp
class class-default
set precedence 3
set qos-qroup 3
set dscp 0