[index] CentreCOM AR550S コマンドリファレンス 2.9

# QoS/概要・基本設定

      - 基本構成要素
       - インターフェース
       - QoSポリシー
       - トラフィッククラス
       - クラシファイア
      - 処理適用ポイント
       - 入力ポリシー
       - 出力ポリシー
       - トンネルポリシー
      - 基本設定手順
       - 設定手順例
       - QoSポリシーとインターフェース
       - トラフィッククラス
       - クラシファイア
        - クラシファイアの照合順序
      - 処理フローと詳細設定
       - パケット分類
       - プレマーキング
       - メータリング
        - シングルレート・メーター（srTCM）
        - ツインレート・メーター（trTCM）
        - 帯域クラス3に対する処理
       - キューへの格納
        - 輻輳制御（RED）
        - キューの設定
       - キューからの取り出し
        - 暗黙トラフィッククラス間の優先制御
        - ユーザー定義トラフィッククラス間の優先制御
       - リマーキング
       - 仮想帯域

本製品のQoS（Quality of Service）機能について説明します。
本製品は、ユーザーが定義したポリシーに基づき、各種トラフィックに個別のサービスレベルを割り当てるQoS機能を備えています。
QoS機能では、クラシファイアと呼ばれるパケットフィルターを用いてパケットをトラフィッククラスに分類し、それぞれに異なるサービスレベル（帯域、優先度など）を割り当てます。クラシファイアを用いることにより、IPアドレスやTCP/UDPポート、DSCP（DiffServ Code Point）などに基づいたQoSの制御が可能です。
本製品のQoS機能では、トラフィッククラスごとに次のような処理が可能です。

- 帯域保証：特定のトラフィッククラスに対し、一定の帯域を保証します。
- 帯域制限：特定のトラフィッククラスに与える帯域を、一定値までに制限します。
- 輻輳制御：RED（Random Early Detection/Discard）アルゴリズムを用いて、トラフィック量を段階的に制御します。
- 優先制御：トラフィッククラスごとに用意されたキューを用いて、パケットの優先制御を行います。優先制御方式は、絶対優先方式（PQ）と重み付きラウンドロビン方式（WRR/DWRR）から選択できます。PQとWRR/DWRRの併用も可能です。
- マーキング：IPヘッダーのDSCP（DiffServ Code Point）フィールド値、VLANタグヘッダーの802.1pプライオリティー値の書き換えが可能です。

なお本製品は、LAN側スイッチポートにおいて、VLANタグヘッダーのIEEE 802.1pユーザープライオリティー値に基づいてパケットに送信キューを割り当てる802.1p QoSもサポートしています。これについては、「インターフェース」の章をご覧ください。

> Note - QoS機能とプライオリティーフィルターは併用できません。

> Note - QoS関連コマンドの機能モジュール名は「QOS」ではなく「SQOS」です（Software QOSの意）。コマンド入力時はご注意ください。

基本構成要素

QoS機能の基本的な構成要素について説明します。
本製品では、さまざまな設定要素を作成（定義）し、互いに関連付けることで、QoS機能の動作を制御します。次に基本的な設定要素の関係を示します。

以下、各要素について簡単に説明します。

インターフェース

QoSの処理は、パケットがインターフェースを通過するときに実行されます。本製品では、インターフェースにQoSポリシーを適用することで、そのインターフェースを通過するトラフィックを制御します。
QoSポリシーは、インターフェースへの入力時（受信後）とインターフェースからの出力時（送信前）をそれぞれ個別に指定できます。
なお、QoSの処理は低速な出力インターフェースで行うのが一般的です。

QoSポリシー

QoSポリシーは、QoS処理の実施に必要な情報をひとつにまとめる役割を持つ、QoS機能の中心的な設定要素です。
QoSポリシーは、他の要素を階層構造に束ね上げ、特定のインターフェースにおけるパケットの流れを制御します。
本製品では、QoSポリシーをインターフェースに関連付けることで、該当インターフェースを通過するパケットの流れを制御します。

トラフィッククラス

トラフィッククラスは、異なるQoS処理を適用するために分類した個々のトラフィックをあらわす設定要素です。
最大・最小帯域、出力時の優先度など、各トラフィックに対するQoS処理の内容はトラフィッククラスで設定します。
トラフィッククラスは、QoSポリシーの下にツリー状に配置して使用します。ツリー末端のトラフィッククラス（末端トラフィッククラス）にはパケットを格納するためのキューが用意され、それより上位のトラフィッククラス（中間トラフィッククラス）は下位クラスからの出力順序を制御します。
なお、QoSポリシーの直下には、デフォルトで次にあげる3つのトラフィッククラス（暗黙のトラフィッククラス）が存在しています。QoSポリシーは、これらの3つのトラフィッククラスから一定の比率（重み付け値の比率）でパケットを出力します（重み付きラウンドロビン（WRR/DWRR））。

- システムトラフィッククラス
  制御パケット用のトラフィッククラスです。本製品が送信するARP、RIP、OSPF、BGP、ND、PPP制御プロトコル（CP）、ISAKMP、KeepAliveメッセージ、SNMPのパケットや、本製品が受信するPPP制御プロトコル（CP）は自動的にこのクラスに分類されます。
  システムトラフィッククラスには、デフォルトで20の重み付け値が与えられています。そのため、輻輳時でもシステムトラフィックに対しては約20%の帯域が保証されます。
  システムトラフィッククラスの重み付け値は5〜50の範囲で変更可能です。
- ルートトラフィッククラス
  ユーザーが定義したトラフィッククラスを束ねるクラスです。QoSポリシーに追加したトラフィッククラスは、暗黙のうちにルートトラフィッククラスの下に配置されます。
  ルートトラフィッククラスには、デフォルトで80の重み付け値が与えられています。そのため、輻輳時でもユーザー定義のトラフィッククラス全体に対しては約80%の帯域が保証されます。
  なお、ルートトラフィッククラスの重み付け値は、以下の式で求められます。

  `100 - システムトラフィッククラスの重み付け値(5〜50) - デフォルトトラフィッククラスの重み付け値(0〜20)
  `
  ルートトラフィッククラスの重み付け値を直接変更することはできませんが、システムトラフィッククラス、デフォルトトラフィッククラスの重み付けを変更することで、間接的に変更可能です。
- デフォルトトラフィッククラス
  システムトラフィッククラスにもルートトラフィッククラスにも属さない「その他」のトラフィックを束ねるクラスです。
  具体的には、クラシファイアにマッチせず（ユーザー定義のトラフィッククラスに分類されず）、制御パケットでもないパケットがこのクラスの所属となります。
  デフォルトトラフィッククラスには、デフォルトで0の重み付け値が与えられています。これは、システムトラフィッククラス、ルートトラフィッククラスのどちらにも出力すべきパケットがないときだけ、デフォルトトラフィッククラスからパケットが出力されることを意味しています。
  デフォルトトラフィッククラスの重み付け値は0〜20の範囲で変更可能です。

クラシファイア

クラシファイアは、MACアドレス、IPアドレス、DSCP値、プロトコル、TCP/UDPポートなど、さまざまな条件に基づいてパケットをトラフィッククラスに分類する一種のパケットフィルターです。
QoSの処理フローにおいては、クラシファイアによるパケット分類が最初の処理となります。

処理適用ポイント

QoSの処理は、QoSポリシーを適用できる下記の3点で行われます。

- 入力インターフェース：パケットを受信した直後
- 出力インターフェース：パケットを送信する直前
- トンネルインターフェース：パケットをカプセル化する直前

通常、QoSポリシーは低速な出力インターフェースに適用します。これにより、狭い帯域を分け合うパケットの中でも、本当に重要なパケットだけを優先して送信するような制御が可能です。
一方、入力インターフェースにQoSポリシーを適用する場合は、通常高速なインターフェースに適用します。これは、高負荷環境において、ルーティング処理部への負荷を軽減するような場合に用いられます。これにより、本当に重要なパケットだけをルーティング処理部に送るような制御が可能です。
次に、入力インターフェースから出力インターフェースにいたるQoS処理の流れを示します。「入力時のQoS処理」と「出力時のQoS処理」は、パケットの分類条件に違いがあるだけで、QoS処理の内容自体は同じです。

入力ポリシー

入力インターフェースに適用したQoSポリシーを入力ポリシー（INPOLICY）と呼びます。
入力ポリシーはそれ自体CPUに負荷を与えるため、パケットの分類条件に大きな制限があります。入力ポリシーで使用するクラシファイアでは、802.1pユーザープライオリティー、DSCP値またはTOS値の3つのパラメーターしか使用することができません。これはおもに、前段の機器によってセットされた（マーキングされた）情報をもとに、重要なパケットを見分け、優先的にルーティング処理することを目的としています。なお、分類後のQoS処理には制限がありません。

出力ポリシー

出力インターフェースに適用したQoSポリシーを出力ポリシー（OUTPOLICY）と呼びます。
一般的に、主要なQoS処理は出力ポリシーに基づいて行われます。出力ポリシーでは、パケットの分類条件には制限がありません。クラシファイアのすべてのパラメーターを使用することができます。

トンネルポリシー

VPN（IPsec、GRE）やIPv6のトンネルインターフェースに適用したQoSポリシーをトンネルポリシー（TUNNELPOLICY）と呼びます。
トンネルポリシーは、基本的に出力ポリシーのトンネルインターフェース版です。トンネルポリシーでは、パケットがカプセル化される前にQoS処理が適用されます。なお、トンネルポリシーでは、おもにレイヤー3以上のパラメーターにもとづいてパケットを分類します。

基本設定手順

ここでは、QoS機能の基本的な設定手順について解説します。
QoS機能の設定は、各種の設定要素を作成し、QoSポリシーの下にそれらを関連付け、QoSポリシーをインターフェースに適用する作業と言えます。
設定の手順に明確な決まりはありません。要素間の上下関係（QoSポリシーとトラフィッククラス、トラフィッククラスとクラシファイアなど）を作るときにツリー構造の上位から行うことを除けば、どのような順番でもかまいませんが、ここでは2つほど例を挙げておきます。

- 最初にすべての要素を作成しておき、その後で要素を連結していく方法
  1. クラシファイアを作成する
  2. トラフィッククラスを作成する
  3. QoSポリシーを作成する
  4. インターフェースにQoSポリシーを適用する
  5. QoSポリシーにトラフィッククラスを割り当てる
  6. トラフィッククラスにクラシファイアを割り当てる
  7. QoSを有効化する
- ツリー構造を上位から1つずつ作成していく方法
  1. QoSポリシーを作成する
  2. インターフェースにQoSポリシーを適用する
  3. トラフィッククラスを作成する
  4. QoSポリシーにトラフィッククラスを割り当てる
  5. クラシファイアを作成する
  6. トラフィッククラスにクラシファイアを割り当てる
  7. QoSを有効化する

いずれの場合も、QoS機能の設定をするときは、実現したいことを明確にし、あらかじめよく計画を練っておくことが重要です。
ここでは、最初に基本的な設定例を紹介したのち、QoSポリシーの基本設定要素である、QoSポリシー、トラフィッククラス、クラシファイア、インターフェースのそれぞれについて、設定の要点を説明します。
ここで説明していない要素（機能）の設定方法については、「QoS処理の流れ」をご覧ください。また、全体的な設定例については設定例集をご覧ください。

設定手順例

次に基本的な設定手順例を示します。ここでは、次のようなQoS制御を行うものとします。

> Note - 以下の例は「手順」を示すことが目的であり、必ずしも実際的なものではありませんのでご注意ください。

- ppp0インターフェースから送信されるパケットを3つに分類し、絶対優先方式（PQ）の優先制御を行う。優先度は次のとおりとする。
  - 音声パケット：最優先で送信。終点UDPポートとして16300〜16320を使うと仮定
  - SIPパケット：音声パケットがないときだけ送信
  - その他パケット：音声パケット、SIPパケットがないときだけ送信

1. QoSポリシーを作成します。

   `CREATE SQOS POLICY=1 ↓
   `
2. インターフェースにQoSポリシーを適用します。送信パケットに対してQoS処理を行うので、OUTPOLICY（出力ポリシー）として指定します。

   `SET SQOS INTERFACE=ppp0 OUTPOLICY=1 ↓
   `
3. トラフィッククラスを作成します。ここでは「音声パケット」と「SIPパケット」に対応する2つのトラフィッククラスを作成し、絶対優先方式（PQ）の優先度（有効範囲は0〜15。15が最高）を設定します。
   なお、明示的に分類しなかったパケットは暗黙のデフォルトトラフィッククラス（優先度0）に割り当てられるため、「その他パケット」に対応するトラフィッククラスを作成する必要はありません。

   `CREATE SQOS TRAFFICCLASS=1 PRIORITY=15 ↓
   CREATE SQOS TRAFFICCLASS=2 PRIORITY=14 ↓
   `
4. QoSポリシーにトラフィッククラスを割り当てます。

   `ADD SQOS POLICY=1 TRAFFICCLASS=1-2 ↓
   `
5. クラシファイアを作成し、パケットの分類条件を定義します。ここでは「音声パケット」と「SIPパケット」を識別する2つのクラシファイアを作成します。

   `CREATE CLASSIFIER=1 UDPDPORT=16300-16320 ↓
   CREATE CLASSIFIER=2 UDPDPORT=5060 ↓
   `

   > Note - ここでは音声パケットがUDPポート16300〜16320を使うと仮定しています。

6. トラフィッククラスにクラシファイアを割り当てます。

   `ADD SQOS TRAFFICCLASS=1 CLASSIFIER=1 ↓
   ADD SQOS TRAFFICCLASS=2 CLASSIFIER=2 ↓
   `
7. QoS機能を有効化します。

   `ENABLE SQOS ↓
   `

QoSポリシーとインターフェース

QoS機能の中心要素はQoSポリシーです。
本製品のQoS機能では、インターフェースにQoSポリシーを適用することで、そのインターフェースを通過（送信時と受信時を個別に設定可能）するトラフィックを制御します。
QoSポリシーが適用されたインターフェースを通るパケットは、次のような流れで処理されます。

1. トラフィッククラスに分類（classify）
2. キューに格納（enqueue）
3. キューから取り出し（dequeue）

各QoSポリシーでは以下の項目を指定できます。詳細はCREATE SQOS POLICYコマンドの説明をご覧ください。

- メータリングに使用するメーター（帯域使用量計測器）
- メータリングの結果、帯域クラス3（使いすぎ）に分類されたパケットに対する処理
- 本ポリシーで使用するDSCPMAP（DSCP値、帯域クラスの書き換え対応表）
- リマーキング処理の内容
- 仮想帯域
- 重み付けされた下位トラフィッククラス間の優先制御方式（WRR/DWRR）
- デフォルトトラフィッククラス
- システムトラフィッククラスの重み付け値

■ QoSポリシーを作成するには、CREATE SQOS POLICYコマンドを使います。

`CREATE SQOS POLICY=1 ↓
`

■ QoSポリシーの設定を変更するには、SET SQOS POLICYコマンドを使います。

`SET SQOS POLICY=1 DESCRIPTION="Policy for PPP over ISDN(128K)" ↓
`

■ QoSポリシーでは、パケットの出力速度（仮想帯域）を制限することができます。仮想帯域はVIRTBWパラメーターで指定します。

`CREATE SQOS POLICY=1 VIRTBW=8M ↓
`

■ QoSポリシーをインターフェースに割り当てるには、SET SQOS INTERFACEコマンドを使います。QoSポリシーを適用できるインターフェースには次の種類があります。

表 1
インターフェース種別 | 書式 | 備考 | 例
通常のインターフェース
Ethernet | ethX | ethは固定文字列、Xは番号 | eth0, eth1
フレームリレー | frX | frは固定文字列、Xは番号 | fr0, fr1
PPP | pppX | pppは固定文字列、Xは番号 | ppp0, ppp1
スイッチインスタンス | swi0 | swi0は固定文字列。LAN側スイッチ全体を表す | swi0
トンネルインターフェース
GRE | greX | greは固定文字列、XはGREフィルターの番号 | gre1, gre2
IPv6(IPv6 over IPv4, 6to4) | virtX | virtは固定文字列、Xは番号。 | virt0, virt1
IPsec | ipsec-policyname | ipsec-は固定文字列、policynameはIPsecポリシー名 | ipsec-vpn, ipsec-ota

通常のインターフェース（ethX、pppX、frX、swi0）には、入力ポリシー（INPOLICY）と出力ポリシー（OUTPOLICY）を別々に割り当てます。また、トンネルインターフェース（greX、virtX、ipsec-policyname）の場合は、トンネルへの入力時（カプセル化の直前）にポリシーを適用します（TUNNELPOLICY）。
QoSの主目的は、低速なインターフェースからの出力順序を制御するものなので、通常は出力インターフェースにポリシーを適用します。たとえば、ppp0から出力されるパケットに対して、QoSポリシー「1」を適用するには、次のようにします。

`SET SQOS INTERFACE=ppp0 OUTPOLICY=1 ↓
`

入力ポリシーは、おもに高速なインターフェースにおいてパケットの選別を行う場合に使用します。これにより、ルーティング処理にかかる負荷を減らすことができます。たとえば、eth0から入力されるパケットに対して、QoSポリシー「2」を適用するには、次のようにします。

`SET SQOS INTERFACE=eth0 INPOLICY=2 ↓
`

トンネルインターフェースにQoSポリシーを適用するときは、SET SQOS INTERFACEコマンドのTUNNELPOLICYパラメーターを使います。
たとえば、GREトンネルインターフェースに対してQoSポリシー「3」を適用するには、次のようにします。GREトンネルインターフェースは「greX」の形式で指定します。「X」の部分はGREフィルター（ADD GREコマンドで作成し、ADD IP INTERFACEコマンドのGREパラメーターで適用）の番号になります。次の例ではGREフィルター「1」によって識別されるトンネルに対してQoSポリシー「3」を適用しています。

`SET SQOS INTERFACE=gre1 TUNNELPOLICY=3 ↓
`

また、IPv6 over IPv4トンネルインターフェースvirt0に対して、QoSポリシー「4」を適用するには、次のようにします。

`SET SQOS INTERFACE=virt0 TUNNELPOLICY=4 ↓
`

また、IPsecポリシーvpnにQoSポリシー「5」を適用するには、次のようにします。インターフェース名として「ipsec-policyname」（「policyname」の部分はIPsecポリシー名で置き換える）を使うことに注意してください。

`SET SQOS INTERFACE=ipsec-vpn TUNNELPOLICY=5 ↓
`

> Note - 通常のインターフェースには、INPOLICYとOUTPOLICYを1つずつ適用できます。トンネルインターフェースには、TUNNELPOLICYを1つだけ適用できます。

> Note - QoSポリシーは、複数のインターフェースで使用することができます。また、QoSポリシーには、複数のトラフィッククラスを割り当てることができます。

■ インターフェースに適用したQoSポリシーを削除（適用解除）するには、SET SQOS INTERFACEコマンドにおいて、QoSポリシー番号の代わりにキーワードNONEを指定します。たとえば、ppp0の出力ポリシーを「なし」にするには、次のようにします。

`SET SQOS INTERFACE=ppp0 OUTPOLICY=NONE ↓
`

■ QoSポリシーの情報は、SHOW SQOS POLICYコマンドで確認できます。TREEオプションを使用すると、QoSポリシーの階層構造（ポリシー → トラフィッククラス → クラシファイア）を確認することもできます。

`SHOW SQOS POLICY ↓
SHOW SQOS POLICY=1 ↓
SHOW SQOS POLICY=1 SHOWUNUSED=YES ↓
SHOW SQOS POLICY=1 TREE ↓
`

トラフィッククラス

トラフィッククラスは、同じQoS処理を適用すべきトラフィック（たとえば、「ビデオトラフィック」）をひとまとめにしたものです。個々のトラフィックに対するQoS処理の内容はトラフィッククラスで設定します。
トラフィッククラスは、QoSポリシーの下にツリー状に配置して使用します。末端のトラフィッククラスにはパケットを格納するためのキューが用意され、それより上位のトラフィッククラスは下位クラスからの出力順序を制御します。
各トラフィッククラスでは以下の項目を指定できます。

- プレマーキング処理の内容（末端トラフィッククラスのみ）
- メータリングに使用するメーター（帯域使用量計測器）
- メータリングの結果、帯域クラス3（使いすぎ）に分類されたパケットに対する処理
- キュー長の制御に使用するREDカーブセット（末端トラフィッククラスのみ）
- 最大キュー長（末端トラフィッククラスのみ）
- 最大キュー長超過時の破棄方式（Tail-drop/Head-drop）と通知処理（末端トラフィッククラスのみ）
- リマーキング処理の内容
- 仮想帯域
- 絶対優先方式（PQ）における優先度、または、重み付きラウンドロビン（WRR/DWRR）における重み付け値
- 重み付けされた下位トラフィッククラス間の優先制御方式（WRR/DWRR）（中間トラフィッククラスのみ）

■ トラフィッククラスを作成するには、CREATE SQOS TRAFFICCLASSコマンドを使います。

`CREATE SQOS TRAFFICCLASS=1 ↓
`

■ トラフィッククラスの設定を変更するには、SET SQOS TRAFFICCLASSコマンドを使います。

`SET SQOS TRAFFICCLASS=1 DESCRIPTION="file server traffic" ↓
`

■ トラフィッククラスでは、パケットの出力速度（仮想帯域）を制限することができます。仮想帯域はVIRTBWパラメーターで指定します。これにより、該当トラフィッククラスの使用帯域を指定値までに制限可能です。

`CREATE SQOS TRAFFICCLASS=1 VIRTBW=1.5M ↓
`

■ パケットは、末端トラフィッククラスに備えられたキューに格納されます。したがって、キューに関する設定は末端トラフィッククラスでのみ有効です。

`CREATE SQOS TRAFFICCLASS=2 MAXQLEN=10 QUEUEDROP=HEAD ↓
`

■ 同一階層のトラフィッククラス間では、絶対優先方式（PQ）または重み付きラウンドロビン（WRR/DWRR）によってパケットの出力順序が決定されます。
■ トラフィッククラスに優先度（PRIORITY）が設定されている場合は、絶対優先方式（PQ）によって出力順序が決まります。PRIORITYパラメーター、WEIGHTパラメーターのどちらも指定しなかった場合は、デフォルトでPRIORITY=1となります。

`CREATE SQOS TRAFFICCLASS=3 ↓
`

最優先で送信したいトラフィッククラスにはPRIORITY=15（優先度最高）を設定します。PRIORITY=15のトラフィッククラスは、優先度の低いすべてのトラフィッククラス、および、すべての重み付きトラフィッククラスよりも優先されます。

`CREATE SQOS TRAFFICCLASS=5 PRIORITY=15 ↓
`

■ トラフィッククラスに重み付け値（WEIGHT）が設定されている場合は、重み付きラウンドロビン（WRR/DWRR）によって出力順序が決まります。次の例では、トラフィッククラス「3」と「4」に10:20の重みを付けています。

`CREATE SQOS TRAFFICCLASS=3 WEIGHT=10 ↓
CREATE SQOS TRAFFICCLASS=4 WEIGHT=20 ↓
`

> Note - WRR/DWRRのどちらを使用するかは、上位のトラフィッククラス（CREATE SQOS TRAFFICCLASSコマンド）またはQoSポリシー（CREATE SQOS POLICYコマンド）のWEIGHTSCHEDULERパラメーターの値で決まります。

■ トラフィッククラスでメータリング（帯域使用量計測）を行う場合は、あらかじめCREATE SQOS METERコマンドでメーター（帯域使用量計測器）を作成しておき、その番号をMETERパラメーターで指定します。

`CREATE SQOS METER=1 MAXBANDWIDTH=500K MINBANDWIDTH=300K ↓
CREATE SQOS TRAFFICCLASS=1 METER=1 BWCLASS3ACTION=DROP ↓
`

■ プレマーキング、リマーキングの動作は、PREMARKBWCL、PREMARKDSCP、REMARKING、REMARKVLANPRIパラメーターで指定します。DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成（CREATE SQOS DSCPMAPコマンド）・編集（SET SQOS DSCPMAPコマンド）し、QoSポリシー作成時（または作成後）にDSCPMAPの番号を指定しておいてください（CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター）。

`CREATE SQOS DSCPMAP=10 ↓
SET SQOS DSCPMAP=10 TABLE=PREMARK DSCP=0-31 NEWDSCP=1 ↓
SET SQOS DSCPMAP=10 TABLE=PREMARK DSCP=32-63 NEWDSCP=2 ↓
CREATE SQOS POLICY=1 DSCPMAP=10 ↓
CREATE SQOS TRAFFICCLASS=1 PREMARKDSCP=USEDSCPMAP ↓
ADD SQOS POLICY=1 TRAFFICCLASS=1 ↓
`

■ トラフィッククラスをQoSポリシーに割り当てるには、ADD SQOS POLICY TRAFFICCLASSコマンドを使います。QoSポリシーが適用されたインターフェースにおいて、パケットのチェック（クラシファイアとの照合）はトラフィッククラスの番号順（昇順）に行われます。

`ADD SQOS POLICY=1 TRAFFICCLASS=1-2 ↓
`

■ トラフィッククラスには、子トラフィッククラスを割り当てることもできます。これには、ADD SQOS TRAFFICCLASS SUBCLASSコマンドを使います。

`ADD SQOS TRAFFICCLASS=2 SUBCLASS=3 ↓
`

> Note - トラフィッククラスは、1つのQoSポリシーかトラフィッククラス（中間トラフィッククラス）にしか割り当てることができません。末端トラフィッククラスには複数のクラシファイアを割り当てることができます。

■ トラフィッククラスの情報は、SHOW SQOS TRAFFICCLASSコマンドで確認できます。

`SHOW SQOS TRAFFICCLASS ↓
SHOW SQOS TRAFFICCLASS=1 ↓
SHOW SQOS TRAFFICCLASS=1 SHOWUNUSED=YES ↓
`

クラシファイア

QoS機能の中心要素がQoSポリシーだとすると、末端の要素はクラシファイアです。クラシファイアは、汎用のパケットフィルターで、アドレス、プロトコルなどをもとにパケットを「トラフィッククラス」に分類する働きを持ちます。
本製品のQoS機能では、パケットをトラフィッククラスに分類し、クラスごとに処理を行いますが、これらの分類の第一歩はクラシファイアによって行われます。
■ クラシファイアはCREATE CLASSIFIERコマンドで作成します。入力ポリシー（INPOLICY）、出力ポリシー（OUTPOLICY）、トンネルポリシー（TUNNELPOLICY）では、それぞれ使用できるパラメーター（分類条件）が異なるので注意してください。

- 入力ポリシーで使用するクラシファイアは、「入力ポリシー（INPOLICY）用の構文」にしたがって作成してください。

  `CREATE CLASSIFIER=101 IPDSCP=10 ↓
  `
- 出力ポリシーで使用するクラシファイアは、「出力ポリシー（OUTPOLICY）用の構文」にしたがって作成してください。

  `CREATE CLASSIFIER=201 IPDADDR=192.168.10.5/32 ↓
  `
- トンネルポリシーで使用するクラシファイアは、「トンネルポリシー（TUNNELPOLICY）用の構文」にしたがって作成してください。

  `CREATE CLASSIFIER=301 TCPDPORT=22 ↓
  `

次に、クラシファイアの分類条件についてまとめます。
IN、OUT、TUN欄では、QoSポリシーの種類（IN = 入力ポリシー、OUT = 出力ポリシー、TUN = トンネルポリシー）ごとに、CREATE CLASSIFIERコマンドのどのパラメーターが使用可能であるかを示しています（○ = 使用可能、× = 使用不可）。

表 2：クラシファイアの条件パラメーター
項目名 | 説明 | IN | OUT | TUN | 備考
レイヤー1
IINTERFACE | 入力インターフェース（ethX、frX、pppX） | × | ○ | ○ | IPORT、EPORTとの同時使用は不可
IPORT | 入力スイッチポート | × | ○ | × | IINTERFACEとの同時使用は不可
EPORT | 出力スイッチポート | × | ○ | × | スイッチインスタンス（swi0）に適用した出力ポリシーでのみ有効。IINTERFACE、PPPINDEXとの同時使用は不可
レイヤー2
MACSADDR | （Ethernet）送信元MACアドレス | × | ○ | × |
MACDADDR | （Ethernet）宛先MACアドレス | × | ○ | × |
MACTYPE | （Ethernet）レイヤー2アドレス種別。L2UCAST（ユニキャスト）、L2BMCAST（マルチキャストとブロードキャスト）、ANY（すべて）のいずれか | × | ○ | × |
SVLAN | 入力VLAN | × | ○ | × |
DVLAN | 出力VLAN | × | ○ | × |
VLANPRIORITY | 802.1pユーザープライオリティー | ○ | ○ | × |
PPPINDEX | 出力PPPインターフェース番号 | × | ○ | × | EPORTとの同時使用は不可
レイヤー3
IPSADDR | （IPv4ヘッダー）始点IPv4アドレス/マスク長 | × | ○ | ○ |
IPSADDR | （IPv6ヘッダー）始点IPv6アドレス/プレフィックス長 | × | ○ | ○ |
IPDADDR | （IPv4ヘッダー）終点IPv4アドレス/マスク長 | × | ○ | ○ |
IPDADDR | （IPv6ヘッダー）始点IPv6アドレス/プレフィックス長 | × | ○ | ○ |
IPDSCP | （IPv4/IPv6ヘッダー）DSCP（DiffServ Code Point） | ○ | ○ | ○ | IPTOSとの同時使用は不可
IPTOS | （IPv4ヘッダー）TOS優先度（precedence） | ○ | ○ | ○ | IPDSCPとの同時使用は不可
IPFRAG | （IPv4パケット）フラグメント化されているかどうか | × | ○ | ○ |
IPPROTOCOL | （IPv4/IPv6ヘッダー）プロトコルタイプ（レイヤー4プロトコルタイプ） | × | ○ | ○ |
レイヤー4
TCPFLAGS | （TCPヘッダー）制御フラグ | × | ○ | ○ |
TCPSPORT | （TCPヘッダー）始点ポート | × | ○ | ○ |
TCPDPORT | （TCPヘッダー）終点ポート | × | ○ | ○ |
UDPSPORT | （UDPヘッダー）始点ポート | × | ○ | ○ |
UDPDPORT | （UDPヘッダー）終点ポート | × | ○ | ○ |

■ 末端トラフィッククラスにクラシファイアを割り当てるには、ADD SQOS TRAFFICCLASS CLASSIFIERコマンドを使います。

`ADD SQOS TRAFFICCLASS=1 CLASSIFIER=101 ↓
`

> Note - 子クラスを持つトラフィッククラス（中間トラフィッククラス）にはクラシファイアを割り当てられません。

> Note - クラシファイアは、複数の末端トラフィッククラスに割り当てることができます。ただし、同一ポリシー内で同じクラシファイアを複数回使うことはできません。

#### クラシファイアの照合順序

QoSポリシー内におけるクラシファイアの照合順序は次のようになります。

1. クラシファイアが関連付けられている末端トラフィッククラスを番号の小さいものから大きいものの順に照合します。
2. 末端トラフィッククラス内では、クラシファイアを番号の小さいものから大きいものの順に照合します。

次に具体例を挙げて説明します。次図では、最初に末端トラフィッククラス（TC 10、23、25、45、46）の中でもっとも番号の小さいTC 10から順番にクラシファイアの照合が行われます。
TC 10には2つのクラシファイア（CL 5と6）が関連付けられていますが、これらも番号の小さい順に5、6の順番で照合されます。したがって、本ポリシーの適用されているインターフェースでは、クラシファイア5、6、3、4、1、2、9、10、7、8の順でパケットのチェックが行われます。
パケットは、最初にマッチしたクラシファイアが関連付けられている末端トラフィッククラスの所属となります。どのクラシファイアにもマッチしなかったパケットは、デフォルトトラフィッククラスの所属となります。

処理フローと詳細設定

ここでは、個々のQoS機能について、全体的なQoS処理の流れにしたがって解説します。
次に、パケットに対するQoS処理の流れを示します。この図の処理フローは、入力ポリシー、出力ポリシー、トンネルポリシーのすべてにおいて同じです。異なるのは、「パケット分類」における分類条件だけです。

表 3：末端トラフィッククラスにおけるQoS処理の流れ
- | 大分類 | 小分類 | 処理内容
1 | パケット分類（classify） | - | クラシファイアにより、パケットをトラフィッククラスに分類します。どのクラシファイアにもマッチしなかったパケットは、デフォルトトラフィッククラスに分類します。また本製品自身が送受信する制御パケットなどは、システムトラフィッククラスに分類します
2 | プレマーキング（premark） | - | プレマーキングの設定がなされている場合は、設定内容にしたがってパケットのDSCP値を書き換えたり、帯域クラスの初期値を割り当てたりします。プレマーキングの設定がされていない場合は、帯域クラスの初期値として1が割り当てられます
3a | メータリング（meter） | メータリング | メーターが指定されている場合、パケットがどの程度帯域を使用しているかを計測し、計測結果に基づきパケットを3つの「帯域クラス」に分類します
3b | 帯域クラス3の処理 | 「帯域クラス3（帯域を使いすぎ）に対する処理（BWCLASS3ACTION）が指定されている場合、帯域クラス3に該当するパケットを破棄するか、該当するパケットの処理を一時停止します。一時停止の場合、設定によってログやSNMPトラップによる通知も可能です
4a | キューへの格納（enqueue） | RED | REDカーブセットが指定されている場合、REDアルゴリズムを使用して、キュー長が限界に達する前にパケットをランダムに破棄して輻輳を回避します
4b | Tail/Head-drop | キュー長が限界に達している場合は、キューの先頭（Head-drop）または末尾（Tail-drop）からパケットを破棄します
4c | キューへの格納 | パケットをキューに格納します
5 | キューからの取り出し（dequeue） | - | 上位トラフィッククラスまたはQoSポリシーの要請にしたがい、パケットをキューから取り出します
6 | リマーキング（remark） | - | リマーキングの設定がなされている場合は、設定内容にしたがってパケットのDSCP値を書き換えたり、新しい帯域クラスを割り当てたりします。また、802.1p値の書き換えも可能です
7 | 仮想帯域（virtual bandwidth） | - | 仮想帯域（VIRTBW）が設定されている場合、指定された帯域をオーバーしない速度でパケットを次のステップに送り出します

表 4：中間トラフィッククラス、QoSポリシーにおけるQoS処理の流れ
- | 大分類 | 小分類 | 備考
8 | キューからの取り出し（dequeue） | - | 上位トラフィッククラス、QoSポリシー、インターフェースなどからの要請にしたがい、下位のトラフィッククラスからパケットを取り出します。配下に複数のトラフィッククラスが存在する場合は、各トラフィッククラスの優先度（PRIORITY）や重み付け値（WEIGHT）に基づき、絶対優先方式（PQ）や重み付きラウンドロビン（WRR/DWRR）といったアルゴリズムを用いて取り出す順序を制御します
9 | 仮想帯域（virtual bandwidth） | - | 仮想帯域（VIRTBW）が設定されている場合、指定された帯域をオーバーしない速度でパケットを次のステップに送り出します
10a | メータリング（meter） | メータリング | メーターが指定されている場合、パケットがどの程度帯域を使用しているかを計測し、計測結果に基づきパケットを3つの「帯域クラス」に分類します
10b | 帯域クラス3の処理 | 「帯域クラス3（帯域を使いすぎ）に対する処理（BWCLASS3ACTION）が指定されている場合、帯域クラス3に該当するパケットを破棄するか、該当するパケットの処理を一時停止します。一時停止の場合、設定によってログやSNMPトラップによる通知も可能です
11 | リマーキング（remark） | - | リマーキングの設定がなされている場合は、設定内容にしたがってパケットのDSCP値を書き換えたり、新しい帯域クラスを割り当てたりします。また、802.1p値の書き換えも可能です

以下では、各ステップについて解説します。

パケット分類

ポリシーベースのQoS処理で最初に行われるのは、クラシファイアによってパケットをトラフィッククラスに分類（classify）することです。
パケットとクラシファイアの照合は、QoSポリシー内のトラフィッククラス番号順で行われます。また、トラフィッククラス内では、クラシファイア番号順に行われます。
クラシファイアの設定については、本章の「基本設定手順」をご覧ください。

プレマーキング

プレマーキング（premark）は、トラフィッククラスに分類されたパケットに対して行われる最初のQoS処理です。プレマーキングは、末端のトラフィッククラスでのみ実施されます。
プレマーキングでは、パケットに対してDSCP値の書き換えと帯域クラス（後述）の割り当てを行うことができます。この機能は、おもに次の用途を想定しています。

- パケットのDSCP値にエンコードされた「前ホップにおけるメータリング結果（帯域クラス）」をデコードする（取り出す）
- DiffServドメインの入り口において、トラフィッククラスごとにDSCP値を割り当てる

DSCP値の書き換え、帯域クラスの割り当てには2つの方法があります。

- トラフィッククラスのすべてのパケットに同じDSCP値、帯域クラス値を割り当てる
- プレマーキング用DSCPMAPテーブルを参照し、パケットが元々持っていたDSCP値にしたがって、新しいDSCP値、帯域クラスを割り当てる

プレマーキングの設定は、トラフィッククラス単位で行います。
■ プレマーキングの設定をするには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのPREMARKBWCL、PREMARKDSCPパラメーターを使います。PREMARKBWCLは帯域クラスの割り当てに関する設定、PREMARKDSCPはDSCP値の書き換えに関する設定です。
■ PREMARKBWCLに1〜3の数値を指定した場合、トラフィッククラスの全パケットに指定した値の帯域クラスが割り当てられます。たとえば、トラフィッククラス「10」のすべてのパケットに帯域クラス2を割り当てるには、次のようにします。

`CREATE SQOS TRAFFICCLASS=10 PREMARKBWCL=2 ↓
`

> Note - PREMARKBWCLパラメーターを省略した場合は、トラフィッククラスの全パケットに帯域クラスの初期値として1が割り当てられます。

■ PREMARKBWCLにキーワードUSEDSCPMAPを指定した場合は、パケットのDSCP値をインデックスとしてプレマーキング用DSCPMAPテーブルを参照し、結果として得られた帯域クラスをパケットに割り当てます。
DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成（CREATE SQOS DSCPMAPコマンド）・編集（SET SQOS DSCPMAPコマンド）し、QoSポリシー作成時（または作成後）にDSCPMAPの番号を指定しておいてください（CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター）。
たとえば、プレマーキング用DSCPMAPテーブルを使用して、DSCP値0〜31のパケットに帯域クラス1を、DSCP値32〜63のパケットに帯域クラス2を割り当てるには、次のようにします。

`CREATE SQOS DSCPMAP=20 ↓
SET SQOS DSCPMAP=20 TABLE=PREMARK DSCP=0-31 NEWBWCLASS=1 ↓
SET SQOS DSCPMAP=20 TABLE=PREMARK DSCP=32-63 NEWBWCLASS=2 ↓
CREATE SQOS POLICY=5 DSCPMAP=20 ↓
CREATE SQOS TRAFFICCLASS=10 PREMARKDSCP=USEDSCPMAP ↓
ADD SQOS POLICY=5 TRAFFICCLASS=10 ↓
`

■ PREMARKDSCPに0〜63の数値を指定した場合、トラフィッククラスの全パケットに指定した値のDSCP値が書き込まれます。たとえば、トラフィッククラス「10」のすべてのパケットにDSCP値31を書き込むには次のようにします。

`CREATE SQOS TRAFFICCLASS=10 PREMARKDSCP=31 ↓
`

■ PREMARKDSCPにキーワードUSEDSCPMAPを指定した場合は、パケットのDSCP値をインデックスとしてプレマーキング用DSCPMAPテーブルを参照し、結果として得られたDSCP値がパケットに書き込まれます。
DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成（CREATE SQOS DSCPMAPコマンド）・編集（SET SQOS DSCPMAPコマンド）し、QoSポリシー作成時（または作成後）にDSCPMAPの番号を指定しておいてください（CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター）。
たとえば、プレマーキング用DSCPMAPテーブルを使用して、DSCP値0〜31のパケットはDSCP値を1に書き換え、DSCP値32〜63のパケットはDSCP値を2に書き換えるには、次のようにします。

`CREATE SQOS DSCPMAP=30 ↓
SET SQOS DSCPMAP=30 TABLE=PREMARK DSCP=0-31 NEWDSCP=1 ↓
SET SQOS DSCPMAP=30 TABLE=PREMARK DSCP=32-63 NEWDSCP=2 ↓
CREATE SQOS POLICY=15 DSCPMAP=30 ↓
CREATE SQOS TRAFFICCLASS=20 PREMARKDSCP=USEDSCPMAP ↓
ADD SQOS POLICY=15 TRAFFICCLASS=20 ↓
`

■ DSCPMAPはCREATE SQOS DSCPMAPコマンドで作成し、SET SQOS DSCPMAPコマンドで編集します。

`CREATE SQOS DSCPMAP=0 ↓
`

プレマーキング用DSCPMAPテーブルは、DSCP値をインデックスとする書き換え対応表で、各エントリーには書き換え後のDSCP値と帯域クラスが格納されています。
DSCPMAPを作成した直後、プレマーキング用テーブルはすべてのDSCP値を帯域クラス1にマップする設定（DSCP値は書き換えない）、リマーキング用テーブルはDSCP値も帯域クラスも一切変更しない設定になっています。DSCPMAPの内容を編集するには、SET SQOS DSCPMAPコマンドを使います。
■ プレマーキング用DSCPMAPテーブルの編集は、SET SQOS DSCPMAPコマンドで行います。たとえば、DSCP値が61のパケットに対して、DSCP値3、帯域クラス1を割り当てるには、つぎのようにします。

`SET SQOS DSCPMAP=0 TABLE=PREMARK DSCP=61 NEWDSCP=3 NEWBWCLASS=1 ↓
`

■ プレマーキングの設定内容は、SHOW SQOS TRAFFICCLASSコマンドで確認できます。

`SHOW SQOS TRAFFICCLASS=1 ↓
`

■ DSCPMAPの設定内容は、SHOW SQOS DSCPMAPコマンドで確認できます。

`SHOW SQOS DSCPMAP ↓
SHOW SQOS DSCPMAP=0 ↓
`

メータリング

本製品で帯域制御を行うための手段の1つにメータリング（meter）があります。これは、ユーザーの設定した基準値（最大・最小帯域と許容バーストサイズ）をもとに、各トラフィッククラスが実際にどの程度の帯域を使用しているかを計測するもので、各パケットが帯域設定にどの程度適合しているかを判断する基準となります。メータリングは、プレマーキングの後、キューへの格納前に行われます。
計測の結果、パケットは次に示す3つの「帯域クラス」に分類されます。

表 5：3つの帯域クラス
帯域クラス | 帯域使用量 | 取り扱い方法（一例）
1 | 少ない | 帯域割り当ての優先度は最高
2 | 中程度 | 帯域割り当ての優先度は中
3 | 使いすぎ | 帯域割り当ての優先度は最低。輻輳時は優先的に破棄

帯域クラス3（使いすぎ）に分類されたパケットは、メータリング後に破棄したり、出力を一時停止したりすることが可能です。また、REDアルゴリズムの適用時やリマーキング時には、帯域クラスごとに異なる処理を行うことが可能です。

> Note - プレマーキングの設定を特に行っておらず、また、メータリングも実施しない場合、プレマーキングのデフォルト設定により、パケットはデフォルトの帯域クラス1として扱われます。

メータリングを行うには、メーター（帯域使用量計測器）と呼ばれる設定要素を作成し、計測基準値（帯域とバーストサイズ）を指定した上で、QoSポリシーまたはトラフィッククラスで作成したメーターを使用するよう指示します。
メーターには、基準値の数によって、シングルレート・メーターとツインレート・メーターの2種類があります。これらはそれぞれ、RFC2697（srTCM = Single Rate Three Color Meter）、RFC2698（trTCM = Two Rate Three Color Marker）に基づいた動作を行います。

#### シングルレート・メーター（srTCM）

シングルレート・メーター（srTCM）では、1つの帯域しきい値（MAXBANDWIDTH）と2つのバーストサイズしきい値（MAXBURSTSIZE、MINBURSTSIZE）、あわせて3つの設定値に基づいて、各パケットを帯域クラスに分類します。

> Note - 本製品のシングルレート・メーターはRFC2697に準じていますが、基準値などの用語は異なったものを使っています。また、本章における説明は概念的なもので、メーターの動作を厳密に説明しているわけではありません。メーターの動作原理についてはRFC2697をご参照ください。また、基準値名の対応については次の表を参照してください。なお、帯域クラス1、2、3は、RFCにおける緑（green）、黄（yellow）、赤（red）に対応しています。

表 6：本製品とRFC2697のsrTCM基準値名称対応表
本製品 | RFC2697
MAXBANDWIDTH | CIR (Committed Information Rate)
MAXBURSTSIZE | EBS (Excess Burst Size)
MINBURSTSIZE | CBS (Committed Burst Size)

シングルレート・メーターは、次の判定基準にしたがってパケットを帯域クラスに分類します。

表 7：シングルレート・メーターの判定基準
帯域クラス | 帯域使用量 | 判定基準
1 | 少ない | バーストサイズ <= MINBURSTSIZE
2 | 中程度 | MINBURSTSIZE < バーストサイズ <= MAXBURSTSIZE
3 | 使いすぎ | バーストサイズ > MAXBURSTSIZE

ここでのバーストサイズとは、トラフィックの流入量がMAXBANDWIDTHを超えた場合に、MAXBANDWIDTH超過分としてバッファリングされたデータ量を示しています。トラフィック量がMAXBANDWIDTH以下であれば、バーストサイズは0です。
トラフィックが瞬間的にMAXBANDWIDTHをオーバーしても、超過している時間が短ければ、バーストサイズはMINBURSTSIZE以内にとどまり、すべてのパケットが帯域クラス1として扱われることになります。
これに対し、MAXBANDWIDTHをオーバーしている時間が長くなると、バーストサイズがMINBURSTSIZEを超えることがあります。この場合、MINBURSTSIZEを超えてバッファリングされたパケットには、帯域クラス2が割り当てられます。さらに時間が経過すると、バーストサイズがMAXBURSTSIZEを超えますが、この超過分は帯域クラス3となります。
■ シングルレート・メーターを作成するには、CREATE SQOS METERコマンドのTYPEパラメーターにsrTCMを指定し（省略しても同じ）、MAXBANDWIDTH（CIR）、MAXBURSTSIZE（EBS）、MINBURSTSIZE（CBS）の3つのパラメーターを指定します。このとき、少なくともMINBURSTSIZEとMAXBURSTSIZEのどちらかを、予期される最大パケットサイズ以上に設定する必要があります。また、通常はMINBURSTSIZE < MAXBURSTSIZEとなるように設定します。
■ メーターの作成時にIGNOREBWCLASS=YESを指定すると、すでにパケットに帯域クラスが割り当てられていた場合に、これを無視させることができます（Color-blind）。この場合、純粋に帯域使用量の計測結果に基づいて新たな帯域クラスを割り当てます。一方、IGNOREBWCLASS=NO（デフォルト）を指定したときは、すでに割り当てられた帯域クラスを基準として、同じクラスかそれよりも適合性の低いクラスにだけ分類します（Color-aware）。

表 8：IGNOREBWCLASSパラメーターの効果
元の帯域クラス | メータリングの結果割り当てられうる帯域クラス
YES (color-blind)時 | NO (color-aware)時
1 | 1, 2, 3 | 1, 2, 3
2 | 1, 2, 3 | 2, 3
3 | 1, 2, 3 | 3

#### ツインレート・メーター（trTCM）

ツインレート・メーター（trTCM）では、2つの帯域しきい値（MAXBANDWIDTH、MINBANDWIDTH）と2つのバーストサイズしきい値（MAXBURSTSIZE、MINBURSTSIZE）、あわせて4つの設定値に基づいて、パケットを帯域クラスに分類します。

> Note - 本製品のツインレート・メーターはRFC2698に準じていますが、基準値などの用語は異なったものを使っています。また、本章における説明は概念的なもので、メーターの動作を厳密に説明しているわけではありません。メーターの動作原理についてはRFC2698をご参照ください。また、基準値名の対応については次の表を参照してください。なお、帯域クラス1、2、3は、RFCにおける緑（green）、黄（yellow）、赤（red）に対応しています。

表 9：本製品とRFC2698のtrTCM基準値名称対応表
本製品 | RFC2698
MAXBANDWIDTH | PIR (Peak Information Rate)
MINBANDWIDTH | CIR (Committed Information Rate)
MAXBURSTSIZE | PBS (Peak Burst Size)
MINBURSTSIZE | CBS (Committed Burst Size)

ツインレート・メーターは、次の判定基準にしたがってパケットを帯域クラスに分類します。

表 10：ツインレート・メーターの判定基準
帯域クラス | 帯域使用量 | 判定基準
1 | 少ない | バーストサイズ(MIN) <= MINBURSTSIZE
2 | 中程度 | バーストサイズ(MIN) > MINBURSTSIZE かつ バーストサイズ(MAX) <= MAXBURSTSIZE
3 | 使いすぎ | バーストサイズ(MAX) > MAXBURSTSIZE

ここでのバーストサイズ(MIN)とは、トラフィックの流入量がMINBANDWIDTHを超えた場合に、MINBANDWIDTH超過分としてバッファリングされたデータ量を示しています。トラフィック量がMINBANDWIDTH以下であれば、バーストサイズ(MIN)は0です。
同様に、バーストサイズ(MAX)とは、トラフィックの流入量がMAXBANDWIDTHを超えた場合に、MAXBANDWIDTH超過分としてバッファリングされたデータ量を示しています。トラフィック量がMAXBANDWIDTH以下であれば、バーストサイズ(MAX)は0です。
トラフィックが瞬間的にMINBANDWIDTHをオーバーしても、超過している時間が短ければ、バーストサイズ(MIN)はMINBURSTSIZE以内にとどまり、すべてのパケットが帯域クラス1として扱われることになります。
これに対し、MINBANDWIDTHをオーバーしている時間が長くなると、バーストサイズ(MIN)がMINBURSTSIZEを超えることがあります。この場合、MINBURSTSIZEを超えてバッファリングされたパケットには、帯域クラス2が割り当てられます。
さらにトラフィックが増えると、今度は帯域使用量がMAXBANDWIDTHを超過することがありますが、その時間が長引きバーストサイズ(MAX)がMAXBURSTSIZEを超えると、超過分のパケットには帯域クラス3が割り当てられます。
■ ツインレート・メーターを作成するには、CREATE SQOS METERコマンドのTYPEパラメーターにtrTCMを指定し、MAXBANDWIDTH（PIR）、MAXBURSTSIZE（PBS）、MINBANDWIDTH（CIR）、MINBURSTSIZE（CBS）の4つのパラメーターを指定します。このとき、MINBURSTSIZEとMAXBURSTSIZEの両方を1以上の値に設定する必要があります。また、RFC2698では、MINBURSTSIZEとMAXBURSTSIZEの両方を、予期される最大パケットサイズ以上に設定することを推奨しています。
■ メーターの作成時にIGNOREBWCLASS=YESを指定すると、すでにパケットに帯域クラスが割り当てられていた場合に、これを無視させることができます（Color-blind）。この場合、純粋に帯域使用量の計測結果に基づいて新たな帯域クラスを割り当てます。一方、IGNOREBWCLASS=NO（デフォルト）を指定したときは、すでに割り当てられた帯域クラスを基準として、同じクラスかそれよりも適合性の低いクラスにだけ分類します（Color-aware）。

表 11：IGNOREBWCLASSパラメーターの効果
元の帯域クラス | メータリングの結果割り当てられうる帯域クラス
YES (color-blind)時 | NO (color-aware)時
1 | 1, 2, 3 | 1, 2, 3
2 | 1, 2, 3 | 2, 3
3 | 1, 2, 3 | 3

#### 帯域クラス3に対する処理

帯域クラス3（使いすぎ）に分類されたパケットに対しては、トラフィッククラス（CREATE SQOS TRAFFICCLASSコマンド）、QoSポリシー（CREATE SQOS POLICYコマンド）のBWCLASS3ACTIONパラメーターで「破棄」「出力一時停止」の指定が可能です。
■ BWCLASS3ACTION=DROPを指定すると、帯域クラス3（使いすぎ）に分類されたパケットをキューへの格納前に破棄することができます。

`CREATE SQOS POLICY=1 BWCLASS3ACTION=DROP ↓
`

■ BWCLASS3ACTION=PAUSEを指定すると、帯域クラス3に分類されたパケットの送信を一時的に停止することができます。送信停止時間はPAUSETIMEパラメーターで変更できます。また、PAUSEACTIONパラメーターの指定によって、送信停止時にログを記録したり、SNMPトラップを送信したりすることもできます。

`CREATE SQOS POLICY=2 BWCLASS3ACTION=PAUSE PAUSEACTION=LOG ↓
`

■ BWCLASS3ACTION=NONE（デフォルト）の場合、帯域クラス3のパケットはすぐには破棄されませんが、REDカーブセットの設定によって輻輳時に優先的に破棄したり、リマーキング時に特別なマークを付け次ホップのルーターに通知したりすることが可能です。

キューへの格納

本製品のQoS機能では、末端のトラフィッククラスごとにキューが用意されます。
キューが混雑している場合の動作には次の2つがあります。デフォルトはREDなしです。

- キュー長が限界に達した場合、超過分のパケットを破棄する（REDなし）。
- キュー長が限界に達する前に、パケットを徐々に破棄してゆく（REDあり）。

また、REDなしの場合は、破棄順序として次の2つがあります。デフォルトはTail-dropです。

- キューの末尾（新しいパケット）から破棄する（Tail-drop）
- キューの先頭（古いパケット）から破棄する（Head-drop）

#### 輻輳制御（RED）

通常は、キューの長さがあらかじめ設定された最大値を超えた場合に超過分のパケットを破棄します。
これに対し、RED（Random Early Detection/Discard）は、キュー長が上限に達する前にパケットを徐々に破棄していくことで、キューの枯渇を予防したり、トランスポート層の輻輳回避メカニズムを有効に機能させたりするためのアルゴリズムです。REDを使用すれば、より細やかな帯域制御を実現できます。

> Note - REDアルゴリズムは流量制御や輻輳回避の機能を持つTCPトラフィックに対してもっとも効果を発揮します。UDPのように輻輳制御機能を持たないプロトコルに対しては効果がありませんのでご注意ください。

REDアルゴリズムの設定は、平均キュー長とパケット破棄率の関係を示す「REDカーブ」を定義し、これをスイッチポートに割り当てることによって行います。
REDカーブは以下のパラメーターによって定義します。

- START：パケットを破棄し始めるポイント
- STOP：パケットを完全に破棄するポイント
- DROP：平均キュー長がSTOPのときに破棄するパケットの割合

各パラメーターを図示すると次のようになります。平均キュー長がSTARTからSTOPの間にある場合、パケットは0からDROPの間の確率でランダムに破棄されます。パケットの破棄率は平均キュー長がSTOPに近づくにつれ高くなっていき、STOPのときDROPとなります。平均キュー長がSTOPを超えると、すべてのパケットが破棄されます。平均キュー長がSTART以下のときはパケットは破棄されません。

本製品では、各キュー（末端トラフィッククラス）における3つの帯域クラスのそれぞれに対して、REDカーブを個別に設定できます（帯域クラス3を最初に破棄、次に帯域クラス2、最後に帯域クラス1を破棄、といった設定が可能）。
これら3個のREDカーブを束ねたものを「REDカーブセット」と呼びます。実際には、キュー（末端トラフィッククラス）に「REDカーブセット」を割り当てます。

> Note - プレマーキングの設定を特に行っておらず、また、メータリングも実施しない場合、プレマーキングのデフォルト設定により、パケットはデフォルトの帯域クラス1として扱われます。

デフォルトでは、3つのREDカーブセット0〜2が定義されています。デフォルトのREDカーブセットを変更・削除することはできません。
■ REDカーブセットは、CREATE SQOS REDコマンドで作成します。ユーザー定義のREDカーブセットは61個まで作成可能です。

`CREATE SQOS RED=3 START1=35 STOP1=45 DROP1=40 START2=25 STOP2=35 DROP2=50 START3=15 STOP3=25 DROP3=60 ↓
`

■ REDカーブセットのパラメーター変更は、SET SQOS REDコマンドで行います。

`SET SQOS RED=3 START1=25 STOP1=35 DROP1=30 START2=15 STOP2=25 DROP2=40 START3=5 STOP3=15 DROP3=50 ↓
`

■ キュー（末端トラフィッククラス）にREDカーブセットを適用するには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのREDパラメーターを使います。これにより、該当トラフィッククラスのパケットをキューに格納するとき（格納する前に）、指定したREDカーブセットの設定に基づいてREDアルゴリズムが適用されます。

`CREATE SQOS TRAFFICCLASS=1 RED=3 ↓
`

#### キューの設定

キューの設定は末端トラフィッククラスで行います。
■ 最大キュー長は、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのMAXQLENパラメーターで指定します。

`SET SQOS TRAFFICCLASS=2 MAXQLEN=128 ↓
`

■ キュー長があらかじめ設定された最大値を超えた場合は、超過分のパケットを破棄します。各キュー（末端トラフィッククラス）では、キューの末尾から（新しいほうから）パケットを破棄するか（Tail-drop）、キューの先頭から（古いほうから）パケットを破棄するか（Head-drop）を選択可能です。
デフォルトの設定では、すべての末端トラフィッククラスでTail-dropが使用されます。Head-dropはリアルタイム性の高いトラフィックなどで有効な場合があります。
■ Tail-dropを使用するには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのQUEUEDROPパラメーターにTAIL（デフォルト）を指定します。これにより、該当トラフィッククラスのキューが混雑しているとき、Tail-dropアルゴリズムが適用されます。

`CREATE SQOS TRAFFICCLASS=2 QUEUEDROP=TAIL ↓
`

■ Head-dropを使用するには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのQUEUEDROPパラメーターにHEADを指定します。これにより、該当トラフィッククラスのキューが混雑しているとき、Head-dropアルゴリズムが適用されます。

`CREATE SQOS TRAFFICCLASS=2 QUEUEDROP=HEAD ↓
`

■ 最大キュー長を超過したときに、ログメッセージを残したり、SNMPトラップで通知したりすることもできます。これには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのQLIMITEXCEEDACTIONパラメーターを使います。

`SET SQOS TRAFFICCLASS=2 QLIMITEXCEEDACTION=LOG ↓
`

キューからの取り出し

キューに格納されたパケットをどのような順序で出力するかは、各トラフィッククラスに設定された優先度（PRIORITY）または重み付け値（WEIGHT）によって決まります。
キューからの取り出しは、おおまかに次の流れで行われます。

1. インターフェース（またはトンネル）がQoSポリシーに対してパケットを要求する。
2. QoSポリシーは、配下のトラフィッククラス（システム、ルート、デフォルト）のどれかにパケットを要求する。どのトラフィッククラスに要求するかは、3つのクラスの重み付け値（WEIGHT）をもとに、重み付きラウンドロビン（WRR/DWRR）アルゴリズムを適用して決定する。
3. トラフィッククラスは、自身が末端トラフィッククラスであればキューからパケットを取り出し、QoSポリシーに引き渡す。中間トラフィッククラスの場合は、子クラスのどれかにパケットを要求する。どの子クラスに要求するかは、各子クラスに設定された優先度（PRIORITY）や重み付け値（WEIGHT）をもとに、絶対優先方式（PQ）か重み付きラウンドロビン（WRR/DWRR）アルゴリズムを適用して決定する。
4. 末端トラフィッククラスに到達するまで手順3を繰り返す。

次に、キューからの取り出しを中心にしたQoS処理の流れ図を示します。

#### 暗黙トラフィッククラス間の優先制御

QoSポリシー直下にある暗黙のトラフィッククラス（システム、ルート、デフォルト）間では、重み付きラウンドロビン（WRR/DWRR）アルゴリズムによって出力順序が決定されます。デフォルトでは、3つのトラフィッククラスには次のような重み付けがなされています。

- システム = 20
- ルート = 80 (= 100 - 20 - 0)
- デフォルト = 0

これにより、輻輳状態であっても、システムトラフィッククラスには全帯域の約20%が、ルートトラフィッククラス（と配下のユーザー定義トラフィッククラス全体）には約80%が確保されます。

> Note - WRR（Weighted Round Robin）では重み付け値をパケット単位でしか考えないため、パケットサイズの大きなトラフィックは、重み付け値の比率以上の帯域を消費する可能性があります。一方、改良型のDWRR（Deficit Weighted Round Robin）ではパケットサイズを考慮するため、重み付け値の比率がより実際の帯域配分比率に近くなります。

一方、輻輳時、重み付け値が0のデフォルトトラフィッククラスからはパケットが出力されません。デフォルトトラフィッククラスからパケットが出力されるのは、システム、ルートの両トラフィッククラスに送信すべきパケットがないときだけとなります。
■ システムトラフィッククラスの重み付け値は、QoSポリシーのSYSTEMTRAFFICパラメーターで変更できます（CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンド）。有効範囲は5〜50です。

`CREATE SQOS POLICY=1 SYSTEMTRAFFIC=30 ↓
`

■ ルートトラフィッククラスの重み付け値は、直接変更することはできませんが、システムトラフィッククラス、デフォルトトラフィッククラスの重み付け値を変更することにより、間接的に変更可能です。ルートトラフィッククラスの重み付け値は、次の式で求めることができます。したがって、ルートトラフィッククラスの重み付け値の有効範囲は30〜95となります。

`100 - システムトラフィッククラスの重み付け値(5〜50) - デフォルトトラフィッククラスの重み付け値(0〜20)
`

■ デフォルトトラフィッククラスの重み付け値は、次の方法で変更できます。有効範囲は0〜20です。

1. 重み付けされたトラフィッククラスを作成します。デフォルトトラフィッククラスとして使用する場合、重み付け値の有効範囲は0〜20です。また、WEIGHTパラメーターを指定しないと優先度付き（デフォルト値 PRIORITY=1）のトラフィッククラスになるのでご注意ください。

   `CREATE SQOS TRAFFICCLASS=100 WEIGHT=5 DESCRIPTION="Custom default TC" ↓
   `
2. 作成したトラフィッククラスの番号を、QoSポリシーのDEFAULTTRAFFICCLASSパラメーターに指定します。

   `CREATE SQOS POLICY=1 DEFAULTTRAFFICCLASS=100 ↓
   `

#### ユーザー定義トラフィッククラス間の優先制御

ルートトラフィックの下に配置されるユーザー定義のトラフィッククラス間での出力順序は、トラフィッククラスのツリー構造と各種パラメーターによって決まります。

- 配下に優先度付きのトラフィッククラス（PRIORITYが設定されているもの）と重み付けされたトラフィッククラス（WEIGHTが設定されているもの）が混在しているときは、優先度付きのトラフィッククラスが重み付けされたトラフィッククラスよりも優先されます。
- 優先度付きのトラフィッククラスが複数あるときは、それらのクラス間で絶対優先方式（PQ）の優先制御が行われます。すなわち、優先度の高いトラフィッククラスに出力すべきパケットがある間、優先度の低いトラフィッククラスからはパケットが出力されません。
- 優先度付きのトラフィッククラスに出力すべきパケットがない場合、初めて重み付けされたトラフィッククラスからパケットが出力されます。
- 重み付けされたトラフィッククラスが複数あるときは、それらのクラス間で重み付きラウンドロビン（WRR/DWRR）による優先制御が行われます。すなわち、各トラフィッククラスの重み付け値（WEIGHT）の比率にしたがって、パケットが出力されます。
- 重み付け値が0のトラフィッククラスは、もっとも優先度が低いトラフィッククラスです。WEIGHT=0のトラフィッククラスからパケットが出力されるのは、その他のトラフィッククラスに出力すべきパケットがないときだけです。

ここでは、ルートトラフィッククラスの直下に次のようなトラフィッククラスツリーがあるものと想定して説明します。3つのトラフィッククラスには、それぞれ次のような優先度、重み付け値が設定されています。

- トラフィッククラス1: PRIORITY=15
- トラフィッククラス2: WEIGHT=70
- トラフィッククラス3: WEIGHT=30

ルートトラフィッククラスに出力順がまわってきたとき、配下のトラフィッククラス1、2、3のいずれかからパケットが出力されます。この例では、次のような順序になります。

- トラフィッククラス1のキューにパケットがあるときは、トラフィッククラス1から出力する。
- トラフィッククラス1のキューが空のときは、トラフィッククラス2、3からパケットを出力する。このとき、重み付け値の比率70:30にしたがい交互にパケットを出力する。

■ 他よりも優先的に送信したいトラフィッククラスには、優先度（PRIORITY）を設定して絶対優先方式（PQ）で送信されるよう設定します。遅延やゆらぎに弱いトラフィッククラスには、高い優先度を設定してください。優先度の有効範囲は0〜15です（15が最優先）。

`CREATE SQOS TRAFFICCLASS=1 PRIORITY=15 DESCRIPTION="Top priority" ↓
CREATE SQOS TRAFFICCLASS=2 PRIORITY=14 DESCRIPTION="Second priority" ↓
`

■ すべてのトラフィッククラスに優先度を設定した場合、ユーザー定義トラフィッククラス間では絶対優先方式（PQ）の優先制御が行われます。ただし、同じ優先度を持つトラフィッククラス間ではラウンドロビンされます。また、暗黙のトラフィッククラス（システム、ルート、デフォルト）間では重み付きラウンドロビン（WRRかDWRR）による優先制御が行われます。
■ 絶対優先方式（PQ）ではなく一定の比率で各トラフィッククラスから順番に出力（ラウンドロビン）したい場合は、各トラフィッククラスに重み付け値（WEIGHT）を設定します。たとえば、次のように設定した場合、

`SET SQOS TRAFFICCLASS=1 WEIGHT=60 ↓
SET SQOS TRAFFICCLASS=2 WEIGHT=30 ↓
SET SQOS TRAFFICCLASS=3 WEIGHT=12 ↓
SET SQOS TRAFFICCLASS=4 WEIGHT=6 ↓
`

トラフィッククラス1、2、3、4からは、60:30:12:6、すなわち、10:5:2:1の比率でパケットが順番に出力されます。

> Note - 暗黙のトラフィッククラス（システム、ルート、デフォルト）はWEIGHTの合計が100になっていますが、ユーザー定義のトラフィッククラスの場合、WEIGHTの合計は100でなくてもかまいません。

■ 重み付きラウンドロビンのアルゴリズムにWRR/DWRRのどちらを使用するかは、上位のトラフィッククラス（CREATE SQOS TRAFFICCLASSコマンド）またはQoSポリシー（CREATE SQOS POLICYコマンド）のWEIGHTSCHEDULERパラメーターで指定します。デフォルトはWRRです。

`CREATE SQOS POLICY=1 WEIGHTSCHEDULER=DWRR ↓
`

> Note - WRR（Weighted Round Robin）では重み付け値をパケット単位でしか考えないため、パケットサイズの大きなトラフィックは、重み付け値の比率以上の帯域を消費する可能性があります。一方、改良型のDWRR（Deficit Weighted Round Robin）ではパケットサイズを考慮するため、重み付け値の比率がより実際の帯域配分比率に近くなります。

■ 絶対優先方式（PQ）と重み付きラウンドロビン（WRR/DWRR）を併用することも可能です。優先度（PRIORITY）を指定したトラフィッククラス間では絶対優先方式（PQ）、重み付け値（WEIGHT）を指定したトラフィッククラス間では重み付きラウンドロビン（WRR/DWRR）が使用されます。なお、前述のとおり、優先度付きのトラフィッククラスは、重み付けされたトラフィッククラスよりも優先的に出力されます。

`SET SQOS TRAFFICCLASS=1 PRIORITY=15 ↓
SET SQOS TRAFFICCLASS=2 PRIORITY=14 ↓
SET SQOS TRAFFICCLASS=3 WEIGHT=12 ↓
SET SQOS TRAFFICCLASS=4 WEIGHT=6 ↓
`

この例では、トラフィッククラス1、2を絶対優先方式（PQ）で出力し、その後（トラフィッククラス1、2に出力すべきパケットがない場合）トラフィッククラス3、4から、12:6、すなわち、2:1の比率でパケットが順番に出力されます。
■ 重み付けされた下位トラフィッククラス間の優先制御方式（WRR/DWRR）、各トラフィッククラスの優先度、重み付け値は、SHOW SQOS POLICYコマンド、SHOW SQOS TRAFFICCLASSコマンドで確認できます。「Weight Scheduler」、「Weight」、「Priority」欄をご覧ください。

`SHOW SQOS POLICY=1 ↓
SHOW SQOS TRAFFICCLASS=1 ↓
`

■ SHOW SQOS POLICYコマンドにTREEパラメーターを付けると、QoSポリシー、トラフィッククラスの階層構造を、優先制御の方式や優先度、重み付け値とともに一覧できます。

`SHOW SQOS POLICY TREE ↓
`

リマーキング

リマーキング（remark）は、キューから取り出され、上位の要素に渡される前のパケットに対して行われるQoS処理です。プレマーキングと異なり、リマーキングはすべてのトラフィッククラスとQoSポリシーで実施できます。
リマーキングでは、プレマーキングと同じように、DSCP値と帯域クラスの変更を行うことができます。また、802.1pユーザープライオリティー値を書き換えることもできます。この機能は、おもに次の用途を想定しています。

- メータリング結果（帯域クラス）をDSCP値、802.1pユーザープライオリティー値にエンコードし、次ホップの機器に通知する
- メータリング結果（帯域クラス）を上位のトラフィッククラスやQoSポリシーに伝える。

DSCP値の書き換えには2つの方法があります。

- トラフィッククラス、QoSポリシーのすべてのパケットに同じDSCP値を割り当てる
- リマーキング用DSCPMAPテーブルを参照し、パケットが元々持っていたDSCP値にしたがって、新しいDSCP値を割り当てる

帯域クラスの書き換えについては、リマーキング用DSCPMAPテーブルのみを使用できます。
802.1pユーザープライオリティー値については、トラフィッククラス、QoSポリシーのすべてのパケットに同じ値を割り当てる方法のみを使用できます。
リマーキングの設定は、トラフィッククラス、QoSポリシー単位で行います。
■ リマーキングの設定をするには、CREATE SQOS TRAFFICCLASSコマンド、CREATE SQOS POLICYコマンドのREMARKING、REMARKVLANPRIパラメーターを使います。REMARKINGはDSCP値と帯域クラスの書き換えに関する設定、REMARKVLANPRIは802.1pユーザープライオリティー値の書き換えに関する設定です。
■ REMARKINGに0〜63の数値を指定した場合、トラフィッククラス、QoSポリシーの全パケットに指定した値のDSCP値が書き込まれます。たとえば、トラフィッククラス「10」のすべてのパケットにDSCP値31を書き込むには次のようにします。

`CREATE SQOS TRAFFICCLASS=10 REMARKING=31 ↓
`

■ REMARKINGにキーワードUSEDSCPMAPを指定した場合は、パケットのDSCP値と帯域クラスをインデックスとしてリマーキング用DSCPMAPテーブルを参照し、結果として得られたDSCP値と帯域クラスをパケットに割り当てます。
DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成（CREATE SQOS DSCPMAPコマンド）・編集（SET SQOS DSCPMAPコマンド）し、QoSポリシー作成時（または作成後）にDSCPMAPの番号を指定しておいてください（CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター）。
たとえば、リマーキング用DSCPMAPテーブルを使用して、DSCP値0〜31で帯域クラス3のパケットはDSCP値を61に書き換え、DSCP値32〜63で帯域クラス3のパケットはDSCP値を62に書き換えるには、次のようにします。

`CREATE SQOS DSCPMAP=40 ↓
SET SQOS DSCPMAP=40 TABLE=REMARK DSCP=0-31 BWCLASS=3 NEWDSCP=61 ↓
SET SQOS DSCPMAP=40 TABLE=REMARK DSCP=32-63 BWCLASS=3 NEWDSCP=62 ↓
CREATE SQOS POLICY=25 DSCPMAP=40 ↓
CREATE SQOS TRAFFICCLASS=30 REMARKING=USEDSCPMAP ↓
ADD SQOS POLICY=25 TRAFFICCLASS=30 ↓
`

■ DSCPMAPはCREATE SQOS DSCPMAPコマンドで作成し、SET SQOS DSCPMAPコマンドで編集します。

`CREATE SQOS DSCPMAP=0 ↓
`

リマーキング用DSCPMAPテーブルは、DSCP値と帯域クラスをインデックスとする書き換え対応表で、各エントリーには書き換え後のDSCP値と帯域クラスが格納されています。
DSCPMAPを作成した直後、プレマーキング用テーブルはすべてのDSCP値を帯域クラス1にマップする設定（DSCP値は書き換えない）、リマーキング用テーブルはDSCP値も帯域クラスも一切変更しない設定になっています。DSCPMAPの内容を編集するには、SET SQOS DSCPMAPコマンドを使います。
■ リマーキング用DSCPMAPテーブルの編集は、SET SQOS DSCPMAPコマンドで行います。たとえば、DSCP値が61、帯域クラスが3のパケットに対して、新しいDSCP値1、帯域クラス2を割り当てるには、つぎのようにします。

`SET SQOS DSCPMAP=0 TABLE=REMARK DSCP=61 BWCLASS=3 NEWDSCP=1 NEWBWCLASS=2 ↓
`

■ REMARKVLANPRIに0〜7の数値を指定した場合、トラフィッククラス、QoSポリシーの全パケットに指定した値の802.1pユーザープライオリティー値が書き込まれます。たとえば、トラフィッククラス「10」のすべてのパケットに802.1pユーザープライオリティー値7を書き込むには次のようにします。

`CREATE SQOS TRAFFICCLASS=10 REMARKVLANPRI=7 ↓
`

■ リマーキングの設定内容は、SHOW SQOS TRAFFICCLASSコマンド、SHOW SQOS POLICYコマンドで確認できます。

`SHOW SQOS TRAFFICCLASS=1 ↓
SHOW SQOS POLICY=1 ↓
`

■ DSCPMAPの設定内容は、SHOW SQOS DSCPMAPコマンドで確認できます。

`SHOW SQOS DSCPMAP ↓
SHOW SQOS DSCPMAP=0 ↓
`

仮想帯域

トラフィッククラスとQoSポリシーでは、仮想帯域（virtual bandwidth）を設定することができます。これにより、トラフィッククラスやQoSポリシーを通過するトラフィックの帯域を指定値までに絞り込むことができます。
仮想帯域はトラフィッククラスとQoSポリシーに設定することができます。QoS処理されるパケットは、最終的に必ずQoSポリシーを通過するため、トラフィッククラスの仮想帯域がQoSポリシーの仮想帯域よりも大きくても、最終的にはQoSポリシーの仮想帯域を超えることはありません。
■ 仮想帯域の設定は、CREATE SQOS TRAFFICCLASSコマンド、CREATE SQOS POLICYコマンドのVIRTBWパラメーターで行います。たとえば、QoSポリシー「1」の仮想帯域を10Mbpsまでに制限するには、次のようにします。

`CREATE SQOS POLICY=1 VIRTBW=10M ↓
`

(C) 2005-2012 アライドテレシスホールディングス株式会社

PN: J613-M0710-03 Rev.H